2004-02-16, h keltezéssel 19:09-kor Andreas Schulze ezt írta:
Hi Bazi,
it seems I've found a bug in the unix_stream/unix_dgram destination drivers.
The problem is, that running sysng with something like
destination d_stream { unix-stream("/tmp/stream_sock"); }; or destination d_dgram { unix-dgram("/tmp/dgram_sock"); };
it doesn't create the socket in the file system, so the connect() fails. Seems that bind_unix_socket() is never called.
The appended trace shows, that there isn't a bind() between so_socket() = 4 and connect(4)
As far as I know, bind() must be called before connect() to create the socket in the local filesys. It should be removed via unlink() after all work is done.
Feedback or a hot-fix is very wellcome.
bind is called by the program creating the UNIX dgram socket. in this case you instructed syslog-ng to connect to such a socket, where binding is not necessary. What do you want to use those sockets for? Maybe you wanted to create message sources? -- Bazsi PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1