Commit Briefs


Omar Polo

introduce IMSG_LOG_REQUEST



Omar Polo

initialize the logger early

Initialize the logger as soon as possible and log by default to stderr. With this, some (common?) errors are printed early instead of ending up in syslog. # NB: this is in configless mode % ./gmid -p 80 [2021-07-07 11:05:57] bind: Address already in use % ./gmid -p 81 [2021-07-07 11:13:53] bind: Permission denied %


Omar Polo

fmt


Omar Polo

kill unused variable

leftover from the handle_imsg_log -> do_log transition.


Omar Polo

allow sending fd to log on to the logger process

the logger process now can receive a file descriptor to write logs to. At the moment the logic is simple, if it receives a file it logs there, otherwise it logs to syslog. This will allow to log on custom log files.


Omar Polo

wait for logger after fatal()

With -f, when the main process exits after a fatal() (usually) the shell prompt is printed before the logger message. This adds a small poll to wait for the logger process to exit.


Omar Polo

fatal: send log to logger



Omar Polo

lower log priority for fatal errors from CRIT to ERR

found by Anna, thanks!



Omar Polo

move all sandbox-related code to sandbox.c

while there, add capsicum for the logger process


Omar Polo

refactoring: imsg everywhere

use imsg to handle ALL kinds of IPC in gmid. This simplifies and shorten the code, and makes everything more uniform too.


Omar Polo

fix out-of-bounds access

obviously msg[datalen] is an off-by-one