Commit Briefs

Omar Polo

new README + wording in manpage



Omar Polo

switch to Bjoern Hoehrmann UTF-8 decoder

It's correct, while my hacked valid_multibyte_utf8 would allow things that aren't technically UTF8.


Omar Polo

reject %00


Omar Polo

IRI support

This extends the URI parser so it supports full IRI (Internationalized Resource Identifiers, RFC3987). Some areas of it can/may be improved, but here's a start. Note: we assume UTF-8 encoded IRI.


Omar Polo

mention the %2F caveat


Omar Polo

improve wording

"concurrently" means at the same time, which can be confusing when we say that it's single-threaded on a single process.


Omar Polo

logging reworked and daemonize by default

The -l option was removed: now it logs on syslog if -f (foreground) is not passed.


Omar Polo

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.


Omar Polo

make port number configurable


Omar Polo

[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.


Omar Polo

documentation improvements


Omar Polo

implementing CGI – NOT READY YET!

This is a first try at implementing CGI scripting. The idea is that, if CGI is explicitly enabled by the user, when a user requires an executable file instead of serving it to the client, that file will be executed and its output fed to the client. There are various pieces that are still lacking, the firsts that comes to mind are: - performance: the handle_cgi just loops ignoring the WANT_POLLIN/POLLOUT and blocking if the child process hasn’t outputted anything. - we don’t parse query variable (yet) - we need to set more variables in the child environment side question: it’s better to set the variables using setenv() or by providing an explicit environment? - document what environment the CGI script will get - improve the horrible unveil/pledge(cgi ? …) but now I can serve “hello-world”-tier script from gmid!


Omar Polo

added option to log to a file