Path: utzoo!lsuc!sickkids!mark
From: mark@sickkids.UUCP (Mark Bartelt)
Newsgroups: comp.mail.misc
Subject: Re: Survey on damage by mailers.
Message-ID: <77@sickkids.UUCP>
Date: 17 Dec 87 13:09:00 GMT
References: <408@minya.UUCP>
Reply-To: mark@sickkids.UUCP (Mark Bartelt)
Organization: Hospital for Sick Children, Toronto
Lines: 75
Summary: 

In article <408@minya.UUCP> jc@minya.UUCP (John Chambers) writes:

> Hello.  I'm interested in characterizing the sorts of damage that the
> existing electronic mail systems can do to mail as they move it about.
> To start the ball rolling, I'll give a few examples.  First, the mail
> command that comes with most Unix systems:

[ ... ]

> 	2. If the string "\n.\n" occurs, the tail end of the file (starting
> 		at the '.') is discarded.

Are you sure?  Our /bin/mail (a truly ancient one, dating back to Seventh
Edition days, more or less) contains the following code ...

	onatty = isatty(0);
[ ... ]
	while (fgets(line, LSIZE, stdin) != NULL) {
		if (line[0] == '.' && line[1] == '\n' && onatty)
			break;
	[ etc. ]

... to avoid exactly that problem.  The /bin/mail that comes with 4.3bsd
contains different, but equivalent, code.  Are there *really* UNIX mailers
that exhibit that bug when passing mail between systems, or have you merely
inferred this because of the fact that a '.' bracketed by pair of newlines
can be used as a message terminator from a terminal?

> Can you add to the list?

I'd be delighted.

I consider complaints about minor mangling of messages (for example, the
"From" ==> ">From" controversy; talk about getting worked up about trivia!)
to be hardly worth discussing, when compared to the real disasters:  Mailers
that diddle with headers, especially when they diddle in demonstrably WRONG
ways.  For example, one of the sites through which mail from here to other
places often passes (it shall remain nameless, to protect the guilty) seems
to like to play jokes on the recipients, by mis-identifying the senders.
Suppose a user at our site, "bozo", sends mail to a friend "zippy", using
"neighbor!somewhere!another!cleveland" as a path.  Bozo addresses mail to ...

	neighbor!somewhere!another!cleveland!zippy

... but when the mail arrives at its destination, the "From" line reads ...

	From: bozo@somewhere.uucp

Now if the intermediate mailer had mangled the header to read ...

	From: bozo@oursite.uucp

... I'd be only a tiny bit upset.  But if the recipient of this message
uses a "reply" option with one of the so-called "intelligent" mailers
plaguing us these days, some poor bozo at the wrong site will be getting
the replies intended for our bozo.  Thus far, we've been able to avoid
that problem by telling all our recipients to send mail to the address
which will actually work, but the behaviour of the mailer (hard to tell
whether it's at site "somewhere" or "another") is rather annoying.

This of course brings up another complaint:  Mailers that ignore explicit
uucp routings, and choose one of their own if the all-wise pathalias deems
it to be better.  I have no objection to using a pathalias-generated path
if mail is addressed to "someone@site.uucp", but if a sender explicitly
specifies a path, intermediate mailers have no business messing with it.
If mailers didn't misbehave in this way, we could avoid the first problem
above by routing mail to avoid "somewhere" and "another".  But, sadly, if
"neighbor" thinks that "somewhere!another" is the best path to "cleveland",
there's nothing we can do about it.  Sigh.

-----
				Mark Bartelt
				Hospital for Sick Children, Toronto
				416/598-6442
				{utzoo,decvax,ihnp4}!sickkids!mark