Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/17/84; site gang.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!ihnp4!gang!hokey From: hokey@gang.UUCP (Hokey) Newsgroups: net.mail Subject: Re: parsing uusite!local@domain-spec - a partial solution Message-ID: <551@gang.UUCP> Date: Sat, 12-Jan-85 02:03:41 EST Article-I.D.: gang.551 Posted: Sat Jan 12 02:03:41 1985 Date-Received: Sat, 12-Jan-85 08:30:05 EST References: <423@ucsfcgl.UUCP> <685@cbosgd.UUCP> Organization: Plus Five Computer Services, St. Louis Lines: 53 A hybrid route (a route isn't necessarily the same as an address) *should* be unambiguous in an RFC822 header. It isn't because most sendmail sites treat the *address* specified in the From: and To: lines as a *route*, and lop their name off the To: line and stick it back on the From: line. This is totally malicious behavior. It was thought necessary in the past because people used "smart" user interfaces for replying to mail, and since nobody had the implicit routing mechanisms in place to *route* the mail to the *addresses*, they used the (munged) From: and To: *routes* taken by the original mail to explicitly *route* the mail back to the new recipient(s). Great fun when somebody Far Away sends mail to you and a local neighbor; replies from you to your neighbor and the sender both go Far Away. Subsequent replies bounce back and forth across an ever-increasing *route*. This routing problem has been solved by truncating the path to the farthest "known" site. This doesn't always work, however, because sites don't always have unique names. Edge-databases are swell for helping solve this problem. But I digress. Quoting a hybrid route/address *in the header* is another acceptable solution. This works because the localpart has been distinguished from the preceeding bang paths. This may not be "good" 822 behavior, but it *will* do the job. Specifically, a!b!"c!d"@e *must* mean that once the mail arrives at "e", it then goes to c!d. "b" *can not* assume that the "c" it know is the "c" known to "e", unless it has the connectivity information for "e". This is the edge database stuff again. Note that unless the quotes are there, it is WRONG to mess up a "hybrid" in the From: or To: lines by adding or deleting "mysite!" from the list, because you may be changing the way somebody (rightly) expects to *route* the message. In the transport layer (uux, for example), quoting won't work because the shell will strip them off, so there is no way to disambiguate the hybrid. We have had several thrilling discussions about what to do with hybrids in the transport layer. I would like to reject them. Others disagree. We all agree that we won't propagate the hybrid; the issue is whether or not to accept them (from an arbitrary site. The situation changes a bit if you *know* the sender is an 822 site or a bang site, but that is another ball of worms that also changes with Time and the Stars.). Anyway, the place these monstrosities are most likely to emerge is when replying to mail. The "best" place to fix them is at the user interface. The problem is also solved if people use "smart" mailers and/or tools like pathalias or pathparse. It would be of TREMENDOUS help if all the sendmail sites left addresses in headers ALONE. As one might suspect, this represents my perspective on the problem, and there are people out there who disagree with me. -- Hokey ..ihnp4!plus5!hokey 314-725-9492