Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!shadooby!accuvax.nwu.edu!tank!oddjob!matt From: matt@oddjob.uchicago.edu (Matt Crawford) Newsgroups: comp.mail.sendmail Subject: Re: Short-circuiting a route Keywords: sendmail, smail, domain names Message-ID: <4140@tank.uchicago.edu> Date: 28 Jun 89 15:17:00 GMT References: <562@daitc.daitc.mil> Sender: news@tank.uchicago.edu Reply-To: matt@oddjob.uchicago.edu (Matt Crawford) Organization: Chicago Superconductivity Center - "Resistance is useless!" Lines: 63 In-reply-to: generous@daitc.daitc.mil (Curtis Generous) Curtis Generous poses a question very near and painful to my heart: ) More and more, I'm seeing UUCP mail going through my host of the format: ) uucp1!uucp2!uucp3!domain.name!user ) Since we have both Internet and UUCP connections, what's the best way to ) handle this situtation if your host is capable of sending mail directly to ) 'domain.name'? Or should it be done? I used to take the position that bang-paths should always by short- circuited to the rightmost fully-qualified domain name, and I set my sendmail to do this by placing two rules in the "machine dependent part of ruleset zero" area. When the rules are invoked, a bang-path address "x!stuff" will be in the form "stuff<@x.UUCP>". I think the rules looked something like: R$+.$=P!$+<@$-.UUCP> $:<$1.$2!$3> if found, drop first hop R<$*!$+.$=P!$+> <$2.$3!$4> look further R<$+.$=P!$+> $:$3<@$1.$2> use internet form Where class P consists of the words ARPA EDU COM GOV MIL NET ORG and the top-level country domains AU, AT, BE, etc. However, there was one bad side-effect. There turn out to be some UUCP-only sites which have registered domain names and forwarders, but whose forwarders DO NOT talk directly to the registered site. Instead they route mail to the registered site with pathalias, sometimes passing through my site. So mail for joe-blow@registered.site.com would go to the MX-designated forwarder forwarding.host.edu which would pass it on by UUCP (often UUCP-over-TCP for some hops) to oddjob!more!names!registered.site.com!joe-blow Oddjob got that, skipped ahead to registered.site.com, looked up the MX record, and closed a mail loop. I think that it is "bad and wrong" for forwarding.host.edu not to take the mail out of the internet once and for all, but it was not in my power to enforce this opinion. A next-best cure would have been for the forwarder to use registered.site.com's 1-component UUCP name instead of its internet name in the generated bang path. But in the absence of such cooperation, what I did was to short-circuit only if the first hop was not a known UUCP neighbor. This reduces the efficiency gains but keeps me on good terms with my UUCP/TCP neighbor, forwarding.host.edu. The rules I use now are # if host is not in the class Q (class of valid uucp hosts), then # look for a special case ... R$*<@$*$~Q.UUCP>$* $:$>11$1<@$2$3.UUCP>$4 # ... then look for an embedded !d.om.ain! (would be easier in S3) ... R$+.$=P!$+<@$~Q.UUCP> $:<$1.$2!$3> if found, drop first hop R<$*!$+.$=P!$+> <$2.$3!$4> look further R<$+.$=P!$+> $:$3<@$1.$2> use internet form # ... finally, assume it goes by SMTP R$*<@$*$~Q.UUCP>$* $1<@$[$2$3$]>$4 Class Q consists of my UUCP neighbors and ruleset 11 lets a few other hosts on the internet appear to be UUCP neighbors. ________________________________________________________ Matt Crawford matt@oddjob.uchicago.edu