change the type for read_pos



replace asserts with error returns


add a proxy-v1 keyword to enable the proxy protocol handling

add support for the proxy protocol v1 This allows to use proxies like nginx or haproxy in front of gmid and still have the correct information about the originating client. This will need explicit opt-in via the `proxy-v1' listen flag which will be added in a follow-up commit. Merges

shutting_down is no longer used, remove stale extern

yyerror is already defined (locally) in parse.y

remove from gmid.h functions that are used only in gemexp

change the approach for strnvis instead of making things more obscure via gmid_strnvis(), let's just check for strnvis with -Werror so we can swap the OS broken implementation with the bundled OpenBSD one.

attempt to deal with the portability fiasco of strnvis(3)

pretty-print the socket address at configuration parsing time saves a getnameinfo(NI_NUMERICHOST) at runtime, even if it's pretty cheap.

remove dead code

fix configtest with chroot The configtest checks try to open the root directories too, operation that can fail when they're expected to be inside a chroot.