Commits


rename do_accept() -> server_accept()


change log_request to take the code and meta unpacked don't know what i was smoking when I wrote log_request() like that...


change on fatalx -> log_warnx we already check the validity of the format string, but still avoid a gratious fatal() at runtime.


rename fmt_sbuf -> fmtbuf; make the buffer explicit


avoid needless strlen()


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


use snprintf() instead of chain of strlcpy/cat


call getnameinfo() only once per request


avoid gratious strlen; evbuffer_readln returns the length


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


copyright years++


remove unused global flag