Re: [exim] RFC 5321, 5322

Top Page
Delete this message
Reply to this message
Author: Kjetil Torgrim Homme
Date:  
To: W B Hacker
CC: exim-users
Subject: Re: [exim] RFC 5321, 5322
On Thu, 2008-10-09 at 05:18 +0800, W B Hacker wrote:
> Kjetil Torgrim Homme wrote:
> > Exim's behaviour is "guess what was meant". it actually checks the line
> > ending of the first line in the message to determine what convention the
> > sender prefers. if it sends CRLF, Exim will *only* accept CRLF for the
> > rest of the message. the same is true for LF.
>
> I've never had a need to check, but the question then arises.. to the
> extent Exim has shifted mode to whatever was put on its plate, does it
> then follow suit when adding lines?
>
> And/or does it 'repair' some/all/no non-conforming lines before onpassing?


unfortunately, Exim uses LF internally, so a CRLF message will still get
LF terminated headers in the spool. LF is always converted to CRLF when
sent. note that the *body* is untouched no matter what, for better or
for worse.

I think making Exim use CRLF in its queue would be a worthwhile fix, but
it's probably quite a bit of work. the upside is that *sending* the
message requires no massage to be done, and you can even use modern
syscalls like sendfile(2). final delivery to a Unix mbox would need to
change CRLF to LF, of course.

(disclaimer: I haven't looked at this code since 4.52 or thereabouts).
--
regards,
Kjetil T.