[comp.mail.uucp] new gateways?

jantypas@hope.UUCP (John Antypas) (11/17/86)

Well everythings been changed on me.  I used to know my way on the net
pretty well and could get mail just about anywhere point A and B might
be.  But now all this has changed. How can UUCP sites have a .COM
domain?  I was always told that meant an ARPA/DARPA address.
Could someone please explain what all of these new domains mean?

John Antypas:

uucp (I think):
...!{ucivax,sdcsvax,ucbvax!ucdavis}!ucrmath!hope!jantypas
arpa:
	ucrmath!hope!jantypas@sdcsvax.ucsd.edu

rpw3@amdcad.UUCP (Rob Warnock) (11/18/86)

[Note: I am posting this, rather than mailing, since there may well be others
simply too shy or confused about all this to say anything. To the network-
savvy, please excuse any over-simplifications in the following semi-tutorial.]

[Note 2: In an example below, I used "decwrl" as a "gateway" into ".dec.com".
There may well be better gateways to ".dec.com" from your site. Please check
before wiring that one into anything.]

You asked:
+---------------
| Well everythings been changed on me.  I used to know my way on the net
| pretty well and could get mail just about anywhere point A and B might
| be.  But now all this has changed. How can UUCP sites have a .COM
| domain?  I was always told that meant an ARPA/DARPA address.
| Could someone please explain what all of these new domains mean?
| John Antypas:
+---------------

A. GO READ "SMAIL" DOCS -- "INFO-*"

If you have the "smail" distribution that recently came over mod.sources,
look at the "INFO-xxx" files the shar produces. They have a lot of detail
on what's happening. (Then, install "smail"...)

Briefly though, EVERYONE is getting away from network-dependent addresses.
The UUCP people finally lobbied enough to be allowed to set up a zone of
registration (those are technical terms) for each of ".{edu,com,...}" for
those sites/sub-domains which are primarily UUCP users, and most of the big
UUCP sites have been registering as ".com", ".edu", etc.

The "smail" program makes a UUCP site "smart" about domains. (You can use
it with or without "sendmail", so it's o.k. on old v.7 or new System V's.)
The "smart" sites know about domains, "dumb" ones don't. Smart sites ALWAYS
send out UUCP mail that never, never, has any "@" signs, sites which have to
support both UUCP (with "!") and RFC-822 mail (with "@"s) don't get confused.

B. WHAT WAS WRONG WITH "!", ANYWAY?

Why go to all this trouble? The problem was, what does the address
"abc!def!ghi@xyz.arpa" really mean? It COULD mean any of:

	(1) Send via SMTP to host "xyz", and let them worry about it.
	    This is the default for sites that only know about RFC-822,
	    since "!" is not a special character in RFC-822.

	(2) Send via UUCP to "abc", and let them worry about it. This is
	    the default for a (non-smail) UUCP-only site.

But what if your site handled BOTH? What do you do? Which do you place
more priority to, the "!" or the "@"? Some attempts were made (especially
fancy "sendmail.cf" files) to make the choice depending on what kind of
transport medium the mail came to you on, but all were less than totally
satisfactory.

And worse, there was no safe way to say:

	(3) Send via UUCP to "abc", then via SMTP to "xyz", then via UUCP
	    to "def", and give to user "ghi".

because you never knew what host "abc" was going to do with it. They just
might:

	(4) Send via UUCP to "abc", then via UUCP to "def", then via SMTP
	    to "xyz", and then complain about no such user "ghi"!

Each site along the way might have a different way of prioritizing the
"!" vs "@" decision.

C. ENTER THE "DOT"

So what the "uucp-project" folks did was decide on a syntax for representing
domain-style names unambiguously in old UUCP syntax, WITH NO "@" SIGNS, so
that the mail could get through. It was simplicity in itself.

Since all domain-style names have at least one "." in them (if written out
fully), any UUCP "host" with a "." in it must really be a domain name, and
you can freely re-write "user@dom.ain" as "dom.ain!user", and vice-versa.
This allows you to sneak domain addresses past intermediate sites who might
want to fiddle with the address (like, parse an "@"). It also gives you an
unambiguous canonical representation of an address, to say what you really mean.

Case in point: In the example above, if you wanted

	(1) The ARPA site to send out UUCP, then write "xyz.arpa!abd!def!ghi".
	(2) UUCP all the way to "xyz", use "abc!def!xyz.arpa!ghi".
	(3) UUCP==>ARPA==>UUCP, then write "abc!xyz.arpa!def!ghi".

Clearly, when a host gets a message to parse and the first part is a domain,
it needs to know how to handle that (including you -- go install "smail").

But what this does is allow humans to quit worrying about routes, and just
give addresses, in the "user@domain" form. "Smail" (with help from pathalias,
and usually, from sendmail) handles putting that in a form that will sneak
through the UUCP mail system.

D. ENTER "GATEWAYS"

Suppose you want to send to "joe@blow.dec.com", but you don't know how to get
there, but you DO know that UUCP site "decwrl" is willing to act as a gateway
for mail into the DEC domain, and that a path to "decwrl" is "gorp!blat!decwrl".Now "decwrl" understands the UUCP domain stuff, but you're not too sure about
"gorp" and "blat". They may have ARPA or BITNET connections, and maybe they'll
eat an "@", if you give them the chance. To head them off, send your mail to:

	gorp!blat!decwrl!blow.dec.com!joe

In fact, for ANY domain or partial domain, if you know a UUCP path to a
"smart" site that knows how to handle UUCP "domains" and understands the
target domain (even if YOU don't), you can send to:

	path!...!to!...!smartsite!dom.ain!user

(In fact, the "smart" host may not know everything; but it may know how
to route to a "smarter" host.)

From the UUCP point of view, any smart host (i.e., understands domains)
that knows how to route to (or towards) some given domain can act as a
"gateway" for that domain (sort of).

E. "SMAIL" AND "PATHALIAS" AND THE UUCP MAPS

The "smail" program knows about the stuff I've mentined above (including
a lot of details I've glossed over), but the main thing is does for you
is:
	1. Auto-routes "abc!..." even if you don't talk to "abc", as long
	   as there is an entry in the paths database for "abc".

	2. Auto-routes to a "gateway" (in the UUCP sense) for a domain,
	   as long as there is an entry for that domain (or a partial
	   version of it) in the paths database.
	
That means that once your paths database has the entry:

	.dec.com	gorp!blat!decwrl!%s

you can send mail with

	mail joe@blow.dec.com"

and simply not worry about it. Smail will look up "blow.dec.com" in the paths
file, (probably) not find it, look up ".dec.com", find it, and call "uux" to
send your request to "gorp". In detail, it will:

	/usr/bin/uux - -r gorp!rmail '(blat!decwrl!blow.dec.com!joe)'

The "paths" database gets built with "pathalias" (q.v.), which I won't go
into here. (You *did* say you were pretty familiar with the old stuff. Well,
pathalias hasn't really changed much.)

What has changed is that the UUCP maps are getting new "d.*" files which
list "gateways" for "domains", in addition to the old-style "u.*" listings.
Pathalias will eat these maps to, and produce databases that "smail" will
use to route to the listed domains.

(In fact, if you only talk to one main other host -- say, if you're a
small PC somewhere -- and your mail feed runs "smail", you can just put
a domain/gateway entries in for your neighbor, and forget the database!)

F. SAY AGAIN, WHERE DID "GATEWAYS" FIT IN?

Well, now that UUCP folk have started calling themselves "sue@myco.com",
if ARPAnauts want to send mail, the ARPAnet name server has got to know
where "myco.com" is, or (*Ta-DAH!*) where a "mail forwarder" for that
domain is. This is done with what are called "MX" records in the name server.
(See RFC-i_forget_the_number.) And what the UUCP registration zone has been
doing is making sure that for each domain registered in ".edu", ".com", etc.,
in the UUCP zone, that there is an "MX" record available to the name servers.

Now when people send in their registrations (see the "smail" distribution
for the blank forms), there is a place to specify the mail forwarder, or
"gateway". The trouble is, there was an example of "seismo", and too many
people just left it that way (not so nice for "seismo"!). Hence the problem
of allocating UUCP "gateways"...

G. WHAT ABOUT ALL THE OLD UUCP SITES?

First, as many as possible should use "smail", 'cause it IS nice, BUT...
they don't have to change at all. The "u.*" map files still exist (for
a while), and "smail" understands the pseudo-domain ".uucp" and handles it.
And the canonical form for domain names WHEN SENT VIA UUCP has no "@" in it,
and the dots "." should only be parsed by "smart" (smail) sites.

So as long as SOMEBODY continues to admit in a map entry that they talk
UUCP mail to your site "oldfolks", then anyone in the net (well, anyone
who uses uses "smail" or equiv.) will be able to reach you as:

	you@oldfolks.uucp

H. MORAL

Go read the "smail" docs. Install smail. And relax. For once, things ARE
getting better...

(p.s. If I have given "sendmail" scant coverage above, its because "smail"
can be used with or without "sendmail", and is worth it in either case.)


Rob Warnock
Systems Architecture Consultant

UUCP:	{amdcad,fortune,sun}!redwood!rpw3
DDD:	(415)572-2607
USPS:	627 26th Ave, San Mateo, CA  94403

UH2@PSUVM.BITNET (11/18/86)

You ask how Unix land can have .com or .edu type addresses?  Simple, at
least as I understand it.

There is a massive effort to convert all the nets to this type of "domain"
addressing, with only Bitnet lagging a little behind.  (My Bitnet node
seems to handle them.)

If your machine can find, say, erie.psu.edu in its database, fine--it send
the message by whatever path is associated with that name.  Else,
it tries to send it to psu.edu, and hopes that psu.edu will know where
erie is.

As erie adds, say, a LAN with a bunch of departmental machines, they
introduce those machines to erie.psu.edu, and modify software for gatewaying
to the lan.  Then, if you send mail to pluto.erie.psu.edu, there is a good
chance that it'll get there.

If you send to user@psu.edu, because you know that user is at Penn State,
there is a good chance that psu will know user is in erie, erie will know that
user gets mail on pluto, and you won't have to know all the stuff.

I learned all this stuff last summer at UseNix, in Atlanta.  I seem to
recall that several net-gods were at the top of this project and doing all
the work, such as writing, debugging, and distributing new software.
The biggest problem is getting small machines to install the new software
so get after your sysadmin.

lee sailer