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".