Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!mimsy!oddjob!gargoyle!ihnp4!ptsfa!vixie!paul From: paul@vixie.UUCP (Paul Vixie Esq) Newsgroups: comp.mail.misc Subject: Re: address writing by gateways (was: NO NO NO NO NO) Message-ID: <715@vixie.UUCP> Date: Sun, 12-Jul-87 13:12:08 EDT Article-I.D.: vixie.715 Posted: Sun Jul 12 13:12:08 1987 Date-Received: Wed, 15-Jul-87 00:36:15 EDT References: <684@vixie.UUCP> <8120005@hpfclp.HP.COM> Reply-To: paul@vixie.UUCP (Paul Vixie Esq) Organization: Vixie Enterprises, San Francisco Lines: 102 >> = Paul Vixie > = John Diamant >>[Paul Vixie wonders why every host in a route-addr needs to be registered. >>Suggests that it may be a political thing, because ARPA dislikes being >>used as a transport for non-ARPA mail (that originates and terminates on >>non-ARPA hosts).] > >It is not a political restriction. It is to avoid having things that look >like domains but can't be replied to because they aren't properly registered >(in other words, machines won't know who they are or be able to look them >up). Allow me to quote from RFC-822: [relevant quote omitted] >Notice that the syntax specification refers to the word domain and that >the definition of domain says "registered." This is pretty explicit. If >it isn't registered, it isn't legal in a source route. It seems unnecessary, since nobody needs to reply to anyone in the middle of a route -- just the first. The others are relative. If they all have to be registered, then one assumes that every host will know how to get mail to them, and wouldn't need route-addrs. Still, I agree with your interpretation of RFC-822 in this respect. I guess this IS a valid reason to use %@ instead of <@,:@>. But it seems like a gratuitous restriction, for the reason I stated above. >> Still, the % operator is not absolutely neccessary in a pure RFC822 or UUCP >> world -- there is a way in each standard to specify a route unambiguously. Well, even I disagree with this now. The only routing syntax available in the SMTP world is %@, apparently; if there is no standard that specifies "%", then routes cannot be rewritten between UUCP- and SMTP-based networks, and gateways between them will necessarily not be perfect. >> >When you translate from "!" addresses to >> >RFC style addresses, how do know whether to use a source route or a "%?" >> >> I'd say always use a source route. Is this unfeasable? Are there Internet >> sites (here I mean DDN-only sites) that don't grok source-routes, and need >> %-routes? This sounds like the point to push, if so. Again, critiquing myself, I'd now say to use "%" for routes rewritten from a UUCP network that will be forwarded on an SMTP network ... >Well, one of the main reasons for using "%" is for unregistered machines. ... and that's why. >Also, if a "%" came in and was translated to >"!" and then left again, but was now as source route, then you've illegally >applied an interpretation to it. The envelope address in the UUCP network should always have a pure !-route in it (if it doesn't, then is still SHOULD :-)). When a gateway host gets a message from its UUCP side, and detects that it needs to be forwarded to an SMTP network, it can rewrite the envelope address as much as it wants to do. The header address may be in normal, domain form, in which case it should be left alone so that replies can use a new (and perhaps better) source route; if the header addresses are in !-form, well, they aren't protected by RFC-822 (the whole thing would be a local part), and can be re-written into the routing syntax of the new network (SMTP, in this case). The fact that SMTP doesn't have a routing syntax (route-addrs need registered hosts only, and % is non-standard) stops this scheme in its tracks. Can we bend or push either of those restrictions? >I think there are many machines that don't handle source routes >properly. However, that by itself is only an argument to get those >machines fixed, not a reason to use "%." The reason "%" appears to be >needed is to handle unregistered hosts. Well, if a route is to contain (potentially) the contents of a UUCP path (after it passes through a UUCP->SMTP gateway), we need a routing syntax that can handle unregistered hosts. >I gave it a shot. What do you think now? This situation is deceptive. >Scott McGregor (also of HP) and I tried to write an RFC to clarify this >problem and we discovered the deeper we got, the more complicated the >RFC got, and the worse the problem became. We did convince Mark Horton >(author of RFC-976) the a real problem did exist with "%" and some ambiguities >in RFC-976, but we never came up with a satisfactory additional RFC >to resolve the issues (though we did write one that isn't satisfactory). >The basic problem was that no matter how you looked at it, you needed to >know too much about your next hop machine to know how it would interpret >addresses (foo!bar%baz@foobar -- is the "%" interpreted before or after the >"!"?). I think you're right about % being insufficient, and you seem to be right about <@,:@> being insufficient, and I'm not sure what to suggest. Maybe we can remove the registration restriction on route-addrs -- as I stated way up there, it doesn't seem to be necessary (and it certainly isn't helpful in this case!). Alternatively, an RFC that specified "%"/"@"/"!" and their relationship to eachother would make "perfect" UUCP/SMTP gateways possible. You can send me your unfinished RFC, if you think it will enlighten me... -- Paul A. Vixie, Esq. "A viler evil than to throw a man into a paul%vixie@uunet.uu.net sacrificial furnace, is to demand that he {uunet,ptsfa,hoptoad}!vixie!paul leap in, of his own free will, and that he San Francisco, (415) 647-7023 build the furnace, besides." (Ayn Rand)