Commits


make more explicit the per-location roots test


ensure %p (path) is always absolute with the recent changes, sometimes the path may not start with a '/'. This ensures that %s is ALWAYS an absolute path.


allow ``root'' rule to be specified per-location block


handle CGI scripts that replies with the maximum header length allowed the 1024 bytes limits is for the META only, not for the whole response. That means that the maximum size for the header line is 1029!


kill only $pid during regress testing before we did `pkill gmid', but that would influence also other instances of gmid!


echo parsing test result


fix "first location" bug reported by devel at datenbrei dot de. The first location would overwrite the default value for a server, triggering the "`foo' rule specified more than once" error. This also needed a small tweak on how we match locations to avoid breaking other tests.


add `require client ca' rule to require certs signed by a CA


[cgi] split the query in words if needed and add them to the argv


add the ``entrypoint'' option


restart the daemon instead of kill+start this way we can also test the reload capability!


added ``block return'' and ``strip'' options


cgi now follows globbing rules


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