Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/17/84 chuqui version 1.7 9/23/84; site nsc.UUCP
Path: utzoo!watmath!clyde!burl!ulysses!mhuxj!ihnp4!nsc!chuqui
From: chuqui@nsc.UUCP (Zonker T. Chuqui)
Newsgroups: net.mail
Subject: Re: parsing host1!user@host2
Message-ID: <1606@nsc.UUCP>
Date: Mon, 15-Oct-84 02:58:12 EDT
Article-I.D.: nsc.1606
Posted: Mon Oct 15 02:58:12 1984
Date-Received: Tue, 16-Oct-84 04:57:27 EDT
References: <691@sunybcs.UUCP>
Distribution: net
Organization: The Warlocks Cave, Castrovalva
Lines: 89

> I was wondering how we're supposed to parse this type of address.
> Our sendmail considers it @host2:host1!user, which is what I
> figure it would be.  But, the news software considers it to be
> along the lines of @host1.UUCP:user@host2.  I could see how this
> second form would be valid, by expanding the !, but I remember in
> rfc819 where it says internet addressing is handled right to left.
> Can anybody help?

Unfortunately, I don't think this has been properly addressed. This is THE
main reason why we here at nsc have decided to not put optimizing into our
mailers at this time. Because there is no way of forcing ambiguities out of
the addresses I can't optimize and not be sure I'm screwing up. Perhaps the
standard needs to be extended to clear up precedence problems or set up
some sort of precedence forcing like we do with programming languages with
parens. How about (host1!user)@host2?

Actually, optimization creates all sorts of interesting problems that I
don't see solved very well in most of the implementations I've seen. I feel
it is very important that the user be able to see (and override if
neccessary) optimizations. If you hide this in sendmail or somewhere else
the user can't do it. There have been a lot of interesting discussions here
at nsc (and elsewhere) about where to optimize paths on news replies. The
way I've got it implemented is in readnews and vnews (and Real Soon Now in
Berkeley Mail as well) because the user can SEE the addresses and override
them if they know a better path or if there is a problem with the given
one. If it is done in sendmail (or in recmail for news as was suggested)
all they see is the original path and they won't know where the thing is
really going until it either gets there or bounces back, and if it
disappears (they still do, too...) you'll never know why, or even where.
Not a good situation in my eyes. 

Secondarily to this is the problem of sites downstream optimizing or
REoptimizing for me. Every so often I have to send out messages that loop
around and come back to me. Sometimes it's seeing if a path exists,
sometimes it's to see how long it takes. In many circumstances I can't do
that anymore-- sites like ihnp4 that do rightmost optimizing see a path
like 'ihnp4!tektronix!hplabs!nsc!chuqui' and say ~aha! I talk to nsc, I can
send it there directly!~ and I get it right back. There is no way to
override it. I have this sincere distaste for software that knows more than
the humans it is supposed to serve, even when it is wrong. I ALWAYS want a
way to override. Imagine this nuclear power plant. Imagine a meltdown.
Imagine a computer saying ~I KNOW you don't really want to shut off the
plant-- I'll ignore what you are saying and you'll thank me later~. You
have an added problem here where domain boundaries cross and two sites know
of the name of a host, but those aren't the same hosts. Vortex on the net
and vortex on the Dec net comes to mind; there is also an 'odin' on the net
and an 'odin' somewhere off of cbosgd that aren't the same, and as local
nets become more prominent it will get worse.

Optimizing mailers do have their place-- I just don't think they should
mindlessly optimize. I've been thinking about this a lot, and what seems
most logical to me is this:

(1) If the address you are given is domain oriented (something like
dmr@research.UUCP) then find the most optimal path. It doesn't matter
whether or not the message was created on the local site or not. It should
be possible to mail something like 'ihnp4!dmr@research.ATT.UUCP' and get
there the fastest way possible. 

(2) If the address is not domain oriented leave it alone. If I want ihnp4
to mail me a message I'll mail to 'ihnp4!chuqui@nsc.UUCP'. If I want to
mail myself a message through tektronix and hplabs, I'll use the full path.
Sendmail shouldn't make assumptions about what I want to do. Since we will
(hopefully) get most users to use the 'foo@bar' addressing mode the mailers
will get to do their job anyway. We can even set it up so that a mailer
will pass a message along so that the next mailer will optimize again if it
has better information if we want-- but we shouldn't force ourselves to do
that.

Unfortunately, (2) doesn't work extremely well in mixed domain addressing
because of the ambiguity problem. Mailing will always be a problem until
that is solved. I once tried to send a message to a site through decwrl
to seismo and then somewhere else (uucp -> arpa -> uucp). I finally gave up
in disgust because trying to outguess mailers in the domain transitions
gave me a headache. If I had a proper precedence setup I could have done it
easily.

This all sounds reasonable to me, and a significant improvement over the
current state of affairs. That means I'm missing something because lots of
much smarter people have put a lot more time into this than me. What's
wrong with the above, folks (or why haven't we thought of it before???)

chuq

-- 
From the Department of Bistromatics:                   Chuq Von Rospach
{cbosgd,decwrl,fortune,hplabs,ihnp4,seismo}!nsc!chuqui  nsc!chuqui@decwrl.ARPA

How about 'reason for living?'