Re: Experimental (was: Re: homework, not an experiment, draft-crocker-email-deliveredto)
John C Klensin <[email protected]> Tue, 17 Aug 2021 11:47:07 -0400
| Newsgroups | gmane.ietf.smtp |
|---|---|
| Message-ID | <3A857F1E8D49C408A712B9E0@PSB> |
--On Tuesday, August 17, 2021 10:52 -0400 Viktor Dukhovni <[email protected]> wrote: > On Tue, Aug 17, 2021 at 10:10:25AM -0400, John C Klensin wrote: > >> A slightly different point of view. While something called >> "Delivered-to:" has been widely deployed, it appears from the >> discussions of the last months that there is less than >> complete agreement about semantics, intended purpose, and >> perhaps (I'm not sure) even the syntax of the header field. > > The field is known to be implemented since the 90's in three > widely used MTAs: Qmail, Postfix and Courier. All three use > it for loop detection, it is private data for use by the MDA > that adds the header field, should the message circle back for > repeated delivery. > > In that light, edge-cases with a variant syntax are also a > private matter for the MDA that uses such syntax. So long as > the header field value does not collide with a value used in > any other ADMD, there's no problem. I think this is a reasonable position. However, it then suggests, as I think you have earlier as well as below, that this is not an Experiment but a description of existing _private_ practices, which would make it Informational. If we are defining syntax (and I note your argument elsewhere), it also suggests that MDAs identify themselves somehow in the field so that one private use can be distinguished from another [1]. Of course, if all or part of the field were encoded in a way that only one MDA could understand -- i.e., that an attempt to decode it into someone usable would fail if the MDA doing the decoding were different from the one that put it there -- it would accomplish that purpose (see Ned's comment on the 13th [2]). >> The draft acknowledges those differences and has become more >> clear and specific as we have moved along (thanks, Dave). >> However, making the definition and statement of intent has >> inevitably moved it much closer to some implementations and >> conceptual models and further from others. > > The draft doggedly refuses to specify the *semantics* of the > field as private data for use by the MDA. No motivating > use-case is provided that justifies any imputed new semantics. > > Thus instead of clarifying the field's use, the draft muddies > the water by (perhaps implicitly) suggesting that a > conforiming MDA is bound to record an address that is proper > input for divining the message by a downstream MUA. For that > use-case, the long-standing deliberate practice is to use > alternative headers and NOT "Delivered-To:". I am not completely sure, but I think we agree on that subject. >> With one qualification, it seems to me that it would be a >> legitimate experiment, well within the intent of BCP 9, to >> create a definition this, or more, precise and then see >> whether existing implementations that use this field or ones >> that appear (at least superficially) similar to it evolve to >> conform. > > The experiment is dead on arrival. While Postfix (the largest > deployment of "Delivered-To" by number of MTAs, though perhaps > not by user count when compared with Gmail) conforms to the > syntax described in the draft, we disavow any external > interpretation of the payload, and will not participate in any > experiment that reinterprets the field value as public data. > For that we have "X-Original-To", but if someone wants to > standardise "Envelope-To" or some other similar field, we'd be > open to using a more widely interoperable header. > >> The qualification is that, while it would be interesting to >> find out if this were the exception, we have considerable >> experience that, if a feature is implemented and used by >> implementations with particular syntax and semantics, the >> odds of those implementations making changes that might >> disrupt existing uses and operations and introduce confusion >> as to whether the "old" or "new" definitions were in use is >> vanishingly small. > > No changes to accommodate any new semantics will happen in > Postfix. If the entire scope of the "experiment" is to see > whether a common syntax would be widely adopted, the > "experiment" is already over, the common syntax proposed is > already widely adopted. > If the "experiment" aims to see whether MDAs will conform to > semantics that enable downstream determination of the > recipient by MUAs, then the "experiment" is also already over, > at least as far as Postfix is concerned. No change in the > semantics making the value non-private data will implemented. With the understanding that my "vanishingly small" is probably the same in practice as your "over", that just reinforces my point so, again, I think we agree. >> Nonetheless, it would be a real experiment and it is not >> clear to me whether the document needs additional work to >> explain that. > > The document skirts the key question of why it is needed at > this time. If the field payload is MDA-private, it hardly > needs a specification, what is the purpose of a specification > at this time, especially one that refuses to specify the key > semantic property (private use). > > An informational document specifying how the field is actually > used (to avoid any confusion) would make considerably more > sense. I'm becoming increasingly convinced of that. I think that, if there is to be an Experiment, it needs to start with a new header field name and then either define both syntax and semantics in a way that would make interoperability possible -or- define a private-use field in which there was a clear and interoperable way for one private instance to distinguish itself from others. best, john [1] I am deliberately not making a distinction between "MDA" as a particular implementation (like Postfix) or a particular operational instance and configuration. I don't think it makes a difference to this discussion but it would obviously need to be clear in any specification. [2] https://mailarchive.ietf.org/arch/msg/ietf-smtp/InmwN2cNEpTDPAn6cHfHmmwcwM8