Re: [ietf-smtp] return-path vs delivered-to, was New Version Notification for draft-crocker-email-deliveredto-00.txt

John C Klensin <john-ietf@jck.com> Mon, 15 February 2021 22:37 UTC

Return-Path: <john-ietf@jck.com>
X-Original-To: ietf-smtp@ietfa.amsl.com
Delivered-To: ietf-smtp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A1CF43A129A for <ietf-smtp@ietfa.amsl.com>; Mon, 15 Feb 2021 14:37:01 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.003
X-Spam-Level:
X-Spam-Status: No, score=0.003 tagged_above=-999 required=5 tests=[SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 36_k0xjwIraC for <ietf-smtp@ietfa.amsl.com>; Mon, 15 Feb 2021 14:36:59 -0800 (PST)
Received: from bsa2.jck.com (ns.jck.com [70.88.254.51]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D58173A129C for <ietf-smtp@ietf.org>; Mon, 15 Feb 2021 14:36:59 -0800 (PST)
Received: from [198.252.137.10] (helo=PSB) by bsa2.jck.com with esmtp (Exim 4.82 (FreeBSD)) (envelope-from <john-ietf@jck.com>) id 1lBmUC-0006os-4E; Mon, 15 Feb 2021 17:36:56 -0500
Date: Mon, 15 Feb 2021 17:36:49 -0500
From: John C Klensin <john-ietf@jck.com>
To: dcrocker@bbiw.net, John Levine <johnl@taugh.com>, ietf-smtp@ietf.org
Message-ID: <69DE5A7EA27BC2E11C71A367@PSB>
In-Reply-To: <f57c9144-ce9b-7248-2933-325fbd34223a@dcrocker.net>
References: <20210215205020.67C656E009CE@ary.qy> <f57c9144-ce9b-7248-2933-325fbd34223a@dcrocker.net>
X-Mailer: Mulberry/4.0.8 (Win32)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
X-SA-Exim-Connect-IP: 198.252.137.10
X-SA-Exim-Mail-From: john-ietf@jck.com
X-SA-Exim-Scanned: No (on bsa2.jck.com); SAEximRunCond expanded to false
Archived-At: <https://mailarchive.ietf.org/arch/msg/ietf-smtp/5i4mysMcjS_ZFyqQEaNABlVQOPs>
Subject: Re: [ietf-smtp] return-path vs delivered-to, was New Version Notification for draft-crocker-email-deliveredto-00.txt
X-BeenThere: ietf-smtp@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Discussion of issues related to Simple Mail Transfer Protocol \(SMTP\) \[RFC 821, RFC 2821, RFC 5321\]" <ietf-smtp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf-smtp>, <mailto:ietf-smtp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ietf-smtp/>
List-Post: <mailto:ietf-smtp@ietf.org>
List-Help: <mailto:ietf-smtp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf-smtp>, <mailto:ietf-smtp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 15 Feb 2021 22:37:07 -0000

Dave,

I think you are partially misreading 5321.  Other than the IANA
bit, the sections you cite are about _accepting_ or _receiving_
messages and inserting time stamps at that point.   If you go
further down 4.4, you will find both the discussion of
"Return-path:" as part of "final delivery" and the paragraph I
cited earlier about the sequence at the beginning of the "final
mail data".  There is a problem as to whether "Return-path:" is
actually a trace header: Its inclusion in Section 4.4 implies
that it is but there is text elsewhere that appears to equate
"trace field" (or "trace information") with "time stamp" and
"Received".  And the troublesome "IANA Considerations" section
definitely thinks it is a trace field.  I'm happy to try to
untangle that if someone wants to create a ticket in EMAILCORE
and tell me what to do (i.e., if it is or is not a trace field).

Section 7.6 really is about "Received": If people think there is
an information disclosure issue with "Return-path:", please
identify the issue in EMAILCORE and suggest text.  

I definitely agree with you about inconsistent definitions in
different places, both within 5321 and between 5321 and 5322.
But, given the language from Section 4.4 mentioned earlier
(paragraph starting "The text above implies...", I don't think
it is fair to dismiss the expectations of an implementation that
depended on either that, the RFC 5322 definition, or both, as
"some implementation behavior...".

best,
   john



--On Monday, February 15, 2021 13:10 -0800 Dave Crocker
<dhc@dcrocker.net> wrote:

> On 2/15/2021 12:50 PM, John Levine wrote:
>> So here's a radical, different, new idea: let's just say
>> Delivered-To is a trace header. Because that's what it is.
> 
> 
> Not according to the definition in RFC 5321...
> 
> 
>> 4.1.1.4.  DATA (DATA)
> ...
>>    When the SMTP server accepts a message either for relaying
>>    or for final delivery, it inserts a trace record (also
>>    referred to interchangeably as a "time stamp line" or
>>    "Received" line) at the top of the mail data.  
> 
> The only defined 'trace' header field is Received:.
> 
> 
> and:
> 
>> 4.4.  Trace Information
>> 
>>    When an SMTP server receives a message for delivery or
>>    further processing, it MUST insert trace ("time stamp" or
>>    "Received") information at the beginning of the message
>>    content, as discussed in Section 4.1.1.4.
> 
> The only header field defined as 'trace' is Received:.
> 
> and:
> 
>> 7.6.  Information Disclosure in Trace Fields
>> 
>>    In some circumstances, such as when mail originates from
>>    within a LAN whose hosts are not directly on the public
>>    Internet, trace ("Received") header fields produced in
>>    conformance with this specification may disclose host
>>    names and similar information that would not normally be
>>    available.
> 
> ditto.
> 
> Until...
> 
>> 8.  IANA Considerations
> ...
>>    In addition, if additional trace header fields (i.e., in
>>    addition to Return-path and Received) are ever created,
>>    those trace fields MUST be added to the IANA registry
>>    established by BCP 90 (RFC 3864) [11] for use with RFC
>>    5322 [4].
> 
> oops.
> 
> And then, yes, RFC 5322 has an incompatible definition:
> 
>>    trace           =   [return]
>>                        1*received
>> 
>>    return          =   "Return-Path:" path CRLF
>> 
> 
> another oops, nicely demonstrating the problem with defining
> the same thing in two places.
> 
> 
> 
> So please stop taking some implementation behavior and then
> trying to retrofit some terminology to fit it.  Particularly
> since there is no operational or semantic need.
> 
> 
> There is nothing wrong with the implementations you cite.  The
> problem is with making a post-hoc declaration that a new field
> is tied to those other fields.  It isn't.
> 
> 
> 
> 
> d/