riddle@woton.UUCP (Prentiss Riddle ) (05/27/88)
I've just been informed that woton's principal UUCP partner is about to change its UUCP name from "im4u" to "cs.utexas.edu". Apparently this will break smail: in experiments I've tried so far, addresses in the form "cs.utexas.edu!user" fail to resolve properly and smail attempts a delivery to "user" on my local system. Unless I'm mistaken this happens because smail considers anything containing a period to be a domain rather than a proper UUCP host and refuses to resolve to a UUCP address that starts with it. Here's the pertinent portion of our old "paths" file: im4u im4u!%s smart-host im4u!%s woton %s Here's what I've tried to replace it with, without success: cs.utexas.edu cs.utexas.edu!%s im4u cs.utexas.edu!%s smart-host cs.utexas.edu!%s woton %s Short of persuading our UUCP partner to go by something without periods (such as a simple "cs"), can anyone suggest a fix or workaround for this problem? Thanks. -- Prentiss Riddle ("Aprendiz de todo, maestro de nada.") -- Opinions expressed are not necessarily those of my employer. -- riddle%woton.uucp@cs.utexas.edu uunet!ut-sally!cs.utexas.edu!woton!riddle
brian@natinst.UUCP (Brian H. Powell) (05/28/88)
In article <1066@woton.UUCP>, riddle@woton.UUCP (Prentiss Riddle ) writes: > I've just been informed that woton's principal UUCP partner is about to > change its UUCP name from "im4u" to "cs.utexas.edu". Apparently this > will break smail: in experiments I've tried so far, addresses in the > form "cs.utexas.edu!user" fail to resolve properly and smail attempts a > delivery to "user" on my local system. > > Unless I'm mistaken this happens because smail considers anything > containing a period to be a domain rather than a proper UUCP host and > refuses to resolve to a UUCP address that starts with it. Im4u's one of my connections also, so I've got the same problem. Perhaps the most relevant document is RFC976, which describes the UUCP Mail Interchange Format Standard. It basically describes the proper way for a uucp site to interpret internet-style domain addresses. It's not clear that "cs.utexas.edu" is a valid UUCP site name; RFC976 distinguishes "domain" addresses from "uucp" addresses by looking for a period in the name. Smail implements RFC976, and it wants all domain addresses to resolve to a uucp address. "cs.utexas.edu" is really a uucp address, but since smail looks for periods, it's unable to resolve it. So, I modified the smail sources. Somebody should probably find an RFC that says whether my mods are kosher. Normally, smail tells the difference between "domain!user" and "host!user" by looking for a period in the word preceding the first bang. My mod is If the first word has no periods in it, it's considered a host. If the first word contains a period (e.g., cs.utexas.edu), and if that word is in the uucpmap, it's considered a host. Else it's considered a domain. You have to change the parse routine in the file headers.c in the standard smail distribution. Here's a patch, wrapped in a shar file for safety. Like I said, I'm not sure it's kosher. (Also, I haven't run it on too many rigorous tests, especially in the more bizarre ways that you can send mail to domains, so I'm not positive it works. It did seem to work okay on about a dozen tests that I've run.) THIS IS AN UNOFFICIAL PATCH. DON'T APPLY IT UNLESS YOU THINK YOU NEED IT. Maybe "cs.utexas.edu" won't be the final name, in which case you probably don't want this patch. # This is a shell archive. Remove anything before this line, # then unpack it by saving it in a file and typing "sh file". # # Wrapped by natinst!brian on Fri May 27 10:50:49 CDT 1988 # Contents: new.patch echo x - new.patch sed 's/^@//' > "new.patch" <<'@//E*O*F new.patch//' *** headers.c.old Fri May 27 09:19:59 1988 --- headers.c Fri May 27 09:27:50 1988 *************** *** 148,153 **** --- 148,161 ---- return(UUCP); } + { + char path[SMLBUF]; + int *cost; + + if(getpath(domain, path, cost) == EX_OK) + return(UUCP); + } + if(partv[parts-1][0] == '\0') { partv[parts-1][-1] = '\0'; /* strip trailing . */ } @//E*O*F new.patch// chmod u=rw,g=r,o=r new.patch echo Inspecting for damage in transit... temp=/tmp/shar$$; dtemp=/tmp/.shar$$ trap "rm -f $temp $dtemp; exit" 0 1 2 3 15 cat > $temp <<\!!! 19 56 377 new.patch !!! wc new.patch | sed 's=[^ ]*/==' | diff -b $temp - >$dtemp if [ -s $dtemp ] then echo "Ouch [diff of wc output]:" ; cat $dtemp else echo "No problems found." fi exit 0 Brian H. Powell National Instruments Corp. brian@natinst.uucp 12109 Technology Blvd. ut-sally!im4u!natinst!brian Austin, Texas 78727-6204 AppleLink:D0351 (512) 250-9119 x832 or if that doesn't work, you can use brian@sally.utexas.edu.