Commit Briefs
don't call client_close() from fcgi/proxy bev handlers
We might end up calling client_close() from start_reply(), but that will free the fcgi/proxy bufferevent while they're still used on the stack. Instead, start_reply() only sets REQUEST_DONE and exits, returning the error eventually, so callers know when to stop.
provide a more usual fatal
fatal usually appends the error string. Add 'fatalx' that doesn't. Fix callers and move the prototypes to log.h
make the various strings in the config fixed-length
will help in future restructuring to have fixed-size objects.
const-ify some tables
matches found with % grep -R '=[ ]*{' . | fgrep -v const
allow using a custom hostname for SNI during proxying
add a `sni' option for the `proxy' block: the given name is used instead of the one extracted by the `relay-to' rule.
improve proxy error path
properly release everything when during client_close if the request was managed by a proxy.
proxy: allow multiple proxy blocks, matching options and validations
as a side effect the order of the content of a server block is relaxed: options, location or proxy blocks can be put in any order.