art.c patch to log reject sizes...

Dan Merillat harik at chaos.ao.net
Wed Aug 9 04:33:28 UTC 2000



Here it is, but there's a problem remaining:

Aug  9 00:02:56.906 - newsfeed-east.sprintlink.net <8mqgk6$1a$1 at bagan.srce.hr> 437 Unwanted newsgroup "hr.alt.sex" *1074428881*
Aug  9 00:03:57.787 - newsfeed-east.sprintlink.net <oB3k5.3360$IVF5.38207760 at news.randori.com> 437 EMP rejected (ph/l) *1074428881*

... something is tromping on Data->SizeValue, and I'm not sure what.
How can I tell if it's safe to print?

Index: art.c
===================================================================
RCS file: /home/cvs/inn/innd/art.c,v
retrieving revision 1.147
diff -u -r1.147 art.c
--- art.c	2000/07/30 02:45:55	1.147
+++ art.c	2000/08/08 08:59:56
@@ -939,13 +939,20 @@
     /* We could be a bit faster by not dividing Now.usec by 1000,
      * but who really wants to log at the Microsec level? */
     Done = code == ART_ACCEPT || code == ART_JUNK;
-    if (text)
-	i = fprintf(Log, "%.15s.%03d %c %s %s %s%s",
-		ctime(&Now.time) + 4, (int)(Now.usec / 1000),
-		code, Data->Feedsite,
-		Data->MessageID == NULL ? "(null)" : Data->MessageID,
-		text, Done ? "" : "\n");
-    else
+    if (text) { /* FIXME: assumes that only rejects have text */
+	if (Done)
+	    i = fprintf(Log, "%.15s.%03d %c %s %s %s",
+		    ctime(&Now.time) + 4, (int)(Now.usec / 1000),
+		    code, Data->Feedsite,
+		    Data->MessageID == NULL ? "(null)" : Data->MessageID,
+		    text);
+	else
+	    i = fprintf(Log, "%.15s.%03d %c %s %s %s *%ld*\n",
+		    ctime(&Now.time) + 4, (int)(Now.usec / 1000),
+		    code, Data->Feedsite,
+		    Data->MessageID == NULL ? "(null)" : Data->MessageID,
+		    text, Data->SizeValue);
+    } else
 	i = fprintf(Log, "%.15s.%03d %c %s %s%s",
 		ctime(&Now.time) + 4, (int)(Now.usec / 1000),
 		code, Data->Feedsite,
@@ -1943,6 +1950,7 @@
 #endif	/* defined(DO_KEYWORDS) */
     }
 }
+
 
 
 /*



More information about the inn-workers mailing list