syslogd became silent between 11.2-PRERELEASE r334874 and r335282

Ed Schouten ed at nuxi.nl
Sun Jun 17 17:27:59 UTC 2018


Hi Michael,

2018-06-17 17:52 GMT+02:00 Michael Grimm <trashcan at 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 at nuxi.nl>
Nuxi, 's-Hertogenbosch, the Netherlands


More information about the freebsd-stable mailing list