Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!fernwood!apple!bionet!turbo.bio.net!lear From: lear@turbo.bio.net (Eliot) Newsgroups: comp.mail.misc Subject: Re: Precedence of ! and % (was: sending from MIT to Ireland) Message-ID: Date: 3 Jan 91 22:53:11 GMT References: <1990Dec6.214052.25275@athena.mit.edu> <1990Dec18.142213.23820@comm.wang.com> Organization: GenBank Computing Resource for Mol. Biology Lines: 70 I believe Tom Fitzgerald is referring to RFC 1123 (section 5.2.16), which reads as follows in DISCUSSION: Although source routes are discouraged within the Internet (see Section 5.2.6), there are non-Internet mail environments whose delivery mechanisms do depend upon source routes. Source routes for extra-Internet environments can generally be buried in the "local-part" of the address (see Section 5.2.16) while mail traverses the Internet. When the mail reaches the appropriate Internet mail gateway, the gateway will interpret the local-part and build the necessary address or route for the target mail environment. For example, an Internet host might send mail to: "a!b!c!user@gateway-domain". The complex local part "a!b!c!user" would be uninterpreted within the Internet domain, but could be parsed and understood by the specified mail gateway. An embedded source route is sometimes encoded in the "local-part" using "%" as a right-binding routing operator. For example, in: user%domain%relay3%relay2@relay1 the "%" convention implies that the mail is to be routed from "relay1" through "relay2", "relay3", and finally to "user" at "domain". This is commonly known as the "%- hack". It is suggested that "%" have lower precedence than any other routing operator (e.g., "!") hidden in the >>>>>>>>>>> local-part; for example, "a!b%c" would be interpreted as >>>>>>>>>>> "(a!b)%c". Only the target host (in this case, "relay1") is permitted to analyze the local-part "user%domain%relay3%relay2". If you look at the above example, it would appear to be in error, because they do in fact give % higher precedence than !, even though they claim that one should not. However, the example is consistant with their usage of "%" as a right-binding operator. The easiest way to get around this mess is to keep the following two issues in mind: [1] The "%-hack" is unofficial at best, and not recommended. If you can find a better way, use the other address. [2] When they mentioned %, the authors suggested that it receive lowest precedence. It is important to restate the group's major wish that % or any other form of source routing NOT be used at all for internet mail addressing (Section 5.2.6): DISCUSSION: The intent is to discourage all source routing and to abolish explicit source routing for mail delivery within the Internet environment. Source-routing is unnecessary; the simple target address "user@domain" should always suffice. This is the result of an explicit architectural decision to use universal naming rather than source routing for mail. Thus, SMTP provides end-to-end connectivity, and the DNS provides globally-unique, location-independent names. MX records handle the major case where source routing might otherwise be needed. My point in mentioning the above paragraph is that any site that is only reachable via the %-hack should be converted into an MX site. -- Eliot Lear [lear@turbo.bio.net]