Path: utzoo!attcan!uunet!aplcen!uakari.primate.wisc.edu!zaphod.mps.ohio-state.edu!wuarchive!psuvax1!psuvm!cunyvm!uupsi!sunic!nuug!ifi!enag From: enag@ifi.uio.no (Erik Naggum) Newsgroups: comp.mail.sendmail Subject: Re: Mail addresses and RFC1123 Message-ID: Date: 25 Jul 90 14:30:57 GMT References: <9007242101.AA32438@cs.niu.edu> Sender: enag@ifi.uio.no (Erik Naggum) Organization: Naggum Software, Oslo, Norway Lines: 94 In-Reply-To: rickert@CS.NIU.EDU's message of 24 Jul 90 21:01:02 GMT Originator: enag@slembe.ifi.uio.no I was there when RFC1123 was written. I had my own misgivings about the language and use of parentheses with respect to the "routig operators". However, Bob Braden (the editor) told me what he had in mind, and I saw that it was good. In article <9007242101.AA32438@cs.niu.edu> rickert@CS.NIU.EDU (Neil Rickert) writes: This unfortunate language is just one of the problems with RFC1123. To say that '%' has lower precedence than '!' should mean that the processing of '!' must PRECEDE the processing of '%'. This was the interpretation I used. The algebraic notation (a!b) only confuses the issue. In algebraic terminology, the use of parentheses in (a*b)+c implies both that 'a*b' is to be processed first before applying the '+', and that '(a*b)' must be treated as a unit. Your confusion comes from assuming that the text says anything about what the operators mean, and that they are akin to algebraic oper- ators. Instead, the precedence question relates to grouping. In the same vein, a%b@c is treated as (a%b)@c. The "operation" involved is treating things as a local-part, not as destination domain. What's left over, so to speak, is the destination domain, as in (a!b)%c, where c is there destination. As I read it, "(a!b)%c" has the following interpretation: Your interpretation is intuitive with respect to algebraic notation qua algebra, but not qua notation. Please do not think that these operators "operate" on the text! They _only_ group and separate. Until I hear a definitive statement to the contrary, I will continue with my interpretation. You're too stubborn. That's not good even when you're right. And you're wrong. Incidentally most software I have seen only looks for a '%' after it has failed to find any other addressing operators. Look at some more software. If you're entrenched in the UUCP world with sendmail braindamage, your complaints refer to your being entrenched, not the rest of the world. There have been people before you who have been confused by the Internet folks's insistence on talking about the Internet, but you make some record on remaining confused for a long time. This means that software which recognizes '!' as an addressing operator typically gives higher precedence to '!' than to '%', while software which does not recognize '!' necessarily gives higher precedence to '%'. The result is hopeless ambiguity. Are these on the Internet, or are they UUCP bang-path only systems? This makes all the difference in the world. The Internet is not, as I have had to point out to several people, a conglomeration of networks and standards of all sorts, it's one particular technology with one particular standard protocol suite. SMTP and RFC822 in this case. It has been a tremendous success, and other people try to mimick the Internet as best they can. This does not make them "the Internet". When software, such as used at a gateway host, provides a route back through itself for return addresses, IT MUST USE AN OPERATOR OF HIGHEST PRECEDENCE. This is a semantic error on your part. You insist on thinking that we're talking about text operations. We're not talking about text operations. We're talking about parsing. Look, you've even made me repat myself. But consider the following rewrite rule from 'sendmail.main.cf' distributed with Sun systems: When did Sun do anything but lose with respect to Internet mail? I've had to throw out Sun's sendmail.cf at the systems I fiddle with because it was designed so lamebrainedly it's a crime. Instead of complaining, and showing us all kinds of broken systems, why don't you try to make things according to standard? That means, for instance, that you sit down and try to grok the intentions behind the specs, instead of comparing the standard to your broken system which just happens to work because others follow the robustness principle: "Be liberal in what you accept, and conservative in what you send." You seem to want it exactly the other way around. If you would like, I can send you parts of the discussion relating to source routing and the emerging consensus on the "%-hack". -- [Erik Naggum] Gaustadalleen 21 +47-256-7822 N-0371 OSLO; NORWAY +47-260-4427 (fax)