Why should an MTA remove a dot in case of technically invalid '.one'?
What would be its significance? RFC should not mandate any unnecessary
operation.
It is like a mathematical function and its inverse function:
f(x) = x+1, where x>=1
f'(y) = y-1, where y>1
NOTE the input set precondition in the derived inverse function. If
f'(y) is not defined for y=1 then how can it be expected to give a
result for y=1.
-----Original Message-----
From: Valdis(_dot_)Kletnieks(_at_)vt(_dot_)edu
[mailto:Valdis(_dot_)Kletnieks(_at_)vt(_dot_)edu]
Sent: Monday, May 15, 2006 7:34 PM
To: Tulsi Ram Mayala
Cc: ietf-smtp(_at_)imc(_dot_)org
Subject: Re: Transparency
On Mon, 15 May 2006 17:55:06 PDT, Tulsi Ram Mayala said:
Here is the case that demonstrates the dot destuffing functionality in
strongmail MTA:
What does this demonstrate other than a buggy MTA?
telnet ::1 25
Trying ::1...
Connected to ::1.
Escape character is '^]'.
220 turing-police.cc.vt.edu ESMTP Sendmail
8.13.7.PreAlpha0/8.13.7.PreAlpha0; Mon, 15 May 2006 22:14:08 -0400
ehlo localhost
250-turing-police.cc.vt.edu Hello turing-police.cc.vt.edu [IPv6:::1]
(may be forged), pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH DIGEST-MD5 CRAM-MD5
250-STARTTLS
250-DELIVERBY
250 HELP
mail from:<>
250 2.1.0 <>... Sender ok
rcpt to:<valdis>
250 2.1.5 <valdis>... Recipient ok
data
354 Enter mail, end with "." on a line by itself
Subject: test
From: valdis
To: valdis
Date: Mon, 15 May 2006 17:55:06 -0700
.one
..two
...three
....four
.
250 2.0.0 k4G2E8vt011665 Message accepted for delivery
quit
221 2.0.0 turing-police.cc.vt.edu closing connection
And that gets us:
Received: from localhost (turing-police.cc.vt.edu [IPv6:::1] (may be
forged)) by turing-police.cc.vt.edu
(8.13.7.PreAlpha0/8.13.7.PreAlpha0) with ESMTP id k4G2E8vt011665
for <valdis>; Mon, 15 May 2006 22:14:24 -0400
Message-Id:
<200605160214(_dot_)k4G2E8vt011665(_at_)turing-police(_dot_)cc(_dot_)vt(_dot_)edu>
Subject: test
From: valdis(_at_)turing-police(_dot_)cc(_dot_)vt(_dot_)edu
To: valdis(_at_)turing-police(_dot_)cc(_dot_)vt(_dot_)edu
Date: Mon, 15 May 2006 17:55:06 -0700
one
.two
..three
...four
This Does The Right Thing (deletes a single dot) even when we send a
technically invalid '.one' (which should have been '..one'). Your test
case does it *doubly* wrong - first, an invalid '.one' is sent, and the
the leading '.' isn't removed.
Remember, one of the rules (add a dot) applies to the *sending* (client)
SMTP, and the other (remove a dot) applies to the *receiving* (server)
SMTP.