On 07/14/2014 10:05 AM, Stuart Henderson wrote:
> On 2014/07/14 07:56, Christian Weisgerber wrote:
>> On 2014-07-14, Theo de Raadt <dera...@cvs.openbsd.org> wrote:
>>
>>> CVSROOT:    /cvs
>>> Module name:        src
>>> Changes by: dera...@cvs.openbsd.org 2014/07/13 22:02:33
>>>
>>> Modified files:
>>>     usr.sbin/syslogd: syslogd.c 
>>>
>>> Log message:
>>> Create a socketpair() and tie one end to /dev/klog using ioctl LIOCSFD.
>>> This allows us to receive messages direct from programs using the
>>> fd-safe sendsyslog(2), aka. syslog_r(3).  Thanks to guenther for this part
>>> of the solution.
>>> ok beck tedu miod guenther
>> Theo has reminded me that any syslogd replacements we may have in
>> ports, e.g. sysutils/rsyslog, will require a corresponding change
>> or they will NOT work as a drop-in replacement.
>>
>> Should we mark all candidates we can find as BROKEN to prevent
>> surprises?
> I think not. Since it's already very difficult to replace base syslogd
> with anything from ports (it loads before ldconfig is done), I think
> these are usually run as additional daemons binding to a different
> UDP port. Perhaps a warning in README might be warranted, I don't know.
It's actually not at all difficult, and I have been doing it with syslog-ng for
about 10 years with OpenBSD.

Because the syslog-ng package puts libraries in /usr/local/bin, and logging is
started before ldconfig has been called, it's necessary to do:

    daemon="LD_LIBRARY_PATH=/usr/local/lib /usr/local/sbin/syslog-ng"

I wish syslog-ng had been marked BROKEN, because I spent the good part of a day
trying to get it working before I figured out what the problem was. The package
contains no hints that it will not work with 5.6.

It would be nice if all syslog implementations were treated equally. Currently
anything but syslogd is a poor cousin. By "treated equally" I mean making it
possible to use rsyslog or syslog-ng as a drop-in replacement for syslogd.

Rob Urban

Reply via email to