Created attachment 159681 [details]
newsyslog.c patch to skip directories for includes
If a directory exists under /etc/newsyslog.conf.d/ or /usr/local/etc/newsyslog.conf.d/, newsyslog tries to parse the directory as a file:
# grep include /etc/newsyslog.conf
# rotated, then the entry for that file should include the 'N' flag.
# ls -al /etc/newsyslog.conf.d/
drwxr-xr-x 3 root wheel 512 Aug 8 18:05 .
drwxr-xr-x 25 root wheel 2560 Aug 8 10:42 ..
drwxr-xr-x 2 root wheel 512 Aug 7 23:44 CVS
-rw-r--r-- 1 root wheel 190 Aug 7 20:01 local.conf
newsyslog: malformed line (missing fields):
The attached patch skips directories when including files.
If for some reason, this change isn't desirable, a workaround is to change the default /etc/newsyslog.conf to only include configuration files instead of all files by replacing:
This was fixed:
Revision 340318 - (view) (download) (annotate) - [select for diffs]
Modified Sat Nov 10 10:46:38 2018 UTC (20 months, 3 weeks ago) by woodsb02
File length: 1664 byte(s)
Diff to previous 340253
newsyslog.conf: Restrict included files in default config to [!.]*.conf
The new default config will only include files from the following
directories which end with '.conf' and do not beginning with a '.'
This matches the syslog.conf(5) functionality, and also prevents '.sample' or
'.pkgnew' files being included. This is important for ports which install files
in /usr/local/etc/newsyslog.conf.d/ and also for pkgbase.
Approved by: eadler
Approved by: bapt
Differential Revision: https://reviews.freebsd.org/D17086