Re: bogus "received" headers crashing mhonarc

1996-03-28 10:08:42
"Frank J. Manion" said:
Dear mhonarc list:

I seem to be having problems with MH folders containing "Received:" headers
of a form similar to:

    Received: by aquila; id AA03750; Thu, 23 Dec 1993 10:40:12 -0500

This should is fixed since V1.2 and V1.2.1 of mhonarc. I guess you're using
V1.1* because I run into the same problem here on DEC OSF/1.
When mhonarc attempts to parse the header, dies with a message
that the month isn't in the range of 1..31. At this point, mhonarc dies, and
the remainder of the folder is left unprocessed. This appears due to the
fact that RFC822 specifies the Received header have a single ";" in the
body of the header, and that semicolon should separate the route from the
date-time. Thus, the above header should be:

     Received: by aquila id AA03750; Thu, 23 Dec 1993 10:40:12 -0500

mhonarc is now more tolerant and is using always the part after the last ';'
which handles both cases right. On the other hand you are free to fiddle
with to get a different received line.

Nevertheless a library procedure should never die. I mentioned this on
perl5-porters. There was some discussing about this (search for 
'timelocal;error' at 
for more information). There many suggestion patches but nothing made it
into perl 5.002 :-(

My questions are as follows:

1) Has anyone else seen this behavior?


2) Does anyone have any work-arounds in place already?

upgrade to mhonarc v1.2.1

3) Is this behavior of sendmail prevalant (i.e. have I missed something in
the RFC's?). Our sendmail rewrite rules are apparently generating this form
on a number of systems on campus. This seems to be direct from the
vendor (sigh).

I can think of a number of work-arounds, all of which involve modifying
mhonarc in some way, such as eval'ing timelocal, changeing the parse
of either the Received headers or date in routine read_mail_header. If someo
else has already done this and is willing to share, i'd appreciate it.

-- Frank


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