Date: Sun, 17 Jun 2018 19:27:25 +0200 From: Ed Schouten <ed@nuxi.nl> To: Michael Grimm <trashcan@ellael.org> Cc: FreeBSD-STABLE Mailing List <freebsd-stable@freebsd.org>, "ed@FreeBSD.org" <ed@freebsd.org> Subject: Re: syslogd became silent between 11.2-PRERELEASE r334874 and r335282 Message-ID: <CABh_MK=x7x=2RX52abzV4Vktk5Y55%2Bc5UB1uVY5OgWuq-QZwSg@mail.gmail.com> In-Reply-To: <D835142B-2ACC-4EEA-938F-FA760C82AFFC@ellael.org> References: <BDE2979C-728D-4B29-B105-03FFC9A31EF1@ellael.org> <D835142B-2ACC-4EEA-938F-FA760C82AFFC@ellael.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi Michael, 2018-06-17 17:52 GMT+02:00 Michael Grimm <trashcan@ellael.org>: > I do believe that this commit might be the cause: > https://svnweb.freebsd.org/base/stable/11/usr.sbin/syslogd/Makefile?revision=335059&view=markup&sortby=file Thanks for reporting this issue. I just did some debugging on my system and I think I was able to reproduce this issue. It seems as if I made a tiny mistake in how I implemented the RFC 5426 UDP message size limiting. Could you please give the following patch for syslogd a try? Index: usr.sbin/syslogd/syslogd.c =================================================================== --- usr.sbin/syslogd/syslogd.c (revision 334706) +++ usr.sbin/syslogd/syslogd.c (working copy) @@ -1613,8 +1613,8 @@ struct iovec *last; size_t diff; - while (size > il->totalsize) { - diff = size - il->totalsize; + while (il->totalsize > size) { + diff = il->totalsize - size; last = &il->iov[il->iovcnt - 1]; if (diff >= last->iov_len) { /* Remove the last iovec entirely. */ It should be sufficient to apply this to just the 'client' syslogd. There is no need to patch the central (storage) server. -- Ed Schouten <ed@nuxi.nl> Nuxi, 's-Hertogenbosch, the Netherlands
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CABh_MK=x7x=2RX52abzV4Vktk5Y55%2Bc5UB1uVY5OgWuq-QZwSg>