[Dovecot] [Fwd: Re: Bug in BODYSTRUCTURE]
Timo Sirainen
tss at iki.fi
Tue Nov 10 18:36:07 EET 2009
I fully agree with Jakob. Actually this is a somewhat recent change
(v1.1.alpha2). Mime-Version: was previously required, but there were
enough broken mails that I decided to make this optional in code (but
not by admin):
/* Buggy software creates Content-Type: headers without Mime-
Version:
header. By default we allow this and assume message is
MIME if
Content-Type: is found. This flag disables this. */
MESSAGE_PARSER_FLAG_MIME_VERSION_STRICT = 0x02
On Nov 10, 2009, at 8:02 AM, Jakob Hirsch wrote:
> Charles Marcus, 2009-11-10 12:52:
>
>> Sam Varshavik (courier-imap developer) claims (on the courier-imap
>> list,
>> see attached) dovecot is incorrectly parsing messages with
>> missing/invalid "MIME-Version:" header...
>
> Since when is being robust incorrect?
>
>>> However this situation does appear to be specific to courier-imap.
>>> Dovecot is able to parse it
>>
>> If so, it violates RFC 2045, section 4. Its wording is clear:
>>
>> Messages composed in accordance with this document MUST include such
>> a header field, with the following verbatim text:
>>
>> MIME-Version: 1.0
>>
>> The presence of this header field is an assertion that the message
>> has been composed in compliance with this document.
>>
>> If so, it fails to check for the presence of the MIME-Version:
>> header,
>> so it processes the Content-Type: header even if MIME-Version: is
>> missing.
>
> Well, that is a MUST for the sender part (that creates the message),
> but
> the RFC (or at least the part that Sam Varshavchik quoted) does not
> say
> "you are not allowed to handle a MIME message if some part of it is
> broken". You can does, if you like to be a pedantic bureaucrat, but I
> doubt that this improves the user experience.
>
>> This is somewhat sad. Internet standards are supposed to have some
>> meaning. I could see ignoring something that's may be burdensome or
>> onerous, but this is basic, elementary stuff.
>
> It's actually the other way round: It's harder to write software that
> follows the robustness principle, "be liberal in what you accept from
> others". Sam's ranting would apply to violations of the other part,
> "be
> conservative in what you do".
>
More information about the dovecot
mailing list