Kjetil Torgrim Homme wrote:
> On Fri, 2008-10-03 at 14:53 +0200, Renaud Allard wrote:
>> I was just browsing RFC 5321 (not finished reading yet)
>> It seems it implies that exim is not RFC 5321 compliant, for example:
>> "
>> Lines consist of zero or more data characters terminated by the
>> sequence ASCII character "CR" (hex value 0D) followed immediately by
>> ASCII character "LF" (hex value 0A). This termination sequence is
>> denoted as <CRLF> in this document. Conforming implementations MUST
>> NOT recognize or generate any other character or character sequence
>> as a line terminator.
>> "
>>
>> I don't think there is a way to make exim compliant with this one by
>> modifying anything in the config file.
>
> 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.
>
> since a conforming implementation MUST NOT send an LF on its own in a
> header field, I feel Exim's behaviour is sound.
Seconded.
The 'MUST NOT ...generate.. ' is the meat.
Except where Exim is adding or rewriting headers, that is largely MUA turf.
As to the 'MUST NOT ... recognize..' it would be imprudent not to make
the attempt to deal with legacy damage. There's still too much of it.
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?
Bill