Commits


kamid: add `;' after SPLAY_GENERATE macro for consistency


kamid: include grp.h for setgroups on linux


endian.h is not universally available FreeBSD and NetBSD have sys/endian.h, on MacOS we need to use the functions from libkern/OSByteOrder.h see github issue #1


limit IMSG_BUF_CONT size by the maximum allowed by imsg


allow Twrite with size bigger than ~16K Until now I've been using a single imsg to handle each messages and the imsg framework has a limit of around 16K for message. For almost all requests, this is fine. Except for Twrite and Tread. This is an attempt to make Twrite handle bigger buffers. The listener process just looks at how big a request is and split it up in multiple messages and the client process tries to remember the fid, position and missing data to continue the write. This means that a single Twrite can be split up in multiple write(2)s.


drop unused function listen_by_id


kill unused variable


tweak debug call


drop unnecessary debugging log


add IMSG_CTL_DEBUG to debug the opened fid meant to be used from kamictl to dump all the opened fid by every connection.


listener: enable config reload


cache listener flags in struct client this saves us from the small chance that a client accepted before reconf uses the flags from a listener post reconf.


fix restart in listener drop connections in the handshake phase: the listener from where they've been accepted is now being replaced and its id is no more meaningful. Clients for which we have already sent an auth request are kept.


drop unused flag done for clients


remove clients from the splay at the start of close_conn