Re: [lemonade] streamlined message submission

Randall Gellens <randy@qualcomm.com> Mon, 06 March 2006 22:49 UTC

Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1FGOWT-0003GL-I2; Mon, 06 Mar 2006 17:49:49 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1FGOWR-0003GG-DX for lemonade@ietf.org; Mon, 06 Mar 2006 17:49:47 -0500
Received: from numenor.qualcomm.com ([129.46.51.58]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FGOWP-0004xk-IP for lemonade@ietf.org; Mon, 06 Mar 2006 17:49:47 -0500
Received: from sabrina.qualcomm.com (sabrina.qualcomm.com [129.46.61.150]) by numenor.qualcomm.com (8.12.10/8.12.5/1.0) with ESMTP id k26MneFT027378 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Mon, 6 Mar 2006 14:49:41 -0800
Received: from [192.168.1.13] (loud.qualcomm.com [129.46.172.15]) by sabrina.qualcomm.com (8.13.5/8.12.5/1.0) with ESMTP id k26Mndeo019798; Mon, 6 Mar 2006 14:49:40 -0800 (PST)
Mime-Version: 1.0
Message-Id: <p07000c08c03269dca0fc@[192.168.1.13]>
In-Reply-To: <14379.1141550327.734683@peirce.dave.cridland.net>
References: <Pine.LNX.4.64.0602220017450.24112@hermes-2.csi.cam.ac.uk> <DFFAA59A7AAA0F1946ED42D8@[10.1.110.5]> <Pine.LNX.4.64.0602220017450.24112@hermes-2.csi.cam.ac.uk> <21533.1140619429.225276@peirce.dave.cridland.net> <01LZ9FNBLMAS00009C@mauve.mrochek.com> <Pine.LNX.4.64.0602221744440.24112@hermes-2.csi.cam.ac.uk> <Pine.LNX.4.64.0602220017450.24112@hermes-2.csi.cam.ac.uk> <01LZ8M8NO8S800009C@mauve.mrochek.com> <Pine.LNX.4.64.0602221332430.24112@hermes-2.csi.cam.ac.uk> <01LZ9CVRUSC000009C@mauve.mrochek.com> <43FC8731.3080505@teamware.com> <Pine.LNX.4.64.0602220017450.24112@hermes-2.csi.cam.ac.uk> <21533.1140619429.225276@peirce.dave.cridland.net> <Pine.LNX.4.64.0602221459460.24112@hermes-2.csi.cam.ac.uk> <22667.1140657288.257701@peirce.dave.cridland.net> <Pine.LNX.4.64.0602220017450.24112@hermes-2.csi.cam.ac.uk> <21533.1140619429.225276@peirce.dave.cridland.net> <Pine.LNX.4.64.0602221459460.24112@hermes-2.csi.cam.ac.uk> <21533.1140619429.225276@peirce.dave.cridland.net> <Pine.LNX.4.64.0602220017450.24112@hermes-2.csi.cam.ac.uk> <01LZ8M8NO8S800009C@mauve.mrochek.com> <Pine.LNX.4.64.0602221332430.24112@hermes-2.csi.cam.ac.uk> <01LZ9CVRUSC000009C@mauve.mrochek.com> <Pine.LNX.4.64.0602220017450.24112@hermes-2.csi.cam.ac.uk> <01LZ8M8NO8S800009C@mauve.mrochek.com> <Pine.LNX.4.64.0602220017450.24112@hermes-2.csi.cam.ac.uk> <21533.1140619429.225276@peirce.dave.cridland.net> <01LZ9FNBLMAS00009C@mauve.mrochek.com> <Pine.LNX.4.64.0602220017450.24112@hermes-2.csi.cam.ac.uk> <01LZ8M8NO8S800009C@mauve.mrochek.com> <Pine.LNX.4.64.0602221332430.24112@hermes-2.csi.cam.ac.uk> <Pine.LNX.4.64.0602220017450.24112@hermes-2.csi.cam.ac.uk> <p07000c39c02e9fd5ca8a@[129.46.172.15]> <14379.1141550327.734683@peirce.dave.cridland.net>
X-Mailer: Eudora for Mac OS X v7.0a
X-message-flag: Using Outlook? Upgrade to Eudora: <http://www.eudora.com>
Date: Mon, 06 Mar 2006 14:43:52 -0800
To: Dave Cridland <dave@cridland.net>, lemonade@ietf.org
From: Randall Gellens <randy@qualcomm.com>
Subject: Re: [lemonade] streamlined message submission
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format="flowed"
X-Random-Sig-Tag: 1.0b28
X-Spam-Score: 0.0 (/)
X-Scan-Signature: f66b12316365a3fe519e75911daf28a8
Cc:
X-BeenThere: lemonade@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Enhancements to Internet email to support diverse service enivronments <lemonade.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/lemonade>, <mailto:lemonade-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:lemonade@ietf.org>
List-Help: <mailto:lemonade-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/lemonade>, <mailto:lemonade-request@ietf.org?subject=subscribe>
Errors-To: lemonade-bounces@ietf.org

At 9:18 AM +0000 3/5/06, Dave Cridland wrote:

>  On Sat Mar  4 02:33:49 2006, Randall Gellens wrote:
>>  At 5:09 PM -0800 2/21/06, Ned Freed wrote:
>>>    > 
>>> http://www.cus.cam.ac.uk/~fanf2/hermes/doc/antiforgery/draft-fanf-smtp-rcpthdr.txt
>>
>>
>>
>>>   (0) How are malformed or unparseable To:/Cc:/Bcc: fields supposed to be
>>>       handled? There's no place to report such an error in the dialogue and
>>>       a DSN isn't designed to report such issues.
>>
>>>   (1) How are problems with specific recipient addresses supposed 
>>> to be handled?
>>
>>  If we do proceed with this draft, I'd suggest that malformed and 
>> unparseable address headers, as well as errors for a specific 
>> address, be handled by a new extended SMTP response code and 
>> including the bad address (or the entire header if it is bad) in 
>> square brackets in the text.  This would have to be a response 
>> after end of data, of course.
>>
>>  It's still a lot tricker for clients to get this right than an 
>> immediate error after the specific RCPT TO, but it's much, much, 
>> much better than accepting the message and generating a DSN.
>>
>  Chris Newman briefly proposed doing it the other way around, that 
> is, generating the headers from the envelope.
>
>  I've written this up as 
> http://dave.cridland.net/draft-cridland-esmtp-headergen-pre.txt 
> with XML source at 
> http://svn.dave.cridland.net/svn/ietf-drafts/draft-cridland-esmtp-headergen.xml
>
>  (This is very rough thus far, just aimed at being a talking point. 
> In particular, as I write this, I note I've not yet seperated out 
> informative and normative references at all.)
>
>  Given the availability of PIPELINING, this seems like a better and 
> easier way to go.

I'd agree that this approach (generating headers from envelope) is 
better than the other way around, since the client can easily 
determine which address is bad, but I'd still question the value.  It 
seems to me that saving round-trips is the key, that as 3G systems 
are deployed, total octet savings isn't as important, while latency 
and round-trips still are.  I could easily be wrong, of course.  But 
I'd like to see better explanations of why the added complexity is 
worth the octet savings.

(By the way, I like that 'foo' is the username for 'Fred Oo' -- clever).


>
>>  The client would pipeline QUIT and check the responses after the 
>> connection closes, right?  I suppose we'd want an extension that 
>> said "if any RCPT is bad then please ignore any subsequent ones 
>> because I don't really want it sent even though it might seem so 
>> but that is just because I am pipelining everything".  It would be 
>> the moral equivalent of the compiler flags to treat all warnings 
>> as errors. The client would include this new keyword on MAIL FROM 
>> (maybe ABORTONBADRCPT), the server would generate usual responses 
>> to every RCPT TO, then if any were bad, it would send a failure 
>> after end-of-data.
>>
>  It's actually saying "If any RCPT is bad then I'm going to waste a 
> stackload of data transmission, and therefore cost and battery 
> life". I think if you want this behaviour, you have to introduce a 
> post-envelope sync point - ie, you send the envelope, and examine 
> responses to decide whether you wish to continue.

I suppose it depends on if we want to optimize for the error case or 
the non-error case.  If we expect at least one RCPT to fail, then we 
don't want to send the data until we know.  But if we expect that all 
RCPTs will be fine, then we don't want to introduce a delay waiting 
for the server response if we can pipeline the entire transaction. 
The size of the message is also significant, of course.  If we have a 
small message, then why have any delay?  But if we have a large 
message, maybe it makes sense to wait.

So perhaps there is use for such an extension plus client advice on 
how and when to use it.

-- 
Randall Gellens
Opinions are personal;    facts are suspect;    I speak for myself only
-------------- Randomly-selected tag: ---------------
The reliability of machinery is inversely proportional to the
number and significance of any persons watching it.

_______________________________________________
lemonade mailing list
lemonade@ietf.org
https://www1.ietf.org/mailman/listinfo/lemonade