Re: [syslog-ng]Syslog-NG 1.6.6 memory leak when sending UDP logs
There is no version 1.2.2, the latest version is 1.1.2.1 (or 1.1.3 which is BETA)
My bad, (typo) 1.1.2(.1) to be specific.
This patch fixes the byte order issue, and I'm still hunting the memory leak with your configuration:
diff -u -r1.25.4.6 afinet.c --- afinet.c 5 Aug 2004 11:35:12 -0000 1.25.4.6 +++ afinet.c 3 Mar 2005 12:26:47 -0000 @@ -617,11 +617,10 @@ ADDRESS2SOCKADDR(msg->saddr, sizeof(src_addr), (struct sockaddr *) &src_addr); ADDRESS2SOCKADDR(self->super.dest_addr, sizeof(dst_addr), (struct sockaddr *) >&dst_addr);
- libnet_clear_packet(self->lnet_ctx);
- udp = libnet_build_udp(src_addr.sin_port, - dst_addr.sin_port, + udp = libnet_build_udp(ntohs(src_addr.sin_port), + ntohs(dst_addr.sin_port), LIBNET_UDP_H + msg_line->length, 0, msg_line->data,
I applied the patch, and recompiled. You are not going to beleive this: Data is STILL getting to the destination properly - despite the ntohs function. Yes, I checked the binary to be certain it recompiled, and threw a printf statement in there to be certain. It would seem that the ntohs function has no effect.
On Fri, 2005-03-04 at 13:56 -0500, henry@shoelacecity.com wrote:
There is no version 1.2.2, the latest version is 1.1.2.1 (or 1.1.3 which is BETA)
My bad, (typo) 1.1.2(.1) to be specific.
Thanks.
This patch fixes the byte order issue, and I'm still hunting the memory leak with your configuration:
diff -u -r1.25.4.6 afinet.c --- afinet.c 5 Aug 2004 11:35:12 -0000 1.25.4.6 +++ afinet.c 3 Mar 2005 12:26:47 -0000 @@ -617,11 +617,10 @@ ADDRESS2SOCKADDR(msg->saddr, sizeof(src_addr), (struct sockaddr *) &src_addr); ADDRESS2SOCKADDR(self->super.dest_addr, sizeof(dst_addr), (struct sockaddr *) >&dst_addr);
- libnet_clear_packet(self->lnet_ctx);
- udp = libnet_build_udp(src_addr.sin_port, - dst_addr.sin_port, + udp = libnet_build_udp(ntohs(src_addr.sin_port), + ntohs(dst_addr.sin_port), LIBNET_UDP_H + msg_line->length, 0, msg_line->data,
I applied the patch, and recompiled. You are not going to beleive this: Data is STILL getting to the destination properly - despite the ntohs function. Yes, I checked the binary to be certain it recompiled, and threw a printf statement in there to be certain. It would seem that the ntohs function has no effect.
I have the solution for this one. You are using port number 514, which is 0x0202 which is 0x0202 even if you swap the bytes :) Try using a different port number and you'll see the problem with the unpatched version. -- Bazsi
participants (2)
-
Balazs Scheidler
-
henry@shoelacecity.com