Created attachment 202950 [details] patch backlistd uses a function pointer to call the appropriate syslog function in order to support output to stderr. The current code contains a single omission of this logic which is probably a glitch by the author: Index: blacklistd.c =================================================================== --- blacklistd.c (revision 344888) +++ blacklistd.c (working copy) @@ -328,7 +328,7 @@ if (dbi.id[0]) { run_change("rem", &c, dbi.id, 0); sockaddr_snprintf(buf, sizeof(buf), "%a", ss); - syslog(LOG_INFO, "released %s/%d:%d after %d seconds", + (*lfun)(LOG_INFO, "released %s/%d:%d after %d seconds", buf, c.c_lmask, c.c_port, c.c_duration); } state_del(state, &c);
Amusingly enough, I found this same exact problem, and have the same exact fix, while investigating another bug in blacklistd. The patch looks appropriate. I'll apply it (as I've already been running the same diff for over a week on my debugging machine). Thanks!
A commit references this bug: Author: lidl Date: Mon Mar 18 15:45:07 UTC 2019 New revision: 345276 URL: https://svnweb.freebsd.org/changeset/base/345276 Log: Fixup syslog() call that should have used logging function pointer PR: 236614 Submitted by: Helge Oldach <freebsd@oldach.net> Changes: head/contrib/blacklist/bin/blacklistd.c
Thanks Kurt Are stable/{12,11} affected by this warranting MFC?
(In reply to Kubilay Kocak from comment #3) Yes, definitely. Please MFC.