Date: Thu, 8 Oct 1998 21:45:13 -0500 (CDT) From: Igor Roshchin <igor@physics.uiuc.edu> To: freebsd-security@FreeBSD.ORG Subject: Re: The necessary steps for logging (the problem is fixed) (fwd) Message-ID: <199810090245.VAA08354@alecto.physics.uiuc.edu>
next in thread | raw e-mail | index | archive | help
Ok,
don't crash me with your swords .. ;)
I just compiled the syslogd with the changes suggested.
THe diff file is at the bottom.
It works fine for me.
Can anybody else test it against different syslog.conf's ?
My only concern:
In line 1410 - there was a space inside ", ;" originally:
while (strchr(", ;", *q))
According to man syslog.conf - I don't see why it should be there..
This is the moment when the priority is analyzed.
No spaces are allowed before the priority specification.
So, I assume, this was just a typo.
so, it should be
while (strchr(",;", *q))
If this is not a typo, but I just missed some meaning, please, correct me!
IgoR
=====================8< ===============================
--- syslogd.c.orig Thu Aug 6 00:58:10 1998
+++ syslogd.c Thu Oct 8 22:19:27 1998
@@ -1365,12 +1365,12 @@
}
/* scan through the list of selectors */
- for (p = line; *p && *p != '\t';) {
+ for (p = line; *p && *p != '\t' && *p != ' ';) {
int pri_done;
int pri_cmp;
/* find the end of this facility name list */
- for (q = p; *q && *q != '\t' && *q++ != '.'; )
+ for (q = p; *q && *q != '\t' && *q != ' ' && *q++ != '.'; )
continue;
/* get the priority comparison */
@@ -1402,12 +1402,12 @@
;
/* collect priority name */
- for (bp = buf; *q && !strchr("\t,;", *q); )
+ for (bp = buf; *q && !strchr("\t,; ", *q); )
*bp++ = *q++;
*bp = '\0';
/* skip cruft */
- while (strchr(", ;", *q))
+ while (strchr(",;", *q))
q++;
/* decode priority name */
@@ -1424,8 +1424,8 @@
}
/* scan facilities */
- while (*p && !strchr("\t.;", *p)) {
- for (bp = buf; *p && !strchr("\t,;.", *p); )
+ while (*p && !strchr("\t.; ", *p)) {
+ for (bp = buf; *p && !strchr("\t,;. ", *p); )
*bp++ = *p++;
*bp = '\0';
@@ -1454,7 +1454,7 @@
}
/* skip to action part */
- while (*p == '\t')
+ while (*p == '\t' || *p == ' ')
p++;
switch (*p)
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-security" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199810090245.VAA08354>
