help-gnats
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

GNATS' handling of long mail subject lines


From: Yngve Svendsen
Subject: GNATS' handling of long mail subject lines
Date: Tue, 03 Apr 2001 19:11:17 +0200

The MIME script I submitted has one very positive side-effect: It works around GNATS' inability to handle long mail subject headers that are split over several lines.

The problem is as follows: The RFCs describing e-mail and e-mail headers (822 and 2047) allow for the possibility of splitting long headers across several lines. The splitting is done by adding CRLF and then a space on the next line, before the header itself continues.

A long "Subject:" header might thus look like this:

Subject: This is a PR with an extremely long subject line.
 It keeps going on and on and on and on and on and on and
 on and on and on and on and on and on and on and on and
 on and on and on and on and on and on and on and on all
 the way until it stops

The MIME script I wrote removes the extra CRLF and space, placing the entire header text on a single line. GNATS seems perfectly happy with that.

If this kind of header is fed directly into GNATS, as in a standard plain-vanilla installation, all kinds of strangeness results. For instance, the index is messed up, so that queries return garbage. See http://sources.redhat.com/cgi-bin/gnatsweb.pl?cmd=view&pr=161&database=gnats for more details.

The upshot of this is that mail parsing in GNATS itself needs to be improved. This shouldn't be too much of a challenge for someone with a bit of experience with C (I am, unfortunately NOT one of those). It should be done independently of implementation of MIME handling and other internationalization.

Anyone feel up to the challenge? I may be able to provide a little bit of further help if someone wants to take it on. In the meantime, the MIME script provides a temporary workaround.

Yngve Svendsen
IS Engineer
Clustra AS, Trondheim, Norway
address@hidden


reply via email to

[Prev in Thread] Current Thread [Next in Thread]