From: MAILER-DAEMON@berkeley.edu 81 I don’t and others don’t think this is a bug. If you can come up with an RFC that states that we should not be doing this I’m sure we will fix it. Until then this is my last reply. I have brought this to the attention of my supervisors as I stated before. As I said before, it appears it is Unix’s way of handling it. I have sent test messages from machines running the latest software. As my final note, here is a section from rfc976: [deleted] I won’t include that wonderful quote, which nowhere justifies a mail forwarding agent modifying the body of a message—it simply says that “From” lines and “From” lines, wherever they might have come from, are members of the syntactic class From_Lines. Using typical Unix reasoning, since it doesn’t specifically say you can’t do it, and it mentions that such lines exist, it must be legal, right? I recently dug up a July 1982 RFC draft for SMTP. It makes it clear that messages are to be delivered unchanged, with certain docu- mented exceptions. Nothing about ’s. Here we are 10 years later, and not only is it still wrong—at a commercial system that charges for its services—but those who are getting it wrong can’t even SEE that it’s wrong. I think I need to scream. uuencode: Another Patch, Another Failure You can tell those who live on the middle rings of Unix Hell from those on lower levels. Those in the middle levels know about From lossage but think that uuencode is the way to avoid problems. Uuencode encodes a file that uses only 7-bit characters, instead of 8-bit characters that Unix mailers or network systems might have difficulty sending. The program uudecode decodes a uuencoded file to produce a copy of the original file. A uuen- coded file is supposedly safer to send than plain text for example, “From” distortion can’t occur to such a file. Unfortunately, Unix mailers have other ways of screwing users to the wall: 5This message was returned to a UNIX-HATER subscriber by a technical support representative at a major Internet provider. We’ve omitted that company’s name, not in the interest of protecting the guilty, but because there was no reason to single out this particular company: the notion that “sendmail is always right” is endemic among all of the Internet service providers.
82 Mail Date: Tue, 4 Aug 92 16:07:47 HKT From: “Olin G. Shivers” shivers@csd.hku.hk To: UNIX-HATERS Subject: Need your help. Anybody who thinks that uuencode protects a mail message is living in a pipe dream. Uuencode doesn’t help. The idiot program uses ASCII spaces in its encoding. Strings of nuls map to strings of blanks. Many Unix mailers thoughtfully strip trailing blanks from lines of mail. This nukes your carefully–encoded data. Well, it’s Unix, what did you expect? Of course you can grovel over the data, find the lines that aren’t the right length, and re-pad with blanks—that will (almost certainly?) fix it up. What else is your time for anyway, besides cleaning up after the interactions of multiple brain-damaged Unix so-called “utilities?” Just try and find a goddamn spec for uuencoded data sometime. In the man page? Hah. No way. Go read the source—that’s the “spec.” I particularly admire the way uuencode insists on creating a file for you, instead of working as a stdio filter. Instead of piping into tar, which knows about creating files, and file permissions, and directo- ries, and so forth, we build a half-baked equivalent functionality directly into uuencode so it’ll be there whether you want it or not. And I really, really like the way uuencode by default makes files that are world writable. Maybe it’s Unix fighting back, but this precise bug hit one of the editors of this book after editing in this message in April 1993. Someone mailed him a uuencoded PostScript version of a conference paper, and fully 12 lines had to be handpatched to put back trailing blanks before uudecode repro- duced the original file. Error Messages The Unix mail system knows that it isn’t perfect, and it is willing to tell you so. But it doesn’t always do so in an intuitive way. Here’s a short listing of the error messages that people often witness: 550 chiarell... User unknown: Not a typewriter 550 bogus@ASC.SLB.COM... User unknown: Address already in use