ietf
[Top] [All Lists]

Re: Last Call: 'Message Submission' to Draft Standard

2005-02-11 22:21:50
 Date: 2005-02-10 19:09
 From: Randall Gellens <randy(_at_)qualcomm(_dot_)com>
  
At 3:03 PM -0500 2/10/05, Bruce Lilly wrote:

 There are some differences between what the draft says and that
 description:
 1. the draft explicitly permits operation on port 25
 2. the draft section 4.3 doesn't mention port.

 Specifically regarding the 4.3 MUST quoted above and the reply code,
 and the necessary two independent implementations required for
 advancement to Draft Standard status, do the implementations supporting
 the request to advance to Draft in fact unconditionally require
 authorization (i.e. independent of whether port 25 or 587 is used, and
 regardless of administrative configuration other than specifying that the
 implementation is to act as an MSA), and reply with code 530 (unspecified
 extended response code) if authorization is lacking?

Both the draft and RFC 2476 allow submission to use 25 instead of 
587, but state that "normally" 587 is used, and allow 25 to be used 
in order to accommodate implementations that are hard to configure. 
Both say that port 587 is reserved for submission.  So, 587 is the 
normal case for submission, and 25 is an exceptional case.

But as written, section 4.3 specifies that when acting as an MSA,
authentication MUST (emphasis in original) be used, regardless of
port.

Please see the implementation report for the details, but I believe 
most implementations had various configuration options that allowed 
them to require authentication or not.

Again, "or not" is not allowed by the draft as written; implementations
with an "or not" provision would fail to comply with the "MUST" (they
would comply with a "SHOULD", however).

Aside: based on my understanding of the implementation report, there
are no two implementations which simultaneously comply with all of
the draft (or 2476) provisions, failing the "two independent
implementations" test for advancement to Draft Standard status.

 On another matter, admittedly unchanged since RFC 2476, there seem to
 be some undesirable discrepancies between submission and non-submission
 ESMTP regarding extended response codes.  Draft section 3.4 states that
 extended status code 5.6.2 means "Bad domain or address", whereas
 RFC 3463 assigns that code the semantics "Conversion required and
 prohibited" [RFC 3463 section 3.7].  The corresponding RFC 3463
 extended response code for domain/address issues would be in the
 5.1.XXX range [RFC 3463 section 3.2].  The draft specifies (sect. 5.1) use
 of 5.6.2 with 554 for message header field address issues when an error
 is reported after DATA.  SMTP (RFC 2821) does not require examination
 of message header address field content except in the particular case
 of a gateway [RFC 2821 section 3.8].  If the intent is that MSAs are
 always to be considered to be gateways, then the draft should explicitly
 say so (the term "gateway" does not appear anywhere in the draft).
 [that would be a novel use of the term "gateway" in Internet mail; a
 gateway usually has one side in a non-SMTP environment]
 Conversely, if MSAs are not always to be considered as gateways, then
 returning errors in response to message content is:
 1. explicitly counter to the SHOULD NOT of RFC 2821 section 3.4 (bottom of
    page 18)
 2. inappropriately associated with "conversion" semantics where no
    conversion is in fact required (indeed, other than adding trace fields,
    tinkering with message data by non-gateway SMTP receivers is disallowed
    [RFC 2821 section 2.3.8]).

It is not the intent of either this draft or RFC 2476 to say that 
MSAs are always gateways; rather, the intent in both is to recognize 
the reality that organizations sometimes see a need to examine and 
potentially modify messages submitted using their servers, and to 
make a clear distinction between this case, and the 
examination/modification of messages being relayed.

Well, there's an unresolved incompatibility with RFC 2821.

Following up on a disturbing sense of déja vu, I checked my records
and found the following commentary on RFC 2476 -- I believe that the
issues remain largely unaddressed by the draft:
---------------------
Date: Sat, 17 Apr 2004 22:54:44 -0400
From: Bruce Lilly <blilly(_at_)erols(_dot_)com>
Reply-To: blilly(_at_)erols(_dot_)com
Organization: Bruce Lilly
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7b) Gecko/20040316
X-Accept-Language: en-us
MIME-Version: 1.0
To: John C Klensin <klensin(_at_)jck(_dot_)com>,
 Randy(_at_)Qualcomm(_dot_)Com
Subject: Comments on RFC 2476 (Submission protocol)
X-Enigmail-Version: 0.83.5.0
X-Enigmail-Supports: pgp-inline, pgp-mime
Content-Type: text/plain;
  charset=us-ascii
Content-Transfer-Encoding: 7bit
X-UID: 407
X-Length: 3072

Hello,

First, the reason that I'm sending this directly rather than to ietf-submit is 
that
I'm not subscribed to that list and in a few hours I'll be on an airplane on a
business trip, and I may be incommunicado for a week or so.  By all means feel 
free
to forward my comments to the list and/or to Chris Newman (whom I see has made 
some
list contributions about a month ago; unfortunately the list archive on the IMC 
web
sit only displays "Chris Newman <Chris(_dot_)Newman(_at_)xxxxxxx>" and the 
corresponding
mailto link is the useless 
"mailto:Chris(_dot_)Newman(_at_)DOMAIN(_dot_)HIDDEN").

Following are my comments, in the order as presented in the RFC:

section 3.2, last NOTE:

Of course the MSA, in order to "properly handle delayed bounces" will have to be
able to accurately determine the source, which s probably only possible is some
authentication mechanism is used.

section 3.4 enhanced status codes:

This is the biggest problem that I see: the basis is RFC 1893 (superseded by RFC
3463) status codes, which specifically address only issues related to hard 
errors
in delivery.  For example, there is no standardized extended status code to 
address
the situation where an email address is not valid but a forwarding address is
available.  3463 does address the situation where such a forwarding address is 
NOT
available (5.1.6), but not the situation corresponding to SMTP response 251.
2.1.6 might be an appropriate extended status code, but RFC 3463 specifically
states that X.1.6 " is only useful for permanent failures", i.e. 5.1.6.

One might hope that some unified set of extended status codes might be developed
that could be used for multiple protocols.  Unfortunately, there seems to be an
inconsistency even within the mail protocols. RFC 2476 lists extended status 
code
5.6.2 as "Bad domain or address", whereas RFC 3463 (and 1893) list that code as
"Conversion required and prohibited". That is very confusing, since RFC 3463
provides a range of extended codes (x.1.0 through x.1.8) for address/domain
errors.

It is also notable that RFC 2476 (e.g. section 4.1) provides no extended status
codes for transient failures or for success; only class 5 -- permanent failure.

Another example of the extended status issue shows up in RFC 2476 section 5.1,
which again addresses only permanent failures, not temporary failures (e.g.
DNS transient failures). It also doesn't distinguish between syntax errors
and address semantic errors.

Best regards,
  Bruce Lilly
----------------------------------

_______________________________________________
Ietf mailing list
Ietf(_at_)ietf(_dot_)org
https://www1.ietf.org/mailman/listinfo/ietf