Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!rutgers!uwvax!umn-d-ub!nic.MR.NET!shamash!nis!com50!jhereg!mark
From: mark@jhereg.Jhereg.MN.ORG (Mark H. Colburn)
Newsgroups: comp.mail.uucp
Subject: Re: When to reroute (Re: active rerouting)
Message-ID: <193@jhereg.Jhereg.MN.ORG>
Date: 28 Sep 88 14:28:17 GMT
References: <4740@b-tech.UUCP> <4747@b-tech.UUCP> <4748@b-tech.UUCP> <4753@b-tech.UUCP> <1426@ficc.uu.net> <6548@chinet.UUCP> <802@bacchus.dec.com> <1036@vsi1.UUCP>
Reply-To: mark@jhereg.MN.ORG (Mark H. Colburn)
Organization: NAPS International, St. Paul, MN
Lines: 47

>wants to to pass the mail to bar.  Foo's obligation is only to send the mail
>to bar.  This satisfies Paul's "implicit promise" while allowing knowledgeable
>adaptation for local conditions.

Unfortunately, it does, and it does not.  It only provides the "implicit
promise" if and only if no sites along foo's route to bar decide to
reroute as well.  

Here is a contrived pathalogical example using the mail path 
foo!bar!baz!user:

Foo re-writes the original path to site1!site2!bar!baz!user. If site1 
decides they know a better route to baz (say site bar is down), they 
could in turn route it, possibly to: baz!user%sitec@sited (god what a 
twisted address).   Sited gets the message and turns it back into 
baz!user@sitec and may or may not be able to route the message.

The problem with this last address (baz!user@sitec) is that it is not 
an explicit address.  The rules for parsing that address are completely
undefined.  Therefore the mail could go to baz!(user@sitec) or
(baz!user)@sitec or it may go to the dead-letter bin....

Eventually, the message may or may not get to baz!user.  Unfortunately 
this kind of routing (mixing bangs and ats) is performed by several 
mailers around the net.

Therefore, the only way the "implicit promise" is kept is if a SINGLE 
host along the path reroutes providing a valid address to other sites 
which do not reroute, or all sites which do re-route provide valid, 
RFC-822 conformant addresses.

There is no way to guarantee that a single host rewrites the path 
unless an additional header were put into the mail envelope which 
providded a list of sites which re-routed.  Something like a line which 
read Xre-route:  []; each site which re-route 
could put the line  in.  I would like to see this anyways, that way when 
a message bounces, you can track down the sites which rerouted it 
incorrectly.

The latter solution (everybody generates RFC-822 conformant addresses) 
is a better solution, but, unfortunately, no one which is likely to 
happen in the near future...

-- 
Mark H. Colburn                  "They didn't understand a different kind of 
NAPS International                smack was needed, than the back of a hand, 
mark@jhereg.mn.org                something else was always needed."