According to source code, UDP listening is set up also when forwarding
is activated (@<hostname> instruction in /etc/syslogd.conf).

I believe the following patch correctly deals with the issue by using
bind system call only when remote listening is enabled by
configuration and not when forwarding alone is enabled (which is
currently done in source code).

diff -u sysklogd-1.5.orig/syslogd.c sysklogd-1.5/syslogd.c
--- sysklogd-1.5.orig/syslogd.c 2010-10-29 13:17:33.000000000 +0000
+++ sysklogd-1.5/syslogd.c      2010-10-29 13:33:46.000000000 +0000
@@ -1315,10 +1315,12 @@
                close(fd);
                return -1;
        }
-       if (bind(fd, (struct sockaddr *) &sin, sizeof(sin)) < 0) {
-               logerror("bind, suspending inet");
-               close(fd);
-               return -1;
+       if ( AcceptRemote ) {
+               if (bind(fd, (struct sockaddr *) &sin, sizeof(sin)) < 0) {
+                       logerror("bind, suspending inet");
+                       close(fd);
+                       return -1;
+               }
        }
        return fd;
}

-- 
Nicolas



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to