Hello Kawashima-san, kawashima_james wrote on Sun, Jan 13, 2019 at 01:43:42PM +0900:
> indeed hyphens were OK, my programs are actually using underscores. > Patch seems fine to me, thank you very much. Thank you very much for reporting and testing! I committed the patch and also updated the documentation, see below. > (I do not know how to submit patches so let me let competent people > do it to not waste time) It is perfectly understood that many people are very short on time, and reporting issues in such a clear way is appreciated even without included patches. Then again, in case you ever *want* to learn submitting patches, it will no longer be hard for you. It appears you are already able to do the hardest part: testing patches. Once you know that, the rest is no longer difficult: $ cd # to the source directory in question $ cvs up -dP $ vi # the file in question as needed $ ... # compile and test thoroughly $ cvs up -dP # again $ cvs diff -Nup > tmp.patch and then include the patch verbatim into the mail body, for example with the vi(1) :r command, *not* pasting it with a mouse. Yours, Ingo CVSROOT: /cvs Module name: src Changes by: [email protected] 2019/01/13 03:42:51 Modified files: usr.sbin/syslogd: syslogd.c Log message: When parsing log lines in order to select syslog.conf(5) line blocks, support program names containing period ('.') and underscore ('_') ASCII characters. Missing feature reported by and patch tested by Kawashima underscore James at yahoo dot co dot jp. "Makes sense." deraadt@ >> Index: syslogd.c >> =================================================================== >> RCS file: /cvs/src/usr.sbin/syslogd/syslogd.c,v >> retrieving revision 1.257 >> diff -u -p -r1.257 syslogd.c >> --- syslogd.c 29 Nov 2018 21:10:51 -0000 1.257 >> +++ syslogd.c 12 Jan 2019 17:35:14 -0000 >> @@ -1796,7 +1796,8 @@ logline(int pri, int flags, char *from, >> msglen--; >> } >> for (i = 0; i < NAME_MAX; i++) { >> - if (!isalnum((unsigned char)msg[i]) && msg[i] != '-') >> + if (!isalnum((unsigned char)msg[i]) && >> + msg[i] != '-' && msg[i] != '.' && msg[i] != '_') >> break; >> prog[i] = msg[i]; >> } CVSROOT: /cvs Module name: src Changes by: [email protected] 2019/01/13 04:07:47 Modified files: usr.sbin/syslogd: syslog.conf.5 Log message: document how program names are extracted from log lines in order to select syslog.conf(5) line blocks Index: syslog.conf.5 =================================================================== RCS file: /cvs/src/usr.sbin/syslogd/syslog.conf.5,v retrieving revision 1.38 diff -u -r1.38 syslog.conf.5 --- syslog.conf.5 23 Jul 2018 19:02:49 -0000 1.38 +++ syslog.conf.5 13 Jan 2019 11:03:33 -0000 @@ -158,6 +158,15 @@ the action specified in the .Em action field will be taken. +In this context, +.Xr ascii 7 +letters, digits, hyphens +.Pq Sq - , +periods +.Pq Sq \&. , +and underscores +.Pq Sq _ +can be contained in a word; other bytes end the word. .Pp Multiple .Em selectors
