Commits


simplify request handling get rid of check_path(), it's overly complicated. Instead, inline open_file() in client_read() and rework open_dir() to just use openat() instead of the complicate dance it was doing. Simplify open_dir() too in the process: if the directory entry for the index is not a regular file, pretend it doesn't exist.


use a function-local buffer for the canonical redirect


remove the fcgi debug code


make `listen on' defaults on port 1965


use snprintf() instead of chain of strlcpy/cat


call getnameinfo() only once per request


avoid gratious strlen; evbuffer_readln returns the length


rework check


default chroot to user' home if unset


update changelog


plug memory leak in client_close_ev


fix client_close_ev when tls_close() returns TLS_WANT_POLLIN/OUT in those cases we need to reschedule the function and return, instead of going on with the cleanup.


properly handle handshake failures If a TLS handshake fails there's nothing we can do, so don't attempt to reply an error (the connected client is not speaking Gemini as it's not using TLS at all) and instead just close the connection. Fixes issue #13


update changelog


fix previous