iAdding CGI documentation. - geomyidae - A small C-based gopherd. Err bitreich.org 70 hgit clone git://bitreich.org/geomyidae/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/geomyidae/ URL:git://bitreich.org/geomyidae/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/geomyidae/ bitreich.org 70 1Log /scm/geomyidae/log.gph bitreich.org 70 1Files /scm/geomyidae/files.gph bitreich.org 70 1Refs /scm/geomyidae/refs.gph bitreich.org 70 1Tags /scm/geomyidae/tag bitreich.org 70 1README /scm/geomyidae/file/README.gph bitreich.org 70 1LICENSE /scm/geomyidae/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 1commit 7114924898ed83d3a4eb3f0a59f9047ed3877ba4 /scm/geomyidae/commit/7114924898ed83d3a4eb3f0a59f9047ed3877ba4.gph bitreich.org 70 1parent 6f4cbad45b4f91422cc14d1b843c754b234ffffe /scm/geomyidae/commit/6f4cbad45b4f91422cc14d1b843c754b234ffffe.gph bitreich.org 70 hAuthor: Christoph Lohmann <20h@r-36.net> URL:mailto:20h@r-36.net bitreich.org 70 iDate: Sat, 12 Mar 2011 21:00:36 +0100 Err bitreich.org 70 i Err bitreich.org 70 iAdding CGI documentation. Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i A CGI | 73 +++++++++++++++++++++++++++++++ Err bitreich.org 70 i M Makefile | 2 +- Err bitreich.org 70 i Err bitreich.org 70 i2 files changed, 74 insertions(+), 1 deletion(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/CGI b/CGI /scm/geomyidae/file/CGI.gph bitreich.org 70 i@@ -0,0 +1,73 @@ Err bitreich.org 70 i+INTRODUCTION Err bitreich.org 70 i+ Err bitreich.org 70 i+Geomyidae has support for running scripts on each request, which will generate Err bitreich.org 70 i+dynamic content. Err bitreich.org 70 i+ Err bitreich.org 70 i+There are two modes: standard cgi and dynamic cgi. Err bitreich.org 70 i+(»CGI« as name was just taken, because that's easier to compare to the web.) Err bitreich.org 70 i+ Err bitreich.org 70 i+ Err bitreich.org 70 i+PERMISSIONS Err bitreich.org 70 i+ Err bitreich.org 70 i+The scripts are run using the permissions of geomyidae. It is adived to use Err bitreich.org 70 i+the -g and -u option of gemoyidae. Err bitreich.org 70 i+ Err bitreich.org 70 i+ Err bitreich.org 70 i+BEFOREHAND Err bitreich.org 70 i+ Err bitreich.org 70 i+In these examples C: is what the client sends and S: what the server is Err bitreich.org 70 i+sending. Err bitreich.org 70 i+ Err bitreich.org 70 i+ Err bitreich.org 70 i+CALLING CONVENTION Err bitreich.org 70 i+ Err bitreich.org 70 i+ % $gopherroot/test.cgi $search $arguments Err bitreich.org 70 i+ Err bitreich.org 70 i+ C: /test.cgi Err bitreich.org 70 i+ -> $search = "" Err bitreich.org 70 i+ -> $arguments = server host Err bitreich.org 70 i+ Err bitreich.org 70 i+ C: /test.cgi searchterm (There is a Tab inbetween) Err bitreich.org 70 i+ -> $search = »searchterm« Err bitreich.org 70 i+ -> $arguments = server host Err bitreich.org 70 i+ Err bitreich.org 70 i+ C: /test.cgi?hello=world Err bitreich.org 70 i+ -> $search = "" Err bitreich.org 70 i+ -> $arguments = »hello=world« Err bitreich.org 70 i+ Err bitreich.org 70 i+ C: /test.cgi?hello=world searchterm (Beware! A Tab!) Err bitreich.org 70 i+ -> $search = »searchterm« Err bitreich.org 70 i+ -> $arguments = »hello=world« Err bitreich.org 70 i+ Err bitreich.org 70 i+The examples should be enough for understanding it. Err bitreich.org 70 i+ Err bitreich.org 70 i+ Err bitreich.org 70 i+STANDARD CGI Err bitreich.org 70 i+ Err bitreich.org 70 i+The file extension »cgi« switches to this mode, where the output of the Err bitreich.org 70 i+script is not interpreted at all by the server and the client needs to send Err bitreich.org 70 i+raw Gopher menus/files. Err bitreich.org 70 i+ Err bitreich.org 70 i+ % cat test.cgi Err bitreich.org 70 i+ #!/bin/sh Err bitreich.org 70 i+ echo "Hello my friend." Err bitreich.org 70 i+ % Err bitreich.org 70 i+ Err bitreich.org 70 i+ S: Hello my friend. Err bitreich.org 70 i+ Err bitreich.org 70 i+ Err bitreich.org 70 i+DYNAMIC CGI Err bitreich.org 70 i+ Err bitreich.org 70 i+For using dynamic CGI, the file needs to end in »dcgi«, which will switch on Err bitreich.org 70 i+the interpretation of the returned lines by the script. The interpreted for- Err bitreich.org 70 i+mat is the same as in the *.gph files. Err bitreich.org 70 i+ Err bitreich.org 70 i+ % cat test.dcgi Err bitreich.org 70 i+ #!/bin/sh Err bitreich.org 70 i+ echo "[1|Some link|/somewhere|server|port]" Err bitreich.org 70 i+ % Err bitreich.org 70 i+ Err bitreich.org 70 i+ S: 1Some link /somewhere gopher.r-36.net 70 Err bitreich.org 70 i+ Err bitreich.org 70 i+Have fun! Err bitreich.org 70 i+ Err bitreich.org 70 1diff --git a/Makefile b/Makefile /scm/geomyidae/file/Makefile.gph bitreich.org 70 i@@ -56,7 +56,7 @@ uninstall: Err bitreich.org 70 i dist: clean Err bitreich.org 70 i @echo creating dist tarball Err bitreich.org 70 i @mkdir -p ${NAME}-${VERSION} Err bitreich.org 70 i- @cp -R rc.d README LICENSE index.gph Makefile ${NAME}.8 \ Err bitreich.org 70 i+ @cp -R rc.d CGI README LICENSE index.gph Makefile ${NAME}.8 \ Err bitreich.org 70 i *.c *.h ${NAME}-${VERSION} Err bitreich.org 70 i @tar -cf ${NAME}-${VERSION}.tar ${NAME}-${VERSION} Err bitreich.org 70 i @gzip ${NAME}-${VERSION}.tar Err bitreich.org 70 .