. 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:
5
syslog.c
5
syslog.c
@ -44,6 +44,9 @@ static char sccsid[] = "@(#)syslog.c 5.28 (Berkeley) 6/27/90";
|
||||
* patch which was announced in the linux-security mailing lists
|
||||
* and incorporated into the libc version of syslog.c.
|
||||
*
|
||||
* Sun Mar 11 20:23:44 CET 2001: Martin Schulze <joey@infodrom.ffis.de>
|
||||
* Use SOCK_DGRAM for loggin, renables it to work.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <sys/types.h>
|
||||
@ -208,7 +211,7 @@ openlog(ident, logstat, logfac)
|
||||
strncpy(SyslogAddr.sa_data, _PATH_LOGNAME,
|
||||
sizeof(SyslogAddr.sa_data));
|
||||
if (LogStat & LOG_NDELAY) {
|
||||
LogFile = socket(AF_UNIX, SOCK_STREAM, 0);
|
||||
LogFile = socket(AF_UNIX, SOCK_DGRAM, 0);
|
||||
/* fcntl(LogFile, F_SETFD, 1); */
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user