ietf-smtp
[Top] [All Lists]

Re: What is the history of 2821 and implict MX?

2008-04-07 14:46:12

On 4/7/08 at 3:27 PM -0400, Hector Santos wrote:

Pete Resnick wrote:

1. 974 did *not* have an "A fallback" rule at all. 974 is quite clear that the rule is, "If you can't find an MX, you should treat that as if you *did* find an MX where the preference was 0 and the name in the response was identical to the name queried. (That is, if you get back no MXs for a.example.org, then it should be equivalent to getting back a single MX of "a.example.org IN MX 0 a.example.org".) If this rule were in effect today, you *would* connect to a mail host's IPv6 address even if it had no MX records.

You lost me Pete. While the actual usage of the term "implicit MX" is not used in 974, [...] the description in 974 which you repeated above is effectively the same result that 2821 described as the implicit MX record.

No, you are incorrect. In the 974 algorithm, if the list of MX records is empty, you add an MX (with a preference of 0 and the result name being identical to the initial MX query name*) to the list, and then do normal processing on the MX list. In 974, "normal processing" involves finding the "address" associated with the domain. It does not mention A records at all. So, for an IPv6 client, following the 974 algorithm pretty clearly involves looking up AAAA records.

In the 2821 algorithm, if the list of MX is empty, you first do an A record lookup on the name. Only if that succeeds do you add an MX record (with a preference of 0 and the result name being identical to the *A record query name*) to the list, and then do normal processing on the MX list. 2821 does not talk about looking up "addresses"; it specifically says that processing on the MX record is looking up "A records". An IPv6 client trying to follow the 2821 algorithm is out of luck.

Under the 974 algorithm, a host with only a AAAA record and no MX or A records will still be found. Under the 2821 algorithm, it won't.

But I don't see how your last statement applies because you are assuming the the IPv4 client is aware of AAAA record and more specifically IPv6 level 2 TCP protocol layers.

Nope. I make no such assumption. Please carefully re-read the above.

Regardless of 974 or 2821 NO MX records behavior (which to me is the same), AAAA results would be meaningless to a IPv4 only client.

True, but irrelevant. Again, see above.

2. 2821 changed the rule and made explicit claims about looking for fallback A records.

Semantics.

No. 2821 provides for A records. 974 does not.

This is exactly what 2821 provides with the implicit MX concept. I fail to see the difference.

Then you really need to re-read the above more carefully.

In fact, I think 2821BIS should reintroduce the last "The idea here is" sentence. Its perfect and will give people a better understanding as to why it exist.

On this, we agree.

The question is, was that intentional? Did DRUMS intend to change the 974 rule in this regard, or was it trying to explain what the 974 rule entailed by using examples? So far, I can find nothing in the DRUMS archive to support the position that 2821 intentionally changed the 974 rules.

Probably because there are basically the same?

They are not.

My current feeling is that 2821bis should clarify that it intended the 974 rule. Yes, that gets us implicit MXs that point to AAAA hosts. Such is life.

+1.  Adding that "The idea here is" line would be wonderful. :-)

Well, so long as we agree on the result. :-)

pr
--
Pete Resnick <http://www.qualcomm.com/~presnick/>
Qualcomm Incorporated - Direct phone: (858)651-4478, Fax: (858)651-1102