I think, the general question is: Who is responsible to create (bind()) the socket? The client or the server process? In general IMHO the server process.
absolutely true. the client could not even try to bind it.
In destination {unix-dgram()} context syslogd acts like a server process and should do the bind().
no. destination { unix-dgram() } is a client process. you want to use source { unix-dgram() } instead. (source in the context of syslog-ng means that messages are read _from_ this source, e.g. it behaves like a server for other processes)
Hmm. But if there is a client proc, that wants to read messages _from_ syslog-ng? In a context, where syslog-ng acts as a central message multiplexer (a server context, from this point of view). In this case it would be fine to let syslog-ng write messages _to_ a destination {unix-stream()} Let mediate a bit. Feedback is welcome, of course. Thx. -- Best regards --Andreas Schulze [phone: +49.5246.80.1275, fax: +49.5246.80.2275] | I believe, it was Dennis Ritchie who said something like: | "C is rarely the best language for a given task, | but it's often the second-best". | The implication being that: "[...]" | http://www.ioccc.org/1990/dds.c