In a message written on Sat, Dec 21, 2002 at 03:03:53AM +1100, Andrew wrote:
> This is to maintain historical behaviour. Sys::Syslog never used to know
> how to do unix sockets at all so to not change behaviour of old scripts
> inet had to be the default.

While of course only my opinion, but this to me seems a prime case of
someone making a mistake early on that should be corrected, even at the
expense of some backwards compatability.

That said, I suspect making unix the default will not only fix some
things, but it's unlikely to break anything.  The current code does
not allow you to specify the (inet) destination, it does a gethostname
and then does a DNS lookup.  How many boxes have a hostname that
doesn't look up right in DNS so this fails, and thus the code fails?
It should have been coded to 127.0.0.1, if it was going to do the inet
thing.

Since I don't see any flags to syslog to turn off unix domain sockets
(although there is one to locate it at a different path) it seems
assuming that exists is far safer than inet, where there are flags
to turn it off, default security options in a base install that turn
it off, and recomendations running around to turn it off.

All things considered, if it's not going to be changed the documentation
needs to be updated.  The man page claims:

NAME
       Sys::Syslog, openlog, closelog, setlogmask, syslog - Perl
       interface to the UNIX syslog(3) calls

Note that syslog(3) in libc does not know how to do inet sockets at all.
Thus it's not a perl interface to syslog(3), it should rather be called
"Perl implementation of the syslog protocol, similar to syslog(3)."

It may be picking at nits, but when I see something called an interface
to...I assume it has the same semantics as the base code.

-- 
       Leo Bicknell - [EMAIL PROTECTED] - CCIE 3440
        PGP keys at http://www.ufp.org/~bicknell/
Read TMBG List - [EMAIL PROTECTED], www.tmbg.org

Attachment: msg39138/pgp00000.pgp
Description: PGP signature

Reply via email to