svn commit: r325558 - head/usr.sbin/syslogd
Gleb Smirnoff
glebius at FreeBSD.org
Wed Nov 8 16:45:54 UTC 2017
Author: glebius
Date: Wed Nov 8 16:45:53 2017
New Revision: 325558
URL: https://svnweb.freebsd.org/changeset/base/325558
Log:
When parsing UDP messages skip optional hostname as described by
RFC 3164.
PR: 200933
Submitted by: maxim
Reported by: Konstantin Pavlov <thresh nginx.com>
MFC after: 2 weeks
Modified:
head/usr.sbin/syslogd/syslogd.c
Modified: head/usr.sbin/syslogd/syslogd.c
==============================================================================
--- head/usr.sbin/syslogd/syslogd.c Wed Nov 8 16:03:58 2017 (r325557)
+++ head/usr.sbin/syslogd/syslogd.c Wed Nov 8 16:45:53 2017 (r325558)
@@ -1034,7 +1034,7 @@ static void
logmsg(int pri, const char *msg, const char *from, int flags)
{
struct filed *f;
- int i, fac, msglen, prilev;
+ int i, j, fac, msglen, prilev;
const char *timestamp;
char prog[NAME_MAX+1];
char buf[MAXLINE+1];
@@ -1076,6 +1076,19 @@ logmsg(int pri, const char *msg, const char *from, int
return;
prilev = LOG_PRI(pri);
+
+ /* skip hostname, see RFC 3164 */
+ for (i = 0, j = 0; i < NAME_MAX; i++) {
+ if (isspace(msg[i])) {
+ j = i + 1;
+ }
+ if (msg[i] == ':')
+ break;
+ }
+ if (j <= msglen) {
+ msg += j;
+ msglen -= j;
+ }
/* extract program name */
for (i = 0; i < NAME_MAX; i++) {
More information about the svn-src-all
mailing list