Commits


allow sending fd to log on to the logger process the logger process now can receive a file descriptor to write logs to. At the moment the logic is simple, if it receives a file it logs there, otherwise it logs to syslog. This will allow to log on custom log files.


free fastcgi param list


TAILQ_REMOVE env and aliases during config_free it's not technically required, since a couple of lines below we free whole host struct, and we don't have code that may use h->{env,aliases} afterwards, but it's nice not to have invalid pointers around. it may bite in the future.


fastcgi: a first implementation Not production-ready yet, but it's a start. This adds a third ``backend'' for gmid: until now there it served local files or CGI scripts, now FastCGI applications too. FastCGI is meant to be an improvement over CGI: instead of exec'ing a script for every request, it allows to open a single connection to an ``application'' and send the requests/receive the responses over that socket using a simple binary protocol. At the moment gmid supports three different methods of opening a fastcgi connection: - local unix sockets, with: fastcgi "/path/to/sock" - network sockets, with: fastcgi tcp "host" [port] port defaults to 9000 and can be either a string or a number - subprocess, with: fastcgi spawn "/path/to/program" the fastcgi protocol is done over the executed program stdin of these, the last is only for testing and may be removed in the future. P.S.: the fastcgi rule is per-location of course :)


move pidfile & cgi to global vars


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


added ``alias'' option to define hostname aliases for a server


pidfile support with `-P pidfile'


fix some logging - we can't use log_* or fatal() before logger_init - err -> errx if errno isn't involved


added ``env'' option to define environment vars for CGI scripts


keep verbosity level after config reload


typo


typo in comment


restore signal handlers before exec'ing CGI scripts


list instead of fixed-size array for vhosts and locations saves some bytes of memory and removes the limit on the maximum number of vhosts and location blocks.