Re: [apps-discuss] Pete Resnick's Yes on draft-ietf-appsawg-malformed-mail-10: (with COMMENT)
Ned Freed <ned.freed@mrochek.com> Wed, 27 November 2013 06:50 UTC
Return-Path: <ned.freed@mrochek.com>
X-Original-To: apps-discuss@ietfa.amsl.com
Delivered-To: apps-discuss@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 183221AE213; Tue, 26 Nov 2013 22:50:43 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.903
X-Spam-Level:
X-Spam-Status: No, score=-1.903 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VjPrbS7V7d1C; Tue, 26 Nov 2013 22:50:37 -0800 (PST)
Received: from mauve.mrochek.com (mauve.mrochek.com [66.59.230.40]) by ietfa.amsl.com (Postfix) with ESMTP id A68921AE17A; Tue, 26 Nov 2013 22:50:37 -0800 (PST)
Received: from dkim-sign.mauve.mrochek.com by mauve.mrochek.com (PMDF V6.1-1 #35243) id <01P19CEW2CE8001KNE@mauve.mrochek.com>; Tue, 26 Nov 2013 22:45:34 -0800 (PST)
MIME-version: 1.0
Content-type: TEXT/PLAIN; CHARSET="iso-8859-1"
Received: from mauve.mrochek.com by mauve.mrochek.com (PMDF V6.1-1 #35243) id <01P18HARGJGG00004G@mauve.mrochek.com>; Tue, 26 Nov 2013 22:45:29 -0800 (PST)
Message-id: <01P19CETU4PU00004G@mauve.mrochek.com>
Date: Tue, 26 Nov 2013 22:04:27 -0800
From: Ned Freed <ned.freed@mrochek.com>
In-reply-to: "Your message dated Tue, 26 Nov 2013 10:23:42 -0800" <CAL0qLwY4Zbig3pb9W41fo5ttt2FgLPyOwPxLFQFJuUTtO5D75A@mail.gmail.com>
References: <20131120223533.8958.23858.idtracker@ietfa.amsl.com> <CAL0qLwbH0e_Z-9OKNf3cJ9RpsRLK6vmnQtfj8dbZkLxmz2GaRA@mail.gmail.com> <01P14CWFCE5A00004G@mauve.mrochek.com> <5294DDEE.4070000@qti.qualcomm.com> <CAL0qLwY4Zbig3pb9W41fo5ttt2FgLPyOwPxLFQFJuUTtO5D75A@mail.gmail.com>
To: "Murray S. Kucherawy" <superuser@gmail.com>
Cc: "draft-ietf-appsawg-malformed-mail@tools.ietf.org" <draft-ietf-appsawg-malformed-mail@tools.ietf.org>, Ned Freed <ned.freed@mrochek.com>, IETF Apps Discuss <apps-discuss@ietf.org>, Pete Resnick <presnick@qti.qualcomm.com>, SM <sm+ietf@elandsys.com>, "appsawg-chairs@tools.ietf.org" <appsawg-chairs@tools.ietf.org>, The IESG <iesg@ietf.org>
Subject: Re: [apps-discuss] Pete Resnick's Yes on draft-ietf-appsawg-malformed-mail-10: (with COMMENT)
X-BeenThere: apps-discuss@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: General discussion of application-layer protocols <apps-discuss.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/apps-discuss>, <mailto:apps-discuss-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/apps-discuss/>
List-Post: <mailto:apps-discuss@ietf.org>
List-Help: <mailto:apps-discuss-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/apps-discuss>, <mailto:apps-discuss-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 27 Nov 2013 06:50:43 -0000
> My recollection of Return-Path is that there's always zero or one, and it's > typically added at the top only during local delivery; any instance of it > in transit is basically wrong and subject to removal. I'll have to revisit > this as well if that's wrong. Apologies, I should have caught this sooner. It's zero or one per block of Received/Resent-*/Return-path fields. So yes, you can have more than one of them. And that means section 7.5.3 is incorrect when it asserts that a message with more than one is invalid in the first sentence. Perhaps a change to something like this is in order: While legitimate messages can contain more than one Return-Path header field, such usage is often an error rather that a valid message containing multiple header field blocks as described in sections 3.6 of [RFC 5322]. Accordingly, when a message containing multiple Return-path: header fields is encountered, all but the topmost one is to be disregarded, as it is most likely to have been added nearest to the mailbox that received that message. I think that should cover it. That said, I've always regarded the notion that such blocks can be reliably distinguished as nothing but specious nonsense, and that fact that RFC 5322 doesn't contain language recommending against such usage as a problematic aspect of that specification. The problem is fundamental: Aside from the dependency of Return-path: fields on Received: fields (but not vice versa), all of the fields in one of these blocks are optional. And all the rules only say that fielde must be prepended; they say nothing about which of the various fields in a given block have to be prepended first. It is therefore perfectly valid in a one step MSA/MDA situation to prepend Return-path: first, then Received:, then Resent-*. Or any other order, and that plus the optionality of all the field creates a situation where there is no way to determine the boundaries between blocks with any degree of relability. It follows that if you expect the recipient of your message to be able to consume such information reliably it's a really good idea to remove all instances of these fields other than your own on submission. But all this goes far beyond the scope of the present draft, which is concerned with malformed mail, and as Pete correctly points out, messages containing multiple Return-path: fields may be ill-advised but are not necessarily malformed. Although in practice a lot of them are, because another thing that happens frequently is that when messages are resent all Received: fields are removed (because if you don't your mail tends to get caught by loop checks) but the Return-path: fields are retained. And that's then a malformed message according to the rules. Ned P.S. I claim no special insight into any of this. Marshall Rose patiently explained this issue to me many years ago.
- [apps-discuss] Pete Resnick's Yes on draft-ietf-a… Pete Resnick
- Re: [apps-discuss] reject and process, was Pete R… John Levine
- Re: [apps-discuss] Pete Resnick's Yes on draft-ie… Murray S. Kucherawy
- Re: [apps-discuss] reject and process, was Pete R… Ned Freed
- Re: [apps-discuss] reject and process, was Pete R… John R Levine
- Re: [apps-discuss] reject and process, was Pete R… Ned Freed
- Re: [apps-discuss] reject and process, was Pete R… Dave Crocker
- Re: [apps-discuss] reject and process, was Pete R… John R Levine
- Re: [apps-discuss] Pete Resnick's Yes on draft-ie… Murray S. Kucherawy
- Re: [apps-discuss] reject and process, was Pete R… Ned Freed
- Re: [apps-discuss] Pete Resnick's Yes on draft-ie… Ned Freed
- Re: [apps-discuss] Pete Resnick's Yes on draft-ie… Pete Resnick
- Re: [apps-discuss] Pete Resnick's Yes on draft-ie… Murray S. Kucherawy
- Re: [apps-discuss] Pete Resnick's Yes on draft-ie… Ned Freed
- Re: [apps-discuss] Pete Resnick's Yes on draft-ie… Murray S. Kucherawy
- Re: [apps-discuss] Pete Resnick's Yes on draft-ie… Pete Resnick
- Re: [apps-discuss] Pete Resnick's Yes on draft-ie… Pete Resnick
- Re: [apps-discuss] Pete Resnick's Yes on draft-ie… Ned Freed
- Re: [apps-discuss] Pete Resnick's Yes on draft-ie… Ned Freed
- Re: [apps-discuss] Pete Resnick's Yes on draft-ie… Murray S. Kucherawy
- Re: [apps-discuss] Pete Resnick's Yes on draft-ie… Murray S. Kucherawy
- Re: [apps-discuss] Pete Resnick's Yes on draft-ie… Pete Resnick