| 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. | 
|---|