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
msg39138/pgp00000.pgp
Description: PGP signature