[syslog-ng]1.6.0rc1 / SunOS 5.8 (Solaris 8) - entries not logged with IP address

Balazs Scheidler syslog-ng@lists.balabit.hu
Fri, 18 Apr 2003 10:44:24 +0200


On Wed, Apr 16, 2003 at 11:01:56PM -0700, Brian C. Hill wrote:
> 	I am still trying to solve this problem. 
> 
> 	I have verirified from debugging that there is some disconnect
> in the values salen and addrlen and between
> 
> 	A_RECV(read, closure->max_log_line - closure->pos, closure-> buffer + closure->pos, (abstract_addr *) &sabuf, &salen);
> 
> in syslog-ng-1.6rc0/src/sources.c and 
> 
> 	res = recvfrom(closure->fd, buffer, length, 0, (struct sockaddr *) addr, (socklen_t *) addrlen);
> 
> in libol-0.3.9/src/io.c. salen is set to 256 before and after the
> A_RECV() is called, but addrlen is set to 0 and sockaddr seems to point
> to nothing in before recvfrom() is called. As a result recvfrom()
> simply doesn't record the address information of the sending host.
> 
> 	This is on SunOS-5.8-sparc in 64-bit mode with gcc 3.2.1
> compiling 64-bit binaries.
> 
> 	Anyway, the result is that syslog-ng is unable to record the
> address of the sending host and winds up prepending all logged messages
> with it's own hostname, rather than the sending host's.
> 
> 	With all of the casting and and abstraction involved in the
> code, I am not sure what to try next. 
> 
> 	Any suggestions? Is this a 64-bit problem?

syslog-ng has never been compiled in 64bit userspace, therefore it is almost
certain that you will run into problems.

IMHO you should try to compile syslog-ng as a 32 bit executable.

-- 
Bazsi
PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1