Commit Briefs
clients certs support for CGI
internally, gmid doesn’t care if the client issued a certificate, but now we pass that information to the CGI script in some new environment variables.
fix bug introduced in last version regarding full URLs (tags/1.3.2)
gemini://example.com was incorrectly parsed.
[cgi] added support for path parameters
enhance the CGI scripting support so that script can take path parameters. That is, a script at /cgi/foo is called when the request path is /cgi/foo/bar/... This commit also introduce some backward incompatible changes as the default env variables set for the CGI script changed.
[cgi] execute cgi scripts only inside a specific directory
change the meaning of the -x flag: now it takes a string and executes CGI scripts only if they are inside a directory with the given name, relatively to the document root.
[debug] print number of connected clients on SIGINFO
or SIGUSR2 for poor peoples
handle CGI concurrently
don’t stop-the-world-until-cgi-end, but rather poll on the script, so we can handle other requests in the meantime.
ensure the requested protocol is “gemini”
…and not something else that happens to be 6-bytes long.