Patch by Roy Hooper backported from inn 2.x (revision 3236 of 2000-05-13)
to ignore whitespace in Newsgroups headers.

diff -ruNp inn-1.7.2.orig/innd/art.c inn-1.7.2/innd/art.c
--- inn-1.7.2.orig/innd/art.c	2008-04-20 02:24:41.000000000 +0200
+++ inn-1.7.2/innd/art.c	2008-04-20 02:24:35.000000000 +0200
@@ -1013,12 +1013,28 @@ ARTclean(Article, Data)
     /* Colon or whitespace in the Newsgroups header? */
     if (strchr(HDR(_newsgroups), ':') != NULL)
 	return "Colon in \"Newsgroups\" header";
+
+    /* Whitespace - clean the header up instead of rejecting it.  Too many
+     * servers are passing articles with whitespace along these days.  On
+     * May 12th, 2000, I rejected 18468 of 578846 articles because of this
+     * lack of adherence to standards. -rhooper@thetoybox.org 2000/05/12 */
     for (p = HDR(_newsgroups); *p; p++)
 	if (ISWHITE(*p)) {
-	    (void)sprintf(buff,
-		    "Whitespace in \"Newsgroups\" header -- \"%s\"",
-		    MaxLength(HDR(_newsgroups), p));
-	    return buff;
+	    /* Fix whitspace */
+	    char *wsp = HDR(_newsgroups);
+	    int x, y, s;
+
+	    for (s = x = y = 0; y < ARTheaders[_newsgroups].Length; x++) {
+		while (ISWHITE(wsp[y]) && y < ARTheaders[_newsgroups].Length) {
+		    y++;
+		    s++;
+		}
+		wsp[x] = wsp[y];
+		y++;
+	    }
+	    wsp[x] = '\0';
+	    ARTheaders[_newsgroups].Length -= s;
+	    break;
 	}
 
     /* If there is no control header, see if the article starts with
