Path: utzoo!utgpu!water!watmath!clyde!att!rutgers!gatech!utkcs2!moore From: moore@utkcs2.cs.utk.edu (Keith Moore) Newsgroups: comp.mail.uucp Subject: Re: active rerouting Message-ID: <567@utkcs2.cs.utk.edu> Date: 28 Sep 88 00:21:24 GMT References: <4740@b-tech.UUCP> <4747@b-tech.UUCP> <4748@b-tech.UUCP> <6581@chinet.UUCP> <2105@edsews.EDS.COM> <12604@ncoast.UUCP> Reply-To: moore@utkcs2.cs.utk.edu (Keith Moore) Organization: CS Dept - U of TN, Knoxville Lines: 73 In article <12604@ncoast.UUCP> allbery@ncoast.UUCP (Brandon S. Allbery) writes: >As quoted from <2105@edsews.EDS.COM> by roberts@edsews.EDS.COM (Ted Roberts): >+--------------- >| In article <6581@chinet.UUCP>, les@chinet.UUCP (Leslie Mikesell) writes: >| > >| > Suppose >| > you want siteC to route siteA!siteB!siteC!domain.dom!user or >| > siteA!siteB!siteC!user@domain.dom. >| >| These are not the same thing. The first route would send to siteA, then >| siteB, then siteC and siteC would route to user@domain.dom which they >| would know how to do since they know how to resolve domain addresses >| (you hope:-). The second would attempt to send to domain.dom, then to >| siteA, then to siteB, then to site C, then to user. This is because the >| "@" syntax takes precedence over the "!" syntax. >+--------------- > >WRONG!!! "@" and "!" are used by different networks -- there is NO defined >precedence between them! (You're comparing apples to oranges.) UUCP sites >give "!" precedence, Internet domain mailers give "@" precedence. The example quoted assumes an RFC 976 compliant mailer. One must recognize that not all uucp-based mail systems are RFC 976 compliant (this is probably the exception rather than the rule), which is (I think) the point Brandon was trying to make. >On ncoast (a UUCP system) "!" has precedence. Our neighbor "hal" gives "@" >precedence because they are on the Internet. This can be quite useful; if I >want to send mail across the Internet I can mail to hal!foo@bar.COM, thus >overriding the UUCP route (which may well be slower) that smail would give >me from a straight "foo@bar.COM". On your system, you would probably want >to switch to UUCP only after you got as "close" to the recipient's system as >possible, so you would want "@" to have higher precedence. Thus, the >current system is useful for both of us. Just don't assume that everyone's >mailer handles things the same way, as we *are* on different networks. The caveat here is that "hal" must be careful to ensure that any mixed bang/@ paths that escape into Internet mail conform to RFC 976. Also, if "hal" accepts mixed bang/@ paths at all, it should interpret them according to RFC 976. Although you can get away with using hal!foo@bar.com, we should probably be encouraging people to use hal!bar.com!foo instead, which *should* work also and had the advantage of being unambiguous. The ambiguity of the mixed syntax really causes problems with situations like the following arise: I send mail to "node1!node2!node3!node4!user@node5.com" . node1 has an old-style uucp mailer, so it just strips off its own name, and sends the mail on to node2. node2, however, has an RFC 976 compliant mailer, and so sends the mail (perhaps via a gateway) to node5.com, rather than to node3. node5 will then try to send the mail to "node3!node4!user" . Surely this is not what I intended, and there is no guarantee that the mail will even arrive at node4, since node3 may not be visible to node5. (Can anyone say how often things like this happen?) >Things get even more interesting when you try to apply your rules to a >DecNet network or to the Bitnet as well (on Decnet, does "::" have >precedence above or below "@"? How about "!"? Does Decnet even *care* what >the relative precedence of "!" and "@" is?) I think the answer here is that it is undefined. The safest thing to do seems to be to rewrite all addresses so that the node::user syntax is never seen in either the Internet or uucp worlds. The *best* thing to do is to define an MX record for each DECnet node and translate addresses when crossing a gateway. The easy thing to do is to rewrite node::user into user%node.decnet@well.known.domain . It's ugly but it does work. (Of course, within the DECnet world, :: has precedence over anything else! ...and you usually have to put the rest of the address in double quotes.) -- Keith Moore UT Computer Science Dept. Internet/CSnet: moore@utkcs2.cs.utk.edu 107 Ayres Hall, UT Campus BITNET: moore@utkcs1 Knoxville Tennessee 37996-1301 Telephone: +1 615 974 0822