From db623d7551caaed88664d4e7c379b231f89c6ca4 Mon Sep 17 00:00:00 2001 From: Omar Polo Date: Fri, 17 Sep 2021 16:17:16 +0000 Subject: fix syslog logging on FreeBSD Due to capsicum(4), opening the log on-demand via syslog(3) fails. openlog(LOG_NDELAY) forces the log to be opened immediately, before we enter capsicum. This doesn't affect OpenBSD (where pledge(2) doesn't stop syslog) nor linux (where the log process is not sandboxed.) Reported by Karl Jeacle, thank you! --- log.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'log.c') diff --git a/log.c b/log.c index 404d43f..81064e7 100644 --- a/log.c +++ b/log.c @@ -328,6 +328,8 @@ logger_main(int fd, struct imsgbuf *ibuf) { log = stderr; + openlog(getprogname(), LOG_NDELAY, LOG_DAEMON); + event_init(); event_set(&imsgev, fd, EV_READ | EV_PERSIST, &handle_dispatch_imsg, ibuf); @@ -337,5 +339,7 @@ logger_main(int fd, struct imsgbuf *ibuf) event_dispatch(); + closelog(); + return 0; } -- cgit v1.2.3