Commits


style


sandbox also on FreeBSD with capsicum


conf & vhosts * gmid.c (main): changed behaviour: daemon off by default (main): changed -c in -C (cert option) (main): changed -k in -K (key option, for consistency with -C) (main): added -c to load a configuration (main): certs, key and doc (-C -K and -d) doesn't have a default value anymore (handle_handshake): add vhosts support


track handshakes This alter the current state machine by adding S_HANDSHAKE as the initial state. There, we ensure we did the handshake and we check SNI. ATM we simply continue in S_OPEN, but later we can add virtual host checks there, and skip to S_INITIALIZING with an error state if the client is accessing a wrong host.


avoid __dead and return at the end of main


fix build on non-OpenBSD systems not every system has a __dead attribute for functions. This fixes the build on FreeBSD.


reject non-gemini protocols with 53


s/uri/iri since we accept IRIs


fix build


accept both ipv4 and ipv6


log also the port of the client


macro reordering and while there replace SAFE_SETENV with an inline function. LOG is more difficult to transform into an inline function, given the string concatenations it does. The other LOG* and FATAL macros are fine as they already are.


switch to Bjoern Hoehrmann UTF-8 decoder It's correct, while my hacked valid_multibyte_utf8 would allow things that aren't technically UTF8.


rename cgi_setpoll_on_* to cgi_poll_on_*


fixing prototype order