Commit Briefs

Omar Polo

don't have the config being a global


Omar Polo

rework the daemon to do fork+exec

It uses the 'common' proc.c from various OpenBSD-daemons. gmid grew organically bit by bit and it was also the first place where I tried to implement privsep. It wasn't done very well, in fact the parent process (that retains root privileges) just fork()s a generation of servers, all sharing *exactly* the same address space. No good! Now, we fork() and re-exec() ourselves, so that each process has a fresh address space. Some features (require client ca for example) are temporarly disabled, will be fixed in subsequent commits. The "ge" program is also temporarly disabled as it needs tweaks to do privsep too.


Omar Polo

rename PROC_MAX to PREFORK_MAX


Omar Polo

const-ify some tables

matches found with % grep -R '=[ ]*{' . | fgrep -v const


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

sync global variables



Omar Polo

parse_err is a const pointer


Omar Polo

fix puny-test build


Omar Polo

use starts_with in puny.c



Omar Polo

initial punycode support