[syslog-ng] problems after upgrading to v.2.3 linux kernel

Balazs Scheidler bazsi@balabit.hu
Thu, 3 Feb 2000 08:08:57 +0100


On Wed, Feb 02, 2000 at 04:54:20PM -0500, Brian Johnson wrote:
> I've been running syslog-ng on linux 2.2.14 for awhile, and it's been
> working fine, I just upgraded to 2.3.40 and not syslog-ng dies shortly
> after starting.  I'm running syslog-ng 1.3.13 (I was running 1.3.12 and
> that had the same problem).
> when I run syslog-ng -d -v I get this:
>   io.c: listening on fd 3
>   io.c: Preparing fd 4 for reading
>   syslog-ng version 1.3.13 starting
>   io.c: Preparing fd 5 for writing
>   io.c: Preparing fd 6 for writing
>   io.c: Preparing fd 7 for writing
>   Garbage collecting while idle...
>   Objects alive: 126, garbage collected: 0
>   io.c: Preparing fd 8 for reading
>   io.c: sockaddr2info(): Unsupported address family 18154.
>   Aborted
> 
> in my syslog-ng.conf file I have:
>   options { long_hostnames(on); sync(0); };
>   source src { unix-stream("/dev/log"); file("/proc/kmsg"); internal();
> };
> 
> and my destinations are all just various normal files...
> 
> is this a bug, or something I'm doing wrong?  this exact configuration
> did work fine with the linux 2.2.14 kernel...

This bug was fixed, though not yet applied to a released version. Here's the
patch to fix it. (you'll need to touch afinet.c.x and afunix.c.x after
applying this, if you have no scsh installed)

diff -urN syslog-ng-1.3.13/src/afinet.c syslog-ng-1.3.14/src/afinet.c
--- syslog-ng-1.3.13/src/afinet.c	Mon Jan  3 18:54:21 2000
+++ syslog-ng-1.3.14/src/afinet.c	Mon Jan 31 16:14:11 2000
@@ -66,13 +66,20 @@
 	CAST(afsocket_source_connection, self, c);
 	if (self->client_addr) {
 		CAST(inet_address_info, inet, self->client_addr);
-		
+
+		/* SOCK_STREAM */
 		notice("AF_INET client connected from %S, port %i\n", 
 		       inet->ip, inet->port);
+		io_read(self->client, 
+			make_log_reader(0, c), 
+			make_afsocket_source_close_callback(self));
+	}
+	else {
+		/* SOCK_DGRAM */
+		io_read(self->client, 
+			make_log_reader(1, c), 
+			make_afsocket_source_close_callback(self));
 	}
-	io_read(self->client, 
-		make_log_reader(1, c), 
-		make_afsocket_source_close_callback(self));
 	
 	return ST_OK | ST_GOON;
 }
diff -urN syslog-ng-1.3.13/src/afunix.c syslog-ng-1.3.14/src/afunix.c
--- syslog-ng-1.3.13/src/afunix.c	Mon Jan 17 15:34:33 2000
+++ syslog-ng-1.3.14/src/afunix.c	Mon Jan 31 16:11:16 2000
@@ -51,7 +51,7 @@
 	CAST(afsocket_source_connection, self, c);
 
 	io_read(self->client, 
-		make_log_reader(1, c), 
+		make_log_reader(0, c), 
 		make_afsocket_source_close_callback(self));
 	
 	return ST_OK | ST_GOON;


-- 
Bazsi
PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1
     url: http://www.balabit.hu/pgpkey.txt