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.
|
---|
8 |
|
---|
9 | Mike Jagdis Internet: jaggy@purplet.demon.co.uk
|
---|
10 | FidoNet: Mike Jagdis, 2:252/305
|
---|
11 |
|
---|
12 | ---------------------------------------------------------------------------
|
---|
13 |
|
---|
14 | Syslogd and Syslog.o
|
---|
15 |
|
---|
16 | These are the syslogd and syslog ported from 4.3BSD (that's the new one with
|
---|
17 | the *very* flexible config file).
|
---|
18 |
|
---|
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).
|
---|
25 |
|
---|
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.
|
---|
29 |
|
---|
30 |
|
---|
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. :-)
|
---|
35 |
|
---|
36 |
|
---|
37 | ALSO INCLUDED:
|
---|
38 |
|
---|
39 | Syslog_test, sendlog (to use from shell scripts) and logger (for use in
|
---|
40 | shell script also).
|
---|
41 |
|
---|
42 | NEEDED:
|
---|
43 |
|
---|
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.
|
---|
46 |
|
---|
47 | -----------------------------------------------------------------------
|
---|
48 |
|
---|
49 | Fixed up UNIX domain socket code, added Linux specific code to read messages
|
---|
50 | from the kernel.
|
---|
51 |
|
---|
52 | The #ifdefs are now :-
|
---|
53 |
|
---|
54 | SYSLOG_INET listen on a UDP socket (syslogd)
|
---|
55 | log via UDP (syslog library call)
|
---|
56 |
|
---|
57 | SYSLOG_UNIXAF listen on a UNIX domain socker (syslogd)
|
---|
58 | log via UNIX domain (syslogd library)
|
---|
59 |
|
---|
60 | SYSLOG_KERNEL fork a second copy to read kernel messages using
|
---|
61 | syslog system call.
|
---|
62 |
|
---|
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.
|
---|
66 |
|
---|
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.
|
---|