Skip site navigation (1)Skip section navigation (2)
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>