Re: header-munging
Ned Freed <Ned.Freed@innosoft.com> Tue, 24 September 1996 00:25 UTC
Received: from cnri by ietf.org id aa11614; 23 Sep 96 20:25 EDT
Received: from list.cren.net by CNRI.Reston.VA.US id aa25642; 23 Sep 96 20:25 EDT
Received: from localhost (localhost.0.0.127.in-addr.arpa [127.0.0.1]) by list.cren.net (8.7.6/8.6.12) with SMTP id TAA02360; Mon, 23 Sep 1996 19:48:02 -0400 (EDT)
Received: from THOR.INNOSOFT.COM (THOR.INNOSOFT.COM [192.160.253.66]) by list.cren.net (8.7.6/8.6.12) with ESMTP id TAA02346 for <ietf-smtp@list.cren.net>; Mon, 23 Sep 1996 19:47:57 -0400 (EDT)
Received: from INNOSOFT.COM by INNOSOFT.COM (PMDF V5.0-7 #8694) id <01I9TEGGE5SW8Y68HY@INNOSOFT.COM>; Mon, 23 Sep 1996 16:46:48 -0700 (PDT)
Message-Id: <01I9TPSKTMMQ8Y68HY@INNOSOFT.COM>
Date: Mon, 23 Sep 1996 16:03:38 -0700
Sender: owner-ietf-smtp@list.cren.net
Precedence: bulk
From: Ned Freed <Ned.Freed@innosoft.com>
To: Keith Moore <moore@cs.utk.edu>
Cc: ietf-smtp@list.cren.net, Keith Moore <moore@cs.utk.edu>
Subject: Re: header-munging
In-Reply-To: "Your message dated Mon, 23 Sep 1996 16:56:35 -0400" <199609232056.QAA25962@ig.cs.utk.edu>
References: <22875.843341126@odin.nma.com>
MIME-version: 1.0
Content-type: text/plain; charset="us-ascii"
Content-transfer-encoding: 7bit
X-Listprocessor-Version: 8.1 -- ListProcessor(tm) by CREN
> > Our job in the standards business is to define the ABSTRACT model and > > the interactions between ABSTRACT model components. > > Out job is NOT to decide anything about how an implementation might > > actually make it happen, as long as no ABSTRACT MODEL violations can > > be detected outside the boundaries of the code that does the work. > I strongly disagree. > Our job is to make the net work well, using such tools as we have at > our disposal. (Our tools tend to be published documents, but also > include hallway discussions, technical meetings, private email, and > other mechanisms for sharing information.) We don't have to > artifically limit ourselves to writing standards documents in terms of > abstract models. Folks, I think the key point to all this isn't how we define or instantiate the abstract model, it is in which sorts of fixups are practical in a split-composition setup and which ones aren't. Specifically, I read Keith's position as not necessarily in opposition to fixups per se, but as being in opposition to our attempting to fix things that a separate component from the user agent isn't likely to get right. > Case in point: There's nothing wrong with the abstract model we are > currently using for email. The problem we have -- that MUAs don't > generate correctly formatted messages -- isn't due to a failing of the > abstract model, but due to the practical difficulty of supplying the > MUA with the correct information that it needs to do the job right. I agree with this, but in order to understand the issues you have to get down to the specific fixups that are envisioned. The list in Harald and Randy's draft is a good start. I'm reproducing it here, with comments of my own after each item. (3) Add a 'Sender' field to the submitted message, if it knows the identity of the sender and this is not given in the 'From' field. In some configurations you can infer the proper 'Sender' field from the IP address of the client and possibly from the use of some sort of authentication mechanism used under the SMTP connection. However, in many configurations this simply isn't possible, and as such a submission protocol does not provide a general solution to this (very real and very vexing) problem. As such, while I have no problem with implementing facilities along these lines, I believe the real solution is to provide a means by which user agents can obtain a definitive form of this information, e.g. as part of the ACAP protocol. I am also afraid that attempting to solve this problem in a submission protocol may take energy away from engineering a real solution to the problem. (4) Add a 'Date' field to the submitted message, if it lacks it. Adding a 'Date' field when it is missing is better than not having one at all. But as Keith has already pointed out, the RFC822 'Date' field is the creation date for the message, not the posting date, and as such this really doesn't fix the problem properly. (5) Correct the 'Date' field if it does not conform to [RFC-822] syntax (as modified by [RFC-1123]). Again, fixing a broken 'Date' field (e.g. one that lacks a time zone) is better than leaving it broken, but there is no guarantee that the submission server will know how to fix a given sort of bust in a 'Date' field. I believe that at a minimum there needs to be a note added to the effect that this field wasn't generated by the originating agent, and thus doesn't necessarily reflect the creation time of the message. (6) Add a 'Message-ID' field to the submitted message, if it lacks it. I see no downside to this. (7) Transfer encode the message according to MIME conventions, if desirable and needed. I see no downside to this either. (8) Resolve aliases (CNAME records) for domain names, in the envelope as well as the text, subject to local policy. For example, if www.ab.com and ftp.ab.com are both aliases for mail.ab.com, rewriting them could lose useful information. I have real problems with the use of CNAMEs, period, but modulo those concerns I see no real downside here. Use of shortform names is also something that can be dealt with correctly by submission servers in almost every case. (9) Rewrite local parts, according to local policy. For example, a site may prefer to rewrite JRU as J.Random.User in order to hide logon names. I see no downside to this either, but I'm also not sure that this is really restricted to messages sent to the submission servers. Sites that implement centralized naming schemes generally want the scheme applied to all messages all the time. (10) Add a 'Content-MD5' field to the submitted message, if it lacks it. I'm not entirely comfortable with this, as it implies that the message hasn't been corrupted in the process of getting it to the submission server. I guess this would be OK if the submission server noted where the checksum field had been added. So where does all this leave us? It leaves us with a non-null class of problems that a submission server can be called upoin to solve. It also leaves us with a non-null class of problems a submission server isn't likely to be able to solve with sufficient degree of generality to be called a real solution to the underlying problem. Whether or not the set of problems solvable with a submission server is large enough and the set of problems not solvable with a submission server small enough to go to the effort of specifying such a thing is the key decision we have to make here. > Splitting the MUA into two abstract components -- one of which > generates a message on the basis of incomplete or inaccurate > information and the other of which fixes it up -- isn't going to help, > UNLESS we somehow significantly increase the liklihood that the > component that fixes things up has more accurate information than > present-day MUAs. Alternately, unless we make reasonably sure that the submission server only attempts the fixups it is actually in a position to do correctly. > NONE of the proposals which use SMTP in any way to do "fixup" of > submitted messages are ANY more likely (certainly not "significantly" > more likely) to produce correct messages than the status quo. Hmm. Well, I'm not sure I agree with this. Some fixups do make sense, others do not, at least not in general. (Note that practically any fixup you can think of will make sense in a sufficiently limited context and with sufficiently strong bilateral agreements in place.) > We can twiddle the abstract model all we want, but if IN PRACTICE, the > guy doing the fixup still lacks the correct information, we will not > have improved the reliability of email. We'll have succeeded only in > creating a new way to talk about the same old problem (we'll blame a > different component of the system), and perhaps even in making the > problem worse than it is now. Exactly. The key here is what information is available to the various components. In some cases a submission agent is far less likely to have the necessary information than the originating user agents, and in these cases we aren't helping matters by trying to lift a part of the burden that can only be carried by the originating user agent. > On the other hand, if we want to improve the reliability of email, we > need to arrange things so that the component that generates the > message that goes out on the wire, is likely IN PRACTICE to have all > of the information that it needs to do so. That means that the parts > of the message which are dependent on the sender's environment, need > to be somehow supplied by the sender's environment. > The whole approach of transmitting an incomplete 822 message over a > network connection, and having it be "fixed up" by the entity at the > other end of that connection, makes it likely that the "fixup guy" > will be in a different environment than the sender, and thus likely > that the "fixup guy" will not have the information it needs. So the > whole approach is likely to lose. Again, I think this goes too far. I agree that there is a class of information that the submission server is less likely to have than the originating agent, and thus Keith's objection is well founded. But I don't believe that all information a submission server could provide necessarily falls into this category. Ned
- Re: header-munging Tim Goodwin
- Re: header-munging D. J. Bernstein
- Re: header-munging D. J. Bernstein
- Re: header-munging Michael D'Errico
- Re: header-munging D. J. Bernstein
- Re: header-munging mark
- Re: header-munging D. J. Bernstein
- Re: header-munging Arnt Gulbrandsen
- Re: header-munging D. J. Bernstein
- Re: header-munging Michael D'Errico
- Re: header-munging Randall C. Gellens
- Re: header-munging Randall C. Gellens
- Re: header-munging Randall C. Gellens
- Re: header-munging Valdis.Kletnieks
- Re: header-munging Randall C. Gellens
- Re: header-munging Randall C. Gellens
- Re: header-munging Randall C. Gellens
- Re: header-munging Tim Goodwin
- Re: header-munging Randall C. Gellens
- Re: header-munging Tim Goodwin
- Re: header-munging Keith Moore
- Re: header-munging John W. Noerenberg
- Re: header-munging Harald.T.Alvestrand
- Re: header-munging Einar Stefferud
- Re: header-munging D. J. Bernstein
- Re: header-munging Tim Goodwin
- Re: header-munging Einar Stefferud
- Re: header-munging Keith Moore
- Re: header-munging D. J. Bernstein
- Re: header-munging D. J. Bernstein
- Re: header-munging D. J. Bernstein
- Re: header-munging Tim Goodwin
- Re: header-munging D. J. Bernstein
- Re: header-munging Keith Moore
- Re: header-munging D. J. Bernstein
- Re: header-munging Mark Horton
- Re: header-munging D. J. Bernstein
- Re: header-munging D. J. Bernstein
- Re: header-munging D. J. Bernstein
- Re: header-munging D. J. Bernstein
- Re: header-munging Randall C. Gellens
- Re: header-munging Keith Moore
- Re: header-munging Keith Moore
- Re: header-munging Ned Freed
- Re: header-munging Keith Moore
- Re: header-munging Keith Moore
- Re: header-munging Keith Moore
- Re: header-munging Keith Moore
- Re: header-munging Valdis.Kletnieks
- Re: header-munging Harald.T.Alvestrand
- Re: header-munging Valdis.Kletnieks
- Re: header-munging RANDY
- Re: header-munging RANDY
- Re: header-munging RANDY