Re: [EXIM] Batched smtp

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: T. William Wells
CC: exim-users
Subject: Re: [EXIM] Batched smtp
On Tue, 20 Jan 1998, T. William Wells wrote:

> The standard says that the headers end at a blank line. *NOT* at
> an invalid header syntax. Exim has the choice to either ignore,
> "fix", or delete those headers -- but not, if it is to be
> conforming, to terminate the headers there.


Well, the RFC (like many of them) doesn't give much (any?) guidance as
to what to do in the case of syntax errors, i.e. what to do in the case
of receiving a non-conforming message.

I submit that ignoring or deleting bad lines is a disastrous thing to
do.

I submit that any attempt to "fix" such lines is doomed to failure - you
might, for example, find yourself "fix"ing up megabytes and megabytes of
text.

The only two reasonable possibilities, IMHO, are

(a) to reject the message. For an incoming SMTP message, we know this
isn't always possible because some MTAs keep retrying after 5xx
responses after the data.

(b) to do what Exim currently does, which is to treat the bad line as
the start of the body. That way, the message gets delivered, the
recipient may well notice there is something wrong, and there is some
hope of getting the bug fixed.

I believe Smail also does this. That's where I copied the idea from.
There was some discussion of this on the DRUMS list quite some time ago,
and I seem to recall that what Exim does was not unique, and was quite
liked.

Actually, one could argue that Exim is "fix"ing the message by inserting
a blank line.

-- 
Philip Hazel                   University Computing Service,
ph10@???             New Museums Site, Cambridge CB2 3QG,
P.Hazel@???          England.  Phone: +44 1223 334714



--
*** Exim information can be found at http://www.exim.org/ ***