Date: Wed, 22 Nov 2017 21:20:26 +0000 (UTC) From: Gleb Smirnoff <glebius@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r326103 - stable/11/usr.sbin/syslogd Message-ID: <201711222120.vAMLKQil003113@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: glebius Date: Wed Nov 22 21:20:26 2017 New Revision: 326103 URL: https://svnweb.freebsd.org/changeset/base/326103 Log: MFC r325558: When parsing UDP messages skip optional hostname as described by RFC 3164. PR: 200933 Submitted by: maxim Reported by: Konstantin Pavlov <thresh nginx.com> Modified: stable/11/usr.sbin/syslogd/syslogd.c Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.sbin/syslogd/syslogd.c ============================================================================== --- stable/11/usr.sbin/syslogd/syslogd.c Wed Nov 22 20:27:46 2017 (r326102) +++ stable/11/usr.sbin/syslogd/syslogd.c Wed Nov 22 21:20:26 2017 (r326103) @@ -972,7 +972,7 @@ static void logmsg(int pri, const char *msg, const char *from, int flags) { struct filed *f; - int i, fac, msglen, omask, prilev; + int i, j, fac, msglen, omask, prilev; const char *timestamp; char prog[NAME_MAX+1]; char buf[MAXLINE+1]; @@ -1018,6 +1018,19 @@ logmsg(int pri, const char *msg, const char *from, int } 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++) {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201711222120.vAMLKQil003113>