[Fwd: Re: [ietf-dkim] canonicalized null body and dkim]
Stephen Farrell
stephen.farrell at cs.tcd.ie
Tue Dec 19 12:23:52 PST 2006
Ok, so we've this and we've that. Who's volunteering to
craft new text for the document?
S.
Michael Thomas wrote:
> Tony Hansen wrote:
>> Michael Thomas wrote:
>>
>>> Tony Hansen wrote:
>>>
>>>> That's why the issue was raised.
>>>>
>>>> I firmly believe that we *intended* to canonicalize each of these
>>>> cases into the empty body
>>>>
>>>>
>>> Well, that may or may not have been the intent, but the current spec
>>> does say that and it's my claim that what the current spec is doing
>>> is *useful* given the mangling that happens in the infrastructure.
>>> That is, we're getting better pass rates when we implement the spec
>>> as it is written now.
>>>
>>
>> Ah, but several of us are convinced that the current spec does *not* say
>> that and we want a clarification added one way or the other.
>>
>> There's no one disputing that the current spec isn't useful.
>>
>> If I read your message correctly, your implementation implements
>> canonicalizing a body with nothing but CRLFs into an empty body. Or is
>> there a missing "not" in your statement and I'm wrong?
>>
>
> My previous implementation did the same as Arvel's (given his recent
> mail), which is the same thing that I think that Murray's is doing. But
> to be pedantic:
>
> null body:
>
> Last-header: foo<crlf>
> <crlf>
>
> l=2; canon-body: <crlf>
>
> single crlf:
>
> Last-header: foo<crlf>
> <crlf>
> <crlf>
>
> l=2; canon-body: <crlf>
>
> two trailing crlf's
>
> Last-header: foo<crlf>
> <crlf>
> <crlf>
> <crlf>
>
> l=2; canon-body: <crlf>
>> *My* implementation does so. Arvel's does so.
>>
>> But another implementation I know of changes it into a CRLF. Sigh. So we
>> are NOT currently getting compatible implementations with the current
>> wording.
>>
>
> Right. That was my reason to bring this up.
>> Back to intents: I believe the intent of the extra CRLF rule was to
>> handle transport modifications to the body that added an extra CRLF to
>> the end of the message. This was considered such a common modification
>> that we wanted to reduce the affects of it even in the simple
>> canonicalization mechanism.
>>
>
> Note that as I read the current draft, it also allows for the _removal_ of
> trailing CRLF's too. Which is what I've seen in the field too. Note that
> this isn't even a controversial point except for the question of null
> bodies,
> but the draft seemingly covers that too with its null rule, though it's not
> very clear.
>
> Mike
>> Adding such an extra CRLF during transport could generate any of these
>> cases:
>>
>> Last-header: foobarCRLF
>> CRLF
>>
>> Last-header: foobarCRLF
>> CRLF
>> CRLF
>>
>> Last-header: foobarCRLF
>> CRLF
>> CRLF
>> CRLF
>>
>> and they MUST be treated identically because you can't tell which of
>> those CRLFs were original and which were added later.
>>
>> So, I believe that the intent was: 1) to strip out all trailing CRLFs.
>> 2) If there *is* body content other than those CRLFs, the last
>> non-CRLF-only line would be guaranteed to have a CRLF at its end.
>>
>> And 3.4.3 needs to be adjusted to guarantee that intent.
>>
>> Tony Hansen
>> tony at att.com
>>
>
> _______________________________________________
> NOTE WELL: This list operates according to
> http://mipassoc.org/dkim/ietf-list-rules.html
>
More information about the ietf-dkim
mailing list