From holly@cthulhu.pfalz.de Mon Dec  9 12:39:04 EST 1996
Article: 27528 of news.software.nntp
Path: news.math.psu.edu!CTCnet!imci5!newsfeed.internetmci.com!mr.net!newshub.tc.umn.edu!fu-berlin.de!news.gtn.com!news.kiss.de!cthulhu.pfalz.de!not-for-mail
From: holly@cthulhu.pfalz.de (Holger Burbach)
Newsgroups: news.software.nntp
Subject: [Patch-INN1.5] expireover creates corrupted overview data
Date: 6 Dec 1996 17:27:27 GMT
Organization: private linux site, Kaiserslautern, Germany
Lines: 52
Message-ID: <589l1v$fdn$1@cthulhu.pfalz.de>
NNTP-Posting-Host: cthulhu.pfalz.de
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-Newsreader: knews 0.9.8
Xref: news.math.psu.edu news.software.nntp:27528

After rebuilding the overview database from scratch with 'expireover -a',
I encountered many corrupted entries in the overview database which
confused news readers, like knews, a lot.

If expireover finds a folded header line, while processing an article, it
always appends the folded part to the last header line which was accepted
to be stored in the overview database. This creates corrupted entries if
the header contains folded header lines that, according to 'overview.fmt',
should not be stored in the overview database, e.g.

(...)
Message-ID: <Pine.LNX.3.95.961201200357.681B-100000@bse.pumuckl.cubenet.de>
Organization: Bernd Grunwald, not organised
X-Gateway: ZCONNECT UH link-gl.dinoco.de [UUCPfZ V5.81 U031],
        RFC1036/822 UH link-gl.dinoco.de [UUCPfZ V5.81 U031]
(...)

Since we usually want the message-id being inserted in our overview
database, the folded part of the X-Gateway field ("RFC1036/822...") will
be appended to the message-id instead of being ignored.


The appended small patch fixes the problem. This article has also been
mailed to inn-bugs@isc.org.
Ciao
  Holly


--- expireover.c.old    Sat Nov 30 00:32:18 1996
+++ expireover.c        Fri Dec  6 16:40:30 1996
@@ -449,10 +449,13 @@
        if (*line == '\0')
            break;

        /* See if we want this header. */
        fp = ARTfields;
+
+       lasthp = 0;
+
        for (hp = Headers, i = ARTfieldsize; --i >= 0; hp++, fp++) {
            colon = &line[fp->Length];
            if (*colon != ':')
                continue;
            *colon = '\0';


-- 
  Holger Burbach <holly@cthulhu.pfalz.de>, http://www.cck.uni-kl.de/~burbach
        "Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn."
-----> PGP public key available: finger burbach@mega.cck.uni-kl.de<--------
--> Key fingerprint =  02 4E 2D 4B AF 91 E6 C8  90 2E 8C A9 AA C4 CB 86<---



