<<< Date Index >>>     <<< Thread Index >>>

Re: Curiose encoding...



On Fri, Jun 09, 2006 at 03:12:24PM +0200, Thomas Roessler wrote:
> > Well, it's not a real bug, just confusing that mutt can't
> > handle it though it already knows what ANSI_X3.4-1968 is and
> > has code to find that out...
> 
> What mutt can't handle are malformed RFC 2047 encodings.  Some
> character set identifiers that mutt knows about for locale
> purposes can't show up in RFC 2047 encoded strings legitimately.
> 
> That's all.

That's crap.

FACT:  RFC 2047 forbids encoded-words in MIME-extended headers from
containing a '.' character.  No one is arguing that point.  However:

FACT:  This condition exists for the expressly stated purpose to
MAINTAIN COMPATIBILITY with EXISTING BROKEN MAILERS. [See RFC 2047,
section 1, paragraphs 2 and 3.]

FACT:  There is no law against writing software which does not conform
to the published RFCs.  The unfortunate fact is that many users do use
such software, often without any practical choice in the matter (e.g.
it is a requirement of their job, etc.).

FACT:  The official name of US-ASCII, according to IANA, is
ANSI_X3.4-1968 (see http://www.iana.org/assignments/character-sets)

FACT:  The RFC does not forbid mail clients from sensibly interpreting
non-compliant headers.  It only forbids the sending of such headers.

FACT:  Mutt is a mail client, not a standards verification tool. It is
used by people who want to read and send mail; it is not a tool to aid
those who want to point out deficiencies in other mailers.

FACT:  Users of Mutt generally expect that it will interoperate with
other mailers, regardless of whether or not those other mailers
conform 100% to RFCs.  Generally, users don't care about RFCs; they
only care about whether or not they can read and reply to mail they
receive from other people without much difficulty.

FACT:  There is a well-known "robustness principle" which is widely
accepted as defining, in part, good programming practice.  That
principle is stated in many places, not the least of which is in one
of your Beloved RFCs:

  2.10.  Robustness Principle

    TCP implementations will follow a general principle of robustness:
    be conservative in what you do, be liberal in what you accept from
    others.  [RFC 793]

Is it reasonable for Mutt to accept official IANA names (let alone
their non-conforming aliases) in encoded headers, despite containing
the forbidden fruit?  Of course it is, absolutely.  For Mutt not to do
so violates the robustness principle, i.e. it makes Mutt less robust.
While perhaps not technically a bug, it is certainly, without
question, a deficiency in Mutt.  Furthermore, to fail to sensibly
interpret such malformed headers goes against the spirit and stated
intentions of RFC 2047, on which you are falling back to justify your
decision.  A decision not to work around these (admittedly) flawed
headers is clearly a decision to make Mutt suck more, and as such it
is unjustifiable.

-- 
Derek D. Martin    http://www.pizzashack.org/   GPG Key ID: 0xDFBEAD02
-=-=-=-=-
This message is posted from an invalid address.  Replying to it will result in
undeliverable mail.  Sorry for the inconvenience.  Thank the spammers.

Attachment: pgpY4nX2TlfTm.pgp
Description: PGP signature