Commit Graph

14 Commits

Author SHA1 Message Date
Omar Polo 618b1d4dce resurrect openlog() + tzset() in the logger
They're not needed on OpenBSD nor in other systems... except under
sandbox.  These were added for capsicum() if I remember correctly,
but also with landlock it's better to initialize these things
earlier.
2023-08-23 20:30:39 +00:00
Omar Polo 9abba172b6 add `log syslog facility' to use a different syslog(3) facility
Was requested ages ago by Karl Jeacle, now that there is some better
support for configuring the logging there's no excuse to add this.
It helps with filtering from syslog.d / syslog.conf.
2023-08-07 09:34:19 +00:00
Omar Polo 46bcc4ea95 add log syslog off; don't turn syslog off when log access is specified 2023-07-26 08:10:12 +00:00
Omar Polo cba01a8687 rename IMSG_LOG_TYPE to ACCESS 2023-07-26 07:55:51 +00:00
Omar Polo e075021085 still respect `log' when in debug mode 2023-07-24 14:07:28 +00:00
Omar Polo 3826d7de43 logger use dprintf and a fd instead of a FILE
simplifies further handling.  The stdio layer introduces its own
buffering and for the logs I'd like to avoid it.  fflush(3) is an
option, but using a raw fd and dprintf(2) requires less code.
2023-07-24 08:37:39 +00:00
Omar Polo eac9287d29 copyright years++ 2023-06-24 10:07:17 +00:00
Omar Polo 8eeb992206 less logger.h 2023-06-08 19:30:10 +00:00
Omar Polo 47b0ff105a move log_request to gmid.c
so that ge can provide its own log_request without requiring a
separate logger process.
2023-06-08 16:16:14 +00:00
Omar Polo c26f2460e4 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.
2023-06-08 13:59:31 +00:00
Omar Polo bc525c73db fix asprintf failure check 2023-06-06 11:48:02 +00:00
Omar Polo eae52ad493 switch to the more usual log.c 2023-06-06 11:46:40 +00:00
Omar Polo 58fae4ea90 use memchr instead of rolling a custom one 2023-06-06 10:46:44 +00:00
Omar Polo 281a8852b3 rename log.[ch] to logger.[ch] 2023-06-06 08:50:54 +00:00