ietf-smtp
[Top] [All Lists]

Re: 2821 source-routes, strict or loose?

2002-04-23 15:29:20

Eric,

The source routing rules were modified in RFC 1123 to,
essentially, "SHOULD NOT be produced, MAY BE ignored if
received".   The DRUMS consensus, reflected in 2821, was
intended to modify that to "SHOULD NOT be produced, SHOULD BE
ignored" except in exceptional cases.  Receiving SMTPs are
expected to recognize and accept the syntax for the obvious
backward-compatibility reasons, but that is about all they are
expected to do with it.

Neither 1123 nor 2821 say how the intermediate names in a source
route list should be resolved because, if I recall, the focus
was on discouraging the use of the things, not on fine-tuning
them.

If you can read 2821 as ambiguous on this point, please drop me
a note that identifies sections and I'll try to get them fixed
when I get back to the revision.

     john


--On Tuesday, 23 April, 2002 14:05 -0500 "Eric A. Hall"
<ehall(_at_)ehsco(_dot_)com> wrote:



I'm trying to figure out whether or not source-route
addressing is strict or loose. This is mostly a philosophical
question, since I think I already know the answer.

In the context of 821 predating DNS, the use of source-routes
should be interpreted as strict, since a list of "hosts" is
all that was available. However, consider that a routing agent
could have a local routing table that redirected traffic for a
specific mail-domain to another relay (without rewriting the
envelope). Although 821 doesn't define static routing and
precedence issues, the use of static routes wasn't exactly an
unknown concept. Taken together, source-route addresses that
were routed with static maps would be loose, even though they
were defined within a strict context.

With 2821, this is even more jello-like, since each hop in the
path may be resolved with MX resource recrods (defined, but
not for use with source routes), or with any static maps
(still undefined). The terminology in Appendix C makes it
appear that the source-route construct is still intended to be
used with "hosts" but since the hosts are FQDNs, they should
be treated as mail domains, with MX being applied.

This means that with EG relay1:user(_at_)hosta

     originator --> submission

     submission router does MX/static lookups
       [null] relay1=relay1

     submission --> relay1

     relay1 router does MX/static lookups
       MX hosta=relay2, pref 10

     relay1 --> relay2

     relay2 router does MX/static lookups
       STATIC hosta=hosta

     relay2 --> hosta

So it is loose in practice, even though it is implied as
strict.

Is that off-base? I can't find anything that would either
endorse or reject this output.

A better question here would be "what is the implementation
norm?" Do most implementations treat source routes as strict,
rejecting mail if a direct connection cannot be established,
or do they process the next-hop of the source-route address
through the routing table?

-- 
Eric A. Hall
http://www.ehsco.com/ Internet Core Protocols
http://www.oreilly.com/catalog/coreprot/

 



<Prev in Thread] Current Thread [Next in Thread>