Re: [apps-discuss] Comments on Malformed Message BCP draft

Peter Koch <pk@DENIC.DE> Sat, 16 April 2011 17:54 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 26754E0689 for <>; Sat, 16 Apr 2011 10:54:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -6.803
X-Spam-Status: No, score=-6.803 tagged_above=-999 required=5 tests=[AWL=1.446, BAYES_00=-2.599, GB_I_LETTER=-2, HELO_EQ_DE=0.35, RCVD_IN_DNSWL_MED=-4]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id MxuLywNumYm4 for <>; Sat, 16 Apr 2011 10:54:51 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 4101FE0681 for <>; Sat, 16 Apr 2011 10:54:50 -0700 (PDT)
Received: from ([]) by with esmtp id 1QB9hp-0004RN-CZ; Sat, 16 Apr 2011 19:54:49 +0200
Received: from localhost by with local id 1QB9hp-00084b-6I; Sat, 16 Apr 2011 19:54:49 +0200
Date: Sat, 16 Apr 2011 19:54:49 +0200
From: Peter Koch <pk@DENIC.DE>
Message-ID: <>
References: <> <> <>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <>
User-Agent: Mutt/
Sender: Peter Koch <>
Subject: Re: [apps-discuss] Comments on Malformed Message BCP draft
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: General discussion of application-layer protocols <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sat, 16 Apr 2011 17:54:52 -0000

On Sat, Apr 16, 2011 at 09:27:35AM +0100, Nathaniel Borenstein wrote:

> The generalization is clear:  the financial and business incentive is to deliver every message that you can possibly figure out how to deliver, so that your service doesn't appear "inferior" to customers who don't give a rat's rump about the details of standards compliance.

Sure, the same way taxis will speed to outperform their competitors striving
to improve their own customers' experience.  Something is wrong in this picture.
Standards are only partly about that customer experience, they are about
interoperability, security, scalability, and, at least back in the day, overall
architecture.  This theme fits painfully nicely into that IETF80 technical
plenary about the post standardization world and dominance of applications.

> I'm not sure why this came as such a surprise to me, as it is actually just another instance of Postel's Law.  Being liberal in what we accept means, in this case, accepting and delivering any message where we believe, with a high level of confidence, that the sender's intentions are clear despite its standards violations.

I believe the Robustness Principle has been abused and perverted for too
long now.  You can only be so liberal that you are still able to be conservative
on the emitting side. The problems in Murray's draft are with those cases where
the intent was not clear or not clear enough to allow or support that balance.

> However, if the IETF offered guidance on the least harmful way to do this, the odds are good that we would follow it.  And I think it would be better if vendors who felt the need to "fix" messages would at least be mutually consistent in how they fix them.

First, it is about interoperability issues, not an abstract "compliance", i.e.,
we're already in "following the rules by spirit rather than letter" space. 
Who can I as an operator file a bug report with when there is a standard that
says "A" rather than "B" and a BCP that says "well, you should really treat B,
which should not have happened, this way"?  If there's an ambiguity in the standard
that harms interoperability and/or poses security risks, shouldn't it be corrected
in the standard for that to be self consistent?

> That way we might not be exacerbating existing problems quite as much as Keith and other (myself included) fear.  And the senders of misformatted messages might eventually fix their code, if only to shut up the annoying warning messages.  -- Nathaniel

Or they'd add additional code to suppress these warnings and market that
as a feature?