Blame


1 3704b36b 2021-02-06 op #!/bin/sh
2 3704b36b 2021-02-06 op
3 2564edde 2021-02-07 op set -e
4 2564edde 2021-02-07 op
5 3704b36b 2021-02-06 op printf "20 text/plain; lang=en\r\n"
6 3704b36b 2021-02-06 op
7 3704b36b 2021-02-06 op cat <<EOF
8 3704b36b 2021-02-06 op The Common Gateway Interface for Gemini
9 3704b36b 2021-02-06 op
10 3704b36b 2021-02-06 op It really seems that the Common Gateway Interface (CGI, RFC-3875)
11 3704b36b 2021-02-06 op can be adapted for the Gemini protocol easily!
12 3704b36b 2021-02-06 op
13 3704b36b 2021-02-06 op This is a test page for the CGI implementation in gmid[0], a small
14 3704b36b 2021-02-06 op and secure Gemini server. When in doubt, I'm trying to follow the
15 3704b36b 2021-02-06 op GLV-1.12556[1] behaviour. Sean Conner provides a similar page at [2].
16 3704b36b 2021-02-06 op
17 3704b36b 2021-02-06 op
18 3704b36b 2021-02-06 op CGI Environment Variables
19 3704b36b 2021-02-06 op
20 3704b36b 2021-02-06 op <unspec> means "not set".
21 3704b36b 2021-02-06 op
22 3704b36b 2021-02-06 op EOF
23 3704b36b 2021-02-06 op
24 3704b36b 2021-02-06 op echo GATEWAY_INTERFACE=$GATEWAY_INTERFACE
25 3704b36b 2021-02-06 op echo GEMINI_DOCUMENT_ROOT=$GEMINI_DOCUMENT_ROOT
26 3704b36b 2021-02-06 op echo GEMINI_SCRIPT_FILENAME=$GEMINI_SCRIPT_FILENAME
27 3704b36b 2021-02-06 op echo GEMINI_URL=$GEMINI_URL
28 3704b36b 2021-02-06 op echo GEMINI_URL_PATH=$GEMINI_URL_PATH
29 3704b36b 2021-02-06 op echo PWD=$PWD
30 3704b36b 2021-02-06 op echo PATH_INFO=${PATH_INFO:-"<unspec>"}
31 3704b36b 2021-02-06 op echo PATH_TRANSLATED=${PATH_TRANSLATED:-"<unspec>"}
32 3704b36b 2021-02-06 op echo QUERY_STRING=$QUERY_STRING
33 4fbd4dcc 2022-11-29 op echo GEMINI_SEARCH_STRING=${GEMINI_SEARCH_STRING:-"<unspec>"}
34 3704b36b 2021-02-06 op echo REMOTE_ADDR=$REMOTE_ADDR
35 3704b36b 2021-02-06 op echo REMOTE_HOST=$REMOTE_HOST
36 3704b36b 2021-02-06 op echo REQUEST_METHOD=$REQUEST_METHOD
37 3704b36b 2021-02-06 op echo SCRIPT_NAME=$SCRIPT_NAME
38 3704b36b 2021-02-06 op echo SERVER_NAME=$SERVER_NAME
39 3704b36b 2021-02-06 op echo SERVER_PORT=$SERVER_PORT
40 3704b36b 2021-02-06 op echo SERVER_PROTOCOL=$SERVER_PROTOCOL
41 3704b36b 2021-02-06 op echo SERVER_SOFTWARE=$SERVER_SOFTWARE
42 3704b36b 2021-02-06 op echo AUTH_TYPE=$AUTH_TYPE
43 3704b36b 2021-02-06 op echo REMOTE_USER=$REMOTE_USER
44 3704b36b 2021-02-06 op echo TLS_CLIENT_ISSUER=$TLS_CLIENT_ISSUER
45 3704b36b 2021-02-06 op echo TLS_CLIENT_HASH=$TLS_CLIENT_HASH
46 b63e30ff 2021-02-07 op echo TLS_CLIENT_NOT_AFTER=$TLS_CLIENT_NOT_AFTER
47 b63e30ff 2021-02-07 op echo TLS_CLIENT_NOT_BEFORE=$TLS_CLIENT_NOT_BEFORE
48 3704b36b 2021-02-06 op echo
49 3704b36b 2021-02-06 op echo
50 3704b36b 2021-02-06 op echo " CGI Argument List"
51 3704b36b 2021-02-06 op echo
52 3704b36b 2021-02-06 op echo "- $0"
53 3704b36b 2021-02-06 op for i in "$@"; do
54 3704b36b 2021-02-06 op echo "- $i"
55 3704b36b 2021-02-06 op done
56 3704b36b 2021-02-06 op
57 3704b36b 2021-02-06 op cat <<EOF
58 3704b36b 2021-02-06 op
59 3704b36b 2021-02-06 op
60 3704b36b 2021-02-06 op notes
61 3704b36b 2021-02-06 op
62 3704b36b 2021-02-06 op [0]: https://github.com/omar-polo/gmid
63 3704b36b 2021-02-06 op [1]: https://github.com/spc476/GLV-1.12556
64 3704b36b 2021-02-06 op [2]: gemini://gemini.conman.org/cgi
65 3704b36b 2021-02-06 op EOF