Re: threading not working possibly bad headers or extractions

1996-11-19 10:50:24
Roman Maeder said:
 [...explanation by threading fails ...]
instead of a message id. The reason is apparent if you look at the header
from which this information was extracted:

In-Reply-To: Message from Roman Maeder <maeder(_at_)mathconsult(_dot_)ch> of 
"Mon, 1=
1 Nov
      1996 17:39:19 +0100" 

it extracts the contents of the first set of <>!
Is this header illegal, or should mhonarc be smarter?

Roman Maeder

I think that in-reply-to has to be a valid e-mail address.  Therefore I
would say that this header is not legal. (Anyone with the RFC at hand?)

In mhonarc (2.0a2) the code that extracts the message is (see line 1145):

   1137     ##----------------##
   1138     ## Get References ##
   1139     ##----------------##
   1140     $tmp = $fields{'references'};
   1141     while ($tmp =~ s/<([^>]+)>//) {
   1142         push(@refs, $1);
   1143     }
   1144     $tmp = $fields{'in-reply-to'};
   1145     if ($tmp =~ s/^[^<]*<([^>]*)>.*$/$1/) {
   1146         push(@refs, $tmp)  unless $tmp =~ /^\s*$/;
   1147     }

Because the current RE would fail to extract the message id on complicated 
but valid e-mail you lose nothing in changing  it to use the last pair of
<> instead of the first one.  This should do it

   1145     if ($tmp =~ s/^.*<([^>]*)>[^<]*$/$1/) {

Of course this quick fix would fail if you get also (wrong) in-reply-to
header fields where you have to use the first of two <>.


<Prev in Thread] Current Thread [Next in Thread>