. Removed kernel.patch since it is no longer required
. Changed SOCK_STREAM to SOCK_DGRAM in syslog.c . klogd will only change the console log level if `-c' is supplied . syslogd.c by Bill Nottingham <notting@redhat.com> Um, if the directory is invalid, the bind() call in create_unix_socket fails. Without the return -1, we return the invalid fd that we just closed. When syslogd then starts listening, select goes into a hard loop getting EBADF, IIRC. . klogd.c by Troels Walsted Hansen <troels@thule.no> I found a bug in the sysklogd package version 1.4. When it encounters a zero byte in the kernel logging output, the text parser enters a busy loop. I came upon it when the 3c59x driver from kernel 2.4.0 started outputting two zero bytes for the product code of my laptop's 3Com card. It could be argued that the kernel should never output zero bytes in the logging info, but obviously that will happen from time to time. I fear this bug might be considered a security issue as well, if the kernel can be coerced to output a zero byte somehow, all kernel logging will stop. Wolfgang Oertl <Wolfgang.Oertl@uibk.ac.at> had a similar bugfix idea . klogd.c by Thomas Roessler <roessler@does-not-exist.org> Additionally, the patch prevents LogLine from being invoked with a negative counter as an argument.
This commit is contained in:
@@ -436,6 +436,11 @@ static char sccsid[] = "@(#)syslogd.c 5.27 (Berkeley) 10/10/88";
|
||||
* Removed unixm/unix domain sockets and switch to Datagram Unix
|
||||
* Sockets. This should remove one possibility to play DoS with
|
||||
* syslogd. Thanks to Olaf Kirch <okir@caldera.de> for the patch.
|
||||
*
|
||||
* Sun Mar 11 20:23:44 CET 2001: Martin Schulze <joey@infodrom.ffis.de>
|
||||
* Don't return a closed fd if `-a' is called with a wrong path.
|
||||
* Thanks to Bill Nottingham <notting@redhat.com> for providing
|
||||
* a patch.
|
||||
*/
|
||||
|
||||
|
||||
@@ -1200,6 +1205,7 @@ static int create_unix_socket(const char *path)
|
||||
#ifndef SYSV
|
||||
die(0);
|
||||
#endif
|
||||
return -1;
|
||||
}
|
||||
return fd;
|
||||
}
|
||||
|
Reference in New Issue
Block a user