[comp.mail.uucp] ambiguity.

hubcap@hubcap.clemson.edu (Mike Marshall) (03/22/89)

In order to eschew obfuscation, let me say that this --.
                                     __________________|
                                    V
Muucp,	P=/usr/bin/uux, F=sDFhuU, S=11, R=12, M=100000,

is the ruleset I want to talk about.

How would you rewrite something that looked like
  user@place.edu      or even    user%oneplace.edu@anotherplace.edu
if it managed to get slammed into the above mentioned ruleset?

I'm not asking for rewrite rules, just suggestions on what the end
product of the transmogrification should look like.

Thanks all...

-Mike Marshall       hubcap@hubcap.clemson.edu      ...!hubcap!hubcap

moore@cygnusx1.cs.utk.edu (Keith Moore) (03/22/89)

In article <4857@hubcap.clemson.edu> 
hubcap@hubcap.clemson.edu (Mike Marshall) writes:

>In order to eschew obfuscation, let me say that this --.
>                                     __________________|
>                                    V
>Muucp,	P=/usr/bin/uux, F=sDFhuU, S=11, R=12, M=100000,
>
>is the ruleset I want to talk about.
>
>How would you rewrite something that looked like
>  user@place.edu      or even    user%oneplace.edu@anotherplace.edu
>if it managed to get slammed into the above mentioned ruleset?

1.  "user@place.edu"
If the sendmail/uux in question are running on "place.edu", then
    "user@place.edu" => "user"
If place.edu has a UUCP name known to the gateway, (say "place"), then
    "user@place.edu" => "place!user"
Otherwise, use the domain name and pure-bang syntax:
    "user@place.edu" => "place.edu!user"
I prefer a pure-bang syntax rather than a mixed !@ syntax, because the
pure-bang syntax is unambiguous and will probably work with any UUCP 
system up the line.  As long as the above piece of mail stays within UUCP,
it will probably be replyable.  (All bets are off if it gets gatewayed
to yet another network.)

2.  "user%oneplace.edu@anotherplace.edu"
If the sendmail/uux are running on "anotherplace.edu", and "anotherplace.edu"
uses '%' to mean routing in the conventional manner, then this could be
written as "oneplace.edu!user" or perhaps "oneplace!user" if "oneplace"
were the UUCP equivalent for "oneplace.edu".

Otherwise, if the sendmail is not running on "anotherplace.edu", and therefore 
cannot be sure that anotherplace uses the '%' convention to mean routing
(and I *do* know of counterexamples), then the address should be rewritten
as "anotherplace.edu!user%oneplace.edu",
or perhaps "anotherplace!user%oneplace.edu".  

It is possible that the resulting mail will be unreplyable, since
some mailers will try to route the mail to 
"anotherplace.edu!user" at "oneplace.edu" 
rather than to 
"user%oneplace.edu" at "anotherplace.edu".
This is clearly incorrect, since interpretation of the '%' character in the
local part of an address is left up to the destination host.

This is about the best you can do with vanilla sendmail.
--
Keith Moore
UT Computer Science Dept.	Internet/CSnet: moore@utkcs2.cs.utk.edu
107 Ayres Hall, UT Campus	BITNET: moore@utkvx
Knoxville Tennessee 37996-1301	Telephone: +1 615 974 0822

parmelee@wayback.cs.cornell.edu (Larry Parmelee) (03/22/89)

In article <4857@hubcap.clemson.edu> hubcap@hubcap.clemson.edu (Mike Marshall) writes:
> In order to eschew obfuscation, let me say that this --.
>                                      __________________|
>                                     V
> Muucp,  P=/usr/bin/uux, F=sDFhuU, S=11, R=12, M=100000,
> 
> is the ruleset I want to talk about.
> 
> How would you rewrite something that looked like
>   user@place.edu      or even    user%oneplace.edu@anotherplace.edu

My configuration file does thusly:  We consider our site primarily
an Internet site; Mailer == UUCP implies this message is going into
the UUCP network, so I want very much to rewrite *all* addresses
to avoid "@" signs, so the addresses have a chance of working at
whatever uucp site the mail eventually arrives at, regardless of how
primative.  My "S" and "R" rulesets are basically identical.

user@place.edu =>	cornell!place.edu!user

user%oneplace.edu@anotherplace.edu =>	
	cornell!anotherplace.edu!user%oneplace.edu	

(Priority of "%" is not officially defined anywhere that I know
of, so I give it lowest priority, and assume the rest of the
world does too)

Route-address form:

@relay.cs.net:user@fubar.csnet =>
	cornell!relay.cs.net!fubar.csnet!user

@src-nic.arpa,@relay.cs.net:user@fubar.csnet =>
	cornell!src-nic.arpa!relay.cs.net!fubar.csnet!user

Here's a tricky one:

@relay.cs.net:user@fubar =>
	cornell!relay.cs.net!fubar.!user
Note the dot----------------------^

Dots don't occur in uucp host names, so the presense of a 
dot indicates that the name is to be interpreted as an internet
name.  The dots must be added so that the above can be properly
translated back into internet form.

One point to note:  Whatever you do, ruleset 3 has to be able to
invert the transformation.

Inverse translations in ruleset 3:
relay.cs.net!fubar.!user =>
	@relay.cs.net:user@fubar

Note the difference with this one, where the dot after "fubar" is
omitted:
relay.cs.net!fubar!user =>
	fubar!user@relay.cs.net

I belive the above is fully consistant with RFC 976.
-Larry Parmelee
parmelee@wayback.cs.cornell.edu