[net.mail.headers] Malformed headers

stew@lhasa.UUCP (04/19/84)

I have recently been involved in setting up a mailsystem connecting HARVARD,
a 4.2BSD Unix 780 on the internet, to other machines here at Harvard.
All this guff about sendmail config files is starting to hit me;  This is
a problem we're faced with here.

Here is an example of a recent incoming message that illustrates some
of the problems.  Perhaps someone out there can make some suggestions
as to who is to blame for the following headers, and what can be done.

The first message is in the exact form that harvard transmitted it.
To harvard, our machine appears as a "fake" uucp address;  LHASA is a
VAX/VMS machine running software which I wrote to pick the necessary
files out of Harvard's uucp spool directories and deliver them on
the VMS machine.

--------------- Begin forwarded message #1 -----------------

>From @MIT-MC.ARPA:@SRI-KL.ARPA:engvax!KVC@cit-vax  Thu Apr 19 02:26:57 1984 remote from harvard
Received: from cit-vax.ARPA by SRI-KL.ARPA with TCP; Wed 18 Apr 84 22:36:18-PST
Received: by cit-vax.ARPA id AA03064 at Wed, 18 Apr 84 16:09:33 pst
Date: Wed, 18 Apr 84 16:09:33 pst
From: harvard!engvax!KVC@cit-vax.ARPA
Message-Id: <8404190009.AA03064@cit-vax.ARPA>
To: ."cit-vax!info-vax@sri-kl.arpa"@ENGVAX.ARPA
Subject: Re: lost batch jobs...

<body of message deleted>

	/Kevin Carosso                  engvax!kvc @ CIT-VAX
	 Hughes Aircraft Co.

---------------  End forwarded message #1  -----------------

For those who are interested, this is the form the message takes when
it appears in my VMS mail file.

--------------- Begin forwarded message #2 -----------------
From:	HARVARD!@MIT-MC.ARPA:@SRI-KL.ARPA:engvax!KVC@cit-vax 19-Apr-1984 02:26
To:	."cit-vax!info-vax@sri-kl.arpa"@ENGVAX.ARPA
Subj:	Re: lost batch jobs...
Received: by lhasa via VAXNET; Thu Apr 19 02:44:15 1984
Received: from cit-vax.ARPA by SRI-KL.ARPA with TCP; Wed 18 Apr 84 22:36:18-PST
Received: by cit-vax.ARPA id AA03064 at Wed, 18 Apr 84 16:09:33 pst
Date: Wed, 18 Apr 84 16:09:33 pst
From: harvard!engvax!KVC@cit-vax.ARPA
Message-Id: <8404190009.AA03064@cit-vax.ARPA>

<body of message deleted>

	/Kevin Carosso                  engvax!kvc @ CIT-VAX
	 Hughes Aircraft Co.

---------------  End forwarded message #2  -----------------

Now.  The problems should be obvious.  I want to respond to an address
something like harvard!"engvax!kvc"@cit-vax, I think.  And if I want to
CC the list, it does NOT want to go to

"cit-vax!info-vax@sri-kl.arpa"@ENGVAX.ARPA

ENGVAX isn't even on ARPA!!!

Someone has to translate these to things like:

	<@HARVARD: engvax!kvc@CIT-VAX.ARPA>

and

	<@CIT-VAX: INFO-VAX@SRI-KL.ARPA>.

Are my interpretations of RFC822 correct?  I assume that the problems
on both ends could be corrected by changes to the sendmail config files...
I should of course say that I am not blaming anyone at CIT;  the same
sort of malformed header will be visible on the message that you
receive from me.

Stew Rubenstein

ARPA: lhasa!stew@harvard.arpa
UUCP: {allegra!ima,decvax!genrad!wjh12}!harvard!lhasa!stew
MAIL: Harvard University Chemical Labs
      12 Oxford St.  Box 100
      Cambridge, MA  02138

solomon@wisc-crys.arpa (04/20/84)

This has all been said before, so I'll try to be brief, but it keeps
coming up, so I think it's worth repeating.

The problem is conflicting and ambiguous syntax for addresses between
RFC 822 and UUCP.  The UUCP syntax is host!localpart, while the 822
syntax is localpart@host.  When you try to put an address into
"localpart" to simulate source routing, you get ambiguity.  Does
"a!b@c" mean "a!(b@c)" (use UUCP to send to host a, which hopefully is
on Arpanet and can send to b@c), or does it mean "(a!b)@c" (send over
Arpanet to host c, which will forward using uucp).  The ad hoc solution
seems to be context-sensitive parsing, using info like whether I'm on
Arpanet, whether Arpanet contains a host named "c", etc.  Usually some
sort of local kludge can be worked out.  But when a message crosses
back and forth between worlds more than once (as the message in
question seems to have done), I have very little hope that anything
will work.  Some UUCP sites are trying to move to the 822 syntax with
hacks like munging host!user to user@host.UUCP.  Sometimes that helps,
and sometimes it makes things worse.

My own personal opinion is that source-routing is a necessary evil that
will be with us for some time.  The best syntax I've seen is the RFC821
syntax:  <@host1,@host2,...,@hostN-1:user@hostN>.  I've seen some
evidence that more software packages are supporting it, not only in the
SMTP envelope, but in headers and in user agents.

When putting together independantly planned (or unplanned) systems and
trying to make a consistent whole, we must strike a delicate balence:
We must be understanding and sympathetic with sites running obsolete
software, while continuing to urge them and help them to change.
In this case, we can help by moving quickly towards putting the domain
system in place and setting up some sort of "official" UUCP domain.

ka@hou3c.UUCP (Kenneth Almquist) (04/21/84)

UUCP mail does not conform to RFC 822.  (Actually, no written standard
for UUCP mail exists, which is one reason for trying to phase it out.)
Context-sensitive parsing is not an "ad hoc" solution; it is a recog-
nition of this situation.

It should be possible to write mail gateway software that will leave
all the exclamation points on the UUCP side.  E. g. this mail could
be given a from line reading "From: ka@hou3c.UUCP" and a return path
reading "Return-Path: <@mit-vax.ARPA,@allegra.UUCP:ka@hou3c.UUCP>".
Alternatively, the full return path could be included in the from line
as well as the return path line.  Are either of these approaches reason-
able?  How many existing mailers will be able to reply to such letters?
				Kenneth Almquist

dave@uwvax.ARPA (04/21/84)

You probably shouldn't change the 'From:' line if the mailers *all*
understand the 'Return-Path' (remember, not everyone conforms to standards).

4.2BSD sendmail sites should all be able to understand that syntax.  A
site just running uucp.....  I don't know.  I doubt it (our 11/70 w/2.8bsd
couldn't understand that without some serious work on my part).

What's this about phasing out uucp addresses?  I vaguely remember seeing, a
month or so ago, a message stating that uucp was going to be released for
*micros* in the very near future.  Once this is released, uucp addresses will
be permanant, more permanant than even ARPAnet addresses.  If any phasing out
is going to happen, it had better happen fast!
-- 
Dave Cohrs @ wisconsin
...!{allegra,eagle,heurikon,ihnp4,seismo,ucbvax,uwm-evax}!uwvax!dave
dave@wisc-rsch.arpa

ron@Brl-Tgr.ARPA (Ron Natalie) (04/30/84)

This is fine except that in STEP 3, you've saddled UCB-VAX with an
illegal "TO" line as far as the 822 spec goes (although I'm pretty
sure UCB vax can handle it).

-Ron

Margolin@MIT-MULTICS.ARPA (Barry Margolin) (05/01/84)

Ron, there is nothing wrong with the TO line in step 3.  There is
nothing in RFC822 that prohibits a local-part of the form
"string1!string2!string3", and UCB-VAX is free to interpret it any way
it wishes, and it wishes to interpret it as a Usenet address.
                                        barmar

Margolin@MIT-MULTICS.ARPA (Barry Margolin) (05/01/84)

Of course, the real problem with Stephen Woods' suggestion is that it
assumes that a Usenet site can figure out how to get the mail to the
UUCP-Arpa gateway without requiring the user to specify the route
explicitly.  If they had this capability then it would only be a small
step to not requiring explicit paths for anything, and they could then
use domain addressing, and there would be no problem of ambiguous syntax
to solve.
                                        barmar

ron@Brl-Tgr.ARPA (Ron Natalie) (05/01/84)

But an address must have soething to the right of the "@" and must
contain the "@" as well!

-Ron

Margolin@MIT-MULTICS.ARPA (Barry Margolin) (05/01/84)

    Date:  1 May 1984 16:10 edt
    From:  Ron Natalie <ron at BRL-TGR>
    Subject:  Re: Malformed headers

    But an address must have soething to the right of the "@" and must
    contain the "@" as well!

    -Ron

Once a messagessed to foo@bar is received by bar it may convert the
address into any internal form it pleases, which generally begins by
removing the "@bar".  After UCLA-LOCUS forwards the message to UCB-VAX
it is no longer in an SMTP environment, so @'s are no longer needed.

Perhaps the wording of the steps was misleading, and I was inferring
something different from you.  It says that the header in step 3 was the
way the message was received by UCB-VAX.  I interpreted that to mean
that this was what the header looked like after UCB-VAX received and
munged it.

Anyway, we are arguing minor semantics.  The point of the message is
obvious:  UUCP hosts are all expected to know a route to an Arpa
gateway, so the explicit route (with !'s) only has to be specified for
the part of the route after traversing the Arpanet.  As I said in a
previous message, this is not realistic.  What is to stop hosta from
thinking hostb is closer to the Arpanet and vice-versa, causing all Arpa
mail from or thru either host to loop forever?
                                        barmar

jis@hocsd.UUCP (05/02/84)

SENT-BY: j.mukerji
CC: Margolin@MIT-MULTICS.ARPA

---------------------------------------------------------------------------

	Of course, the real problem with Stephen Woods' suggestion is that it
	assumes that a Usenet site can figure out how to get the mail to the
	UUCP-Arpa gateway without requiring the user to specify the route
	explicitly.  If they had this capability then it would only be a
	small step to not requiring explicit paths for anything, and they 
	could then use 	domain addressing, and there would be no problem of
	ambiguous syntax to solve.

---------------------------------------------------------------------------

Some mailers in the UUCP world already do that, like the one that is being
used for mailing this message does. This one is driven by a set of network
configuration tables, which are updated periodically.

Jishnu Mukerji
AT&T ISLab
Holmdel NJ
jis@hocsd.UUCP