Adding l= into the mix makes no change to any of the arguments, as the
l= length is done off of the canonicalized form of the body. That is,
you conceptually canonicalize first, and then use the l= bytes from that
canonicalized form.
That is, for a body of "a b</body></html>", if this were canonicalized
to either "a b</body></html>" or "a b</body></html>CRLF", applying l=3
to that still reduces the body to "a b".
After posting the message below, I was convinced by the other arguments
that the *canonicalized* form of the message should always end with a
final CRLF. If you buy the argument that there are MTAs out there that
will potentially add extraneous CRLFs to a message, then the verifier
cannot differentiate between a message that has a CRLF on its last line
and one that didn't start that way and had one added by an MTA. So the
verifier *must* assume that that last CRLF is a valid part of the
message. Subsequently, this means that the signer must guarantee that
the canonicalized form of the body ends in a CRLF.
And I've changed my code accordingly to guarantee that the last line of
the body *does* have a CRLF after canonicalization.
Tony Hansen
[EMAIL PROTECTED]
Michael Thomas wrote:
> Tony Hansen wrote:
>
>> This not a problem when using DATA. Check 2821 section 4.1.1.4; the
>> ending crlf.crlf was clarified as being the trailing crlf of the last
>> line of the message followed by the terminator sequence.
>>
>> Note that the first <CRLF> of this terminating sequence is also the
>> <CRLF> that ends the final line of the data (message text) or, if
>> there was no data, ends the DATA command itself.
>>
>> You are correct that the problem exists when using BDAT.
>>
>> My implementation uses the last CRLF in if it's there. If there is no
>> last CRLF, it does *not* add one.
>>
>>
>>
> Having just worked through this myself, I'll say that Tony's interpretation
> *has* to be the correct one otherwise an l= less than the body length won't
> be correct. Namely:
>
> "a b</body></html>" where l=3 is: "a b" not "a b<crlf>" or any other
> weird interpretation. This is definitely worth a mention in the draft.
>
> Mike
_______________________________________________
NOTE WELL: This list operates according to
http://mipassoc.org/dkim/ietf-list-rules.html