WCSWR%CARLETON.BITNET@MITVMA.MIT.EDU (Walter Roberson) (04/02/88)
Someone has recently asked me where the 'rule' governing the interpretation of '!' and '@', both in the same address, may be found. If you have the address <aaa!bbb@ccc.uucp>, should this be interpreted as aaa!bbb!ccc or ccc!aaa!bbb ? As far as I know, the latter is correct -- but that is simply my experience, and not something I've seen documented. Could someone please point me to the appropriate RFC or other document? Thank you, Walter Roberson <WCSWR@CARLETON.BITNET>
diamant@hpfclp.HP.COM (John Diamant) (04/03/88)
> If you have the address <aaa!bbb@ccc.uucp>, should > this be interpreted as aaa!bbb!ccc or ccc!aaa!bbb ? As far as I > know, the latter is correct -- but that is simply my experience, > and not something I've seen documented. Could someone please > point me to the appropriate RFC or other document? You are right about the correct interpretation. RFC822 and RFC976 are the places to look. By RFC822 terminology, anything to the left of the "@" that is not a recognized routing character by the standard ("!" is not) is part of the local part. That gives ccc precendence. RFC976 says that you should never have mixed addresses, but in case you do, the "@" has precedence (to maintain compatibility with RFC822). The right answer is to use "@" precedence when there is an ambiguity, but to never generate a mixed address yourself. John Diamant SDE UUCP: {hplabs,hpfcla}!hpfclp!diamant Hewlett-Packard Co. ARPA Internet: diamant%hpfclp@hplabs.HP.COM Fort Collins, CO
SRA@XX.LCS.MIT.EDU (Rob Austein) (04/04/88)
Date: Saturday, 2 April 1988 09:17-EST From: Walter Roberson <WCSWR%CARLETON.BITNET@MITVMA.MIT.EDU> Someone has recently asked me where the 'rule' governing the interpretation of '!' and '@', both in the same address, may be found. If you have the address <aaa!bbb@ccc.uucp>, should this be interpreted as aaa!bbb!ccc or ccc!aaa!bbb ? As far as I know, the latter is correct -- but that is simply my experience, and not something I've seen documented. Could someone please point me to the appropriate RFC or other document? You lose. There's no RFC because the community that uses RFCs as their standards doesn't (formally) recognize "!" syntax. In other words, the precedence is determined by whoever wrote the mail code that you are using, and you can't count on any particular combination of "!" and "@" being universally acceptable. Now you know why even the usenet is moving away from use of "!" where possible (q.v. the "smail" mailer program). --Rob
craig@NNSC.NSF.NET (Craig Partridge) (04/04/88)
Look at RFC 976 by Mark Horton -- which makes recommendations on this subject. Craig
rick@seismo.CSS.GOV (Rick Adams) (04/05/88)
The defacto standard is that RFC822 rules. That means that the @ get precedence because the ! is in the "local part". Nothing should look at the local part other than the host to the right of the @. You want to avoid mixing ! and @ if at all possible (and it is almost always possible)
netinfo%garnet.Berkeley.EDU@violet.berkele (Postmaster & BITINFO) (04/05/88)
In reply to: X-Msg-Id: <02104116_CU00> Date: 02 Apr 88 10:17:00 EDT From: Walter Roberson <WCSWR%CARLETON.BITNET@mitvma.mit.edu> To: <header-people@mc.lcs.mit.edu> Subject: ! and @ -- which RFC ? Someone has recently asked me where the 'rule' governing the interpretation of '!' and '@', both in the same address, may be found. "xxx!yyy@zzz" is interpreted differently in UUCP mail and Internet mail. In UUCP addresses the "!" takes precedence, in Internet mail addresses the "@" take precedence. This can be confusing to Internet/ UUCP hosts unless the appropriate address conversion is done going both in and out of the local mail transport system. There are also separate address conversion rules for addressees (To, Cc, etc) and originating addresses (From, Sender, etc.). And a separate sets of rules for each type of mail network address handled by the mail gateway (mail exchanger). If you have the address <aaa!bbb@ccc.uucp>, should this be interpreted as aaa!bbb!ccc or ccc!aaa!bbb ? As far as I know, the latter is correct -- but that is simply my experience, and not something I've seen documented. Could someone please point me to the appropriate RFC or other document? Thank you, Walter Roberson <WCSWR@CARLETON.BITNET> I believe ucbvax.berkeley.edu was the first to implement the aaa!bbb@ccc.UUCP local addressing convention. You will find it documented in the mailaddr(7) section of the "Unix Programmer's Manual, 4.2 Berkeley Software Distribution, Virtual VAX-11 Version" dated August 1983 and in Unix manuals based on BSD Unix. QUOTE Compatibility. Certain old address formats are converted to the new format to provide compatibility with the previous mail system. In particular, host:user is converted to user@host to be consistent with the rcp(1c) command. Also, the syntax: host!user is converted to: user@host.UUCP This is normally converted back to the ``host!user'' form before being sent on for compatibility with older UUCP hosts. The current implementation is not able to route messages automatically through the UUCP network. Until that time you must explicitly tell mail system which hosts to send your message through to get to your final destination. UNQUOTE UUCP mail now supports "domain" instead of "host" at many sites. So this manual section is out-of-date. The new UUCP address convention is "domain!user" or "uucp-host-domain-list!domain!user". On an Internet mail host that is a UUCP gateway the local address <aaa!bbb@ccc.uucp> should be converted UUCP address "ccc!aaa!bbb" for messages being send to UUCP. If going to an Internet site, that local UUCP address be converted to the Internet mail address: <ccc!aaa!bbb@gateway-domain-name> where "gateway-domain-name" is a valid internet domain name. Note that these rules are for addressees (To, Cc, etc.) only. Bill Wells, Postmaster ------------------------------------------------------------------------ | William Wells Telephone: COML: +1 415-642-9801, ATSS: 582-9801 | | Data Communication & Network Services postmaster@jade.berkeley.edu | | University of California at Berkeley netinfo@garnet.berkeley.edu | | 291 Evans Hall NETINFO at UCBGARNE (PUN/PRT) | | Berkeley, CA 94720 ucbvax!jade!netinfo (UUCP) | ------------------------------------------------------------------------
les@chinet.UUCP (Leslie Mikesell) (04/05/88)
In article <12798@brl-adm.ARPA> rick@seismo.CSS.GOV (Rick Adams) writes: > >You want to avoid mixing ! and @ if at all possible (and it is >almost always possible) What if you have a bunch of uucp machines that only know ! addresses and you don't want to store routing info on all of them anyway. One machine can talk to the rest of the world, and some of the others are two (local) hops away. Where you have machines a!b!c, is there an acceptable way for machine a to request machine c to do its routing, assuming a and b only know uucp ! addresses? Does the answer depend on b not knowing about @? Leslie Mikesell ...ihnp4!chinet!les
jbuck@epimass.EPI.COM (Joe Buck) (04/05/88)
In article <12798@brl-adm.ARPA> rick@seismo.CSS.GOV (Rick Adams) writes: >>You want to avoid mixing ! and @ if at all possible (and it is >>almost always possible) In article <4557@chinet.UUCP> les@chinet.UUCP (Leslie Mikesell) writes: >What if you have a bunch of uucp machines that only know ! addresses >and you don't want to store routing info on all of them anyway. One >machine can talk to the rest of the world, and some of the others are >two (local) hops away. For the most part, UUCP machines that do routing run the smail program and handle the domain!user convention (all the official UUCP-Internet gateways do). So yes, you can mail to an ARPA site using all-bang paths. Mail to me using ...!uunet!epimass.epi.com!jbuck, for example. This type of address is completely unambiguous (unless it goes through a rerouting mailer but that's another war); the details are discussed in the RFC by Mark Horton (forget the number). >Where you have machines a!b!c, is there an acceptable way for machine >a to request machine c to do its routing, assuming a and b only know >uucp ! addresses? Does the answer depend on b not knowing about @? See above. If c is your gateway machine and runs smail or other software that supports host.domain!user, you can just mail to a!b!c!host.domain!user. -- - Joe Buck {uunet,ucbvax,sun,<smart-site>}!epimass.epi.com!jbuck Old Internet mailers: jbuck%epimass.epi.com@uunet.uu.net
tgt@cblpf.ATT.COM (Tim Thompson) (04/06/88)
In article <2052@epimass.EPI.COM> jbuck@epimass.EPI.COM (Joe Buck) writes: > >In article <4557@chinet.UUCP> les@chinet.UUCP (Leslie Mikesell) writes: >>What if you have a bunch of uucp machines that only know ! addresses >>and you don't want to store routing info on all of them anyway. One >>machine can talk to the rest of the world, and some of the others are >>two (local) hops away. For one thing, why would your have a bunch of uucp machines that only know ! addresses (which are probably actually routes, NOT addresses)? With the free smail package, and the ease with which it can be installed, there just doesn't seem to be a reason why a uucp machine can not understand the "@" syntax. > >For the most part, UUCP machines that do routing run the smail >program and handle the domain!user convention (all the official >UUCP-Internet gateways do). So yes, you can mail to an ARPA site >using all-bang paths. Mail to me using ...!uunet!epimass.epi.com!jbuck, >for example. This type of address is completely unambiguous (unless >it goes through a rerouting mailer but that's another war); the details >are discussed in the RFC by Mark Horton (forget the number). One clarification: ...!uunet!epimass.epi.com!jbuck is NOT an address, it is a route. Using this type of syntax depends on where you are sending the mail from. For one person, the route might be ihnp4!rutgers!uunet!epimass.epi.com!jbuck, and for someone else, it might be ucbvax!harvard!uunet!epimess.epi.com!jbuck. It's not an address if it depends on where the mail is being sent from. An address would be: jbuck@epimass.epi.com or epimass.epi.com!jbuck provided your are running smart mailer. This address will get mail to Joe no matter where it is being sent from, including UUCP machines running smart mailers, and the DDN. Mark Horton gave a good example somewhere, which I forget, that gives a good example of the difference between a route and an address. If you think of an address in the sense of a postal address, it makes sense: No matter where you mail a letter from, the address for the recipient always stays the same, regardless of if you're in New York, California, or even (God forbid!) Columbus, Ohio. Tim Thompson tgt@cblpf.att.com
dhesi@bsu-cs.UUCP (Rahul Dhesi) (04/06/88)
In article <1121@cblpf.ATT.COM> tgt@cblpf.ATT.COM (45264-Tim Thompson) writes: > ...!uunet!epimass.epi.com!jbuck is NOT an address, it is a route. Using >this type of syntax depends on where you are sending the mail from... ... >It's not an address if it depends on where the mail is being sent from. Not so. The string "uunet!epimass.epi.com!jbuck" is an address if you are on a system that recognizes the host "uunet". This is the case if you are running smail and have a pathalias database built from the UUCP maps. The string "uunet!epimass.epi.com!jbuck" is a route if your system has a direct connection with uunet. This is the case for a large number of sites. Whether a string is a route or an address or both depends to a large extent on what kind of software you are running. On a system with BITNET access only, which does not understand UUCP path syntax, "uunet!epimass.epi.com!jbuck" is neither an address nor a route. Fortunately such machines are rare (though not rare enough). -- Rahul Dhesi UUCP: <backbones>!{iuvax,pur-ee,uunet}!bsu-cs!dhesi
les@chinet.UUCP (Leslie Mikesell) (04/07/88)
In article <1121@cblpf.ATT.COM> tgt@cblpf.ATT.COM (45264-Tim Thompson) writes: >For one thing, why would your have a bunch of uucp machines that only know >! addresses (which are probably actually routes, NOT addresses)? With >the free smail package, and the ease with which it can be installed, there >just doesn't seem to be a reason why a uucp machine can not understand >the "@" syntax. Two reasons: The machines are small and fairly loaded as is; I don't want each of them to have to store the names of all the machines in the known universe or to search such a table every time mail is sent. Also, the machines are either on a network or connected by dedicated lines. Most do not have modems, so mail to the rest of the world must be routed through a machine that has modems (and fewer users). >One clarification: > > ...!uunet!epimass.epi.com!jbuck is NOT an address, it is a route. Using > An address would be: > jbuck@epimass.epi.com The all ! route should work for me, if the gateway machine is set up to reroute. However, it seems like this would be a common problem and that there should be a defined syntax to force a route to a known machine and request it to interpret the remaining part as an address (perhaps this is it?). Les Mikesell
jbuck@epimass.EPI.COM (Joe Buck) (04/08/88)
In article <1121@cblpf.ATT.COM> Tim Thompson writes: >With >the free smail package, and the ease with which it can be installed, there >just doesn't seem to be a reason why a uucp machine can not understand >the "@" syntax. In article <4634@chinet.UUCP> Leslie Mikesell writes: >Two reasons: > The machines are small and fairly loaded as is; I don't want each of >them to have to store the names of all the machines in the known universe >or to search such a table every time mail is sent. This is unnecessary. Assign one of the machines in your organization to be the gateway to the world; give the remaining machines a paths file that only knows about your local machine topology; make smart-host point to your gateway machine. Even your smart-host machine doesn't have to use the full map; you could just give it the d.* files from comp.mail.maps to crunch on so it knows about domain gateways. > Also, the machines are either on a network or connected by dedicated >lines. Most do not have modems, so mail to the rest of the world must be >routed through a machine that has modems (and fewer users). Then my above proposal is perfect for you. Your internal machines can be set up to hand everything but local mail to your smart host. -- - Joe Buck {uunet,ucbvax,sun,<smart-site>}!epimass.epi.com!jbuck Old Internet mailers: jbuck%epimass.epi.com@uunet.uu.net
jay@splut.UUCP (Jay Maynard) (04/12/88)
In article <4634@chinet.UUCP> les@chinet.UUCP (Leslie Mikesell) writes: >In article <1121@cblpf.ATT.COM> tgt@cblpf.ATT.COM (45264-Tim Thompson) writes: >>With the free smail package, and the ease with which it can be installed, >>there just doesn't seem to be a reason why a uucp machine can not understand >>the "@" syntax. > The machines are small and fairly loaded as is; I don't want each of >them to have to store the names of all the machines in the known universe >or to search such a table every time mail is sent. This is the reason I haven't installed smail on splut yet. I don't want to maintain a humongous database (if my 286 machine could even handle it, and one neighbor indicates it can't), and I have not one but two well-connected neighbors and one fairly-well-connected neighbor that I haven't figured out how to use to their fullest (i.e. I want stuff that can go through ihnp4 to the destination machine but not through uunet easily to go via tness1, while I want stuff that can go directly through uunet to go via nuchat...) (Anyone with a solution to this one will earn my undying thanks!) -- Jay Maynard, EMT-P, K5ZC...>splut!< | GEnie: JAYMAYNARD CI$: 71036,1603 uucp: {uunet!nuchat,hoptoad!academ!uhnix1,{ihnp4,bellcore}!tness1}!splut!jay Never ascribe to malice that which can adequately be explained by stupidity. Pledge #29: Vote for Kent Paul Dolan and the Birthright Party in '88!
chip@ateng.UUCP (Chip Salzenberg) (04/14/88)
[Note that this has been crossposted to comp.mail.uucp and comp.unix.xenix] In article <472@splut.UUCP> jay@splut.UUCP (Jay Maynard) writes: >In article <4634@chinet.UUCP> les@chinet.UUCP (Leslie Mikesell) writes: >> The machines are small and fairly loaded as is; I don't want each of >>them to have to store the names of all the machines in the known universe >>or to search such a table every time mail is sent. > >This is the reason I haven't installed smail on splut yet. I don't want >to maintain a humongous database (if my 286 machine could even handle >it, and one neighbor indicates it can't) [...] Well, you can run pathalias under Xenix/286 -- I do so on ateng. But let me make one thing perfectly clear: >> You don't need a complete paths file to run smail. << Smail is a very useful program even without a global paths file. Its aliasing facility is nice (much better than SCO's in my opinion), and it supports the ".forward" file for user-controller forwarding. If you don't have the space or inclination to run pathalias, just make a paths file by hand which contains the hosts you talk to often; then smail will route those hosts and you can spell out a bang path from there. >(Anyone with a solution to this one will earn my undying thanks!) Okay, so what are your thanks worth? :-) -- Chip Salzenberg "chip@ateng.UU.NET" or "codas!ateng!chip" A T Engineering My employer may or may not agree with me. "I must create a system or be enslaved by another man's." -- Blake
rpw3@amdcad.AMD.COM (Rob Warnock) (04/15/88)
In article <472@splut.UUCP> jay@splut.UUCP (Jay Maynard) writes: +--------------- | This is the reason I haven't installed smail on splut yet. I don't want to | maintain a humongous database ... and I have not one but two well-connected | neighbors and one fairly-well-connected neighbor... I want stuff that | can go through ihnp4 to the destination machine but not through uunet | easily to go via tness1, while I want stuff that can go directly through | uunet to go via nuchat...) | (Anyone with a solution to this one will earn my undying thanks!) +--------------- I had exactly the same need when the first "smail" came out, and came up with a one-line hack that fixed it all for me. I haven't upgraded to smail2.5 on that machine yet, so can't tell you how to do it to the current source, but it should be easy from the description below. (It may be that the "partial resolution" added in smail 2.5 makes this moot.) It was well worth it. The "paths" file on that machine is now ~4 Kbytes, rather than 400K+. In (original) smail, there is a place where a match has been found, and smail is about to rewrite the address. The hack is this: If the "right-hand-side" (what we are about to substitute for the "host" or "domain") starts with an asterisk "*", the RHS (minus the asterisk) is PREPENDED to the original host/domain, rather than replacing it. That's it! The effective benefit of the hack is to allow you multiple "smart-hosts", selected by domain. This means you can default any of your traffic at one level to one host, but at a lower level can selectively route some sub-domains to other links. For example, if you wanted to (say) default ".COM" to go through "uunet" (via "nuchat"), but knew that AT&T sites would be better served by "ihnp4" (through "tness1"), you paths file could look like: .att.com *tness1!ihnp4!%s .com *nuchat!uunet!%s .il43c.att.com some!special!path!to!ATT!site!il43c!%s The last path is thrown in to show a non-"*" path that overrides even the ".att.com" default. (Remember, smail will try the most specific domain first, only going to the more general if it fails to find a match.) To "compress" your paths file, you start with a full paths file built by pathalias for your host (as noted elsewhere, this can be done on another system), then replace any path which includes a known "smart host" with a "*"-path which stops at the smart-host. For example, you can change all paths like: .foo.com nuchat!uunet!some!funky!path!...!foo!%s to .foo.com *nuchat!uunet!%s (Note: This DOESN'T assume "nuchat" is smart, but that uunet is.) Now when you've done that, you'll notice an awful lot of domains that now have the same right hand side. All of those can be collapsed into a single entry. So that: .alpha.foo.com nuchat!uunet!some!funky!path!...!alpha!%s .beta.foo.com nuchat!uunet!some!other!weird!path!...!beta!%s .gamma.foo.com nuchat!uunet!still!a!third!strange!path!gamma!%s can be collapsed to .foo.com *nuchat!uunet!%s So you end up with a default (primary) route for each top-level domain (.com, .edu, &c.), and a few special routes for broad classes you know how to route better. Yes, this costs manual work, but for a really small site it's worth it, for two reasons: (1) The paths file is *MUCH* smaller, and (2) since you only store the best outgoing stub path to the nearest smart host (for that particular (sub)domain), the paths data tends to change MUCH less frequently. (The path from uunet to a random host may change, but the path from you to uunet is much more stable.) Hope this helps... Rob Warnock Systems Architecture Consultant UUCP: {amdcad,fortune,sun,attmail}!redwood!rpw3 ATTmail: !rpw3 DDD: (415)572-2607 USPS: 627 26th Ave, San Mateo, CA 94403