From: utzoo!decvax!harpo!floyd!vax135!cornell!uw-beave!jim
Newsgroups: net.mail
Title: Re: Bogus Network paths
Article-I.D.: uw-beave.392
Posted: Fri Mar 11 08:56:37 1983
Received: Sat Mar 12 08:30:06 1983
References: tekecs.569

1.  Ambiguous Addresses

The basic problem here, I think, is that addresses involving both '!'
and '@' are ambiguous.  How do you parse "hostA!user@hostB"?  It could
be either (hostA!user)@hostB or hostA!(user@hostB).

The approach I've taken here is to parse mail from uucp as
hostA!(user@hostB), and mail from Arpanet as (hostA!user)@hostB.  Then
if the mail is passed on to another machine, the return address is
modified according to which net it is going to.  So mail originating from
user@host on the Arpanet, and destined for uucp, goes out as

	From user@host (date) remote from uw-beaver

and ends up on the destination machine as

	From foo!bar!baz!user@host

Mail from uucp destined for Arpanet (due to Arpa imposed restrictions,
only mail from certain sites and users is accepted) and arriving as

	From foo!bar!user

ends up on Arpanet as

	From: foo!bar!user@uw-beaver

In this way, mail passing between the two nets can usually be replied
to correctly.

2.  Mail Hijacked by Other Systems

Some sites, most notably those running Berkeley mailers, take any mail
with an '@' in it, even if it arrived via uucp, and try to parse it as
an Arpanet address.  So if you try to reply to my message, which
arrived as

	From foo!bar!baz!user@host

and the mail has to go through one of these sites, it won't work.  If
site "bar" has one of these mail systems, instead of sending it to
baz!(user@host), it will try to send the mail to (baz!user)@host on the
Arpanet, which is bogus.  The people who wrote these mailers will claim
that everyone should be using Internet addresses, which would be fine
if everyone had access to Arpanet.  But they don't, and at least for
now it is not possible for Joe User at unixvax to send mail to
Jim@beaver.arpa.  I claim that, since most machines parse incoming uucp
mail '!' first, it is counterproductive to randomly insert machines
into the net which parse '@' first.

One possible solution is for my mailer to fake up a return address
which looks like a uucp address.  Then instead of

	From foo!bar!baz!user@host

we would have

	From foo!bar!baz!host!user

even though "host" is an Arpanet host.  I have not tried to do this,
and anticipate that it would create lots of problems.

Worst of all are those mailers, such as ucbvax's, which take a
perfectly good uucp address and try to turn it into pseudo-Internet
format.  This is how you end up with abominations like

	From: teklabs!decvax!ucbvax!inuxc!nwuxc!otuxa!jlc@ihnss.uucp

even though the mail never once went outside uucp.  Is "jlc" located at
ihnss or at otuxa?  I certainly have no idea.  These mailers also have
a tendency to add lots of lines to your header, making it hard to tell
who it came from and what the subject is.

3.  Disclaimer

This is not an attempt to describe how mail should work, but rather an
attempt to describe how it does, in fact, work, and how I have tried to
keep the mail going, at least through my machine.  Constructive
suggestions are welcome, flames will be forwarded to ucbvax!/dev/null,
and I expect I'll be hearing from Mark Horton.