libc, libutil: remove compat hacks
[minix.git] / commands / syslogd / README
blob8c34903cec6ce50e8e574e8103a10db17f493d0b
1 This is just syslogd and the test programs now. syslog() is in libc 4.2
2 syslogd has been changed to use /proc/kmsg for kernel messages. It also
3 avoids making any terminal it opens its controlling terminal. Otherwise
4 we have a dodgy race condition between processes connecting to terminals
5 which can result in the terminal having the wrong group at the wrong time.
6 The syslog() in libc 4.2 needs changing to use O_NOCTTY on its opens as
7 well.
9 Mike Jagdis     Internet: jaggy@purplet.demon.co.uk
10                 FidoNet:  Mike Jagdis, 2:252/305
12 ---------------------------------------------------------------------------
14                            Syslogd and Syslog.o
16 These are the syslogd and syslog ported from 4.3BSD (that's the new one with
17 the *very* flexible config file).  
19 Syslogd is essentially unchanged from the 4.3BSD, with the exception that
20 *nothing* is ever logged to the console (BAD thing to do on a UNIXpc).  You
21 can configure it (via /etc/syslog.conf) to log messages in different
22 logfiles (depending upon the sender's facility code and the priority), log
23 to users' terminals (same dependancies), and if things get real bad, it can
24 do a wall (write-all; same dependancies).
26 Syslog is really only modified in that it uses UDP datagrams because I had
27 no luck at all using UNIX domain sockets on the 3B1.  See syslog.h for
28 facility codes and priorities that can be used.
31 BUGS:
32 Messages from facilities LOG_KERN, LOG_USER, and LOG_PRT never can be
33 wall-ed, no matter how high the priority.  I'm still trying to decide if
34 this is a bug or a feature. :-)
37 ALSO INCLUDED:
39 Syslog_test, sendlog (to use from shell scripts) and logger (for use in
40 shell script also).
42 NEEDED:
44 The resolver routines in libresolv.a are not needed, but allow you to log to
45 hosts not present in /etc/hosts and to accept logging from same.
47 -----------------------------------------------------------------------
49 Fixed up UNIX domain socket code, added Linux specific code to read messages
50 from the kernel.
52 The #ifdefs are now :-
54 SYSLOG_INET     listen on a UDP socket (syslogd)
55                 log via UDP (syslog library call)
57 SYSLOG_UNIXAF   listen on a UNIX domain socker (syslogd)
58                 log via UNIX domain (syslogd library)
60 SYSLOG_KERNEL   fork a second copy to read kernel messages using
61                 syslog system call.
63 syslogd should be built with one or more of these flags, libsyslog.a should
64 be built with SYSLOG_INET or SYSLOG_UNIXAF, SYSLOG_INET is used in preference
65 to SYSLOG_UNIXAF.
67 readlog is a program which reads from the kernel and records the messages
68 it finds in syslogd via the normal library call interface, it can be run
69 instead of building syslogd with SYSLOG_KERNEL.