Commits


print the header in the directory listing


simplify handle_cgi Now that I got rid of the enum+switch, adding more state is easier. Before, we used an hack to remember if we had read the CGI reply or not (c->code = -1). This introduces a new state, handle_cgi_reply that reads the CGI script reply, logs it, and only then switches to handle_cgi. handle_cgi itself is cleaner, now it only reads into c->sbuf and send what it had red. We even get, almost for free, the 42 error. If read exists with -1 or 0 from in handle_cgi_reply, we return a proper error to the client. We can extend this further in the future and also try to validate the CGI reply (for now we're only looking for a \n).


document the DFA


client state machine: function pointers instead of enum+switch


bring the CGI implementation in par with GLV-1.12556


invert the location precedence: first match wins It's how httpd(8) does it, and it allows us to call fnmatch less time


puny_decode: set an error string


punycode: refactoring use the correct term "label" instead of "component" when speaking about the parts of a hostname. Also, fix the sizes for max hostname and label.


delete unused constant


remove unused function


improve configuration parsing error


const-ify strings in struct location


use starts_with in puny.c


trim_req_iri: set error string


drop the daemon config in favour of the -f flag Now it daemonize by default when running with a config, unless the -f flag is given.