home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume4 / uk-1.4 / part2 < prev    next >
Internet Message Format  |  1986-11-30  |  19KB

  1. From: Jim Crammond <seismo!mcvax!cs.hw.ac.uk!jim>
  2. Subject: Sendmail UK-1.4 part 2 of 5
  3. Newsgroups: mod.sources
  4. Approved: jpn@panda.UUCP
  5.  
  6. Mod.sources:  Volume 4, Issue 57
  7. Submitted by: Jim Crammond <seismo!mcvax!cs.hw.ac.uk!jim>
  8.  
  9.  
  10. #    This is a shell archive.
  11. #    Remove everything above and including the cut line.
  12. #    Then run the rest of the file through sh.
  13. -----cut here-----cut here-----cut here-----cut here-----
  14. #!/bin/sh
  15. # shar:    Shell Archiver
  16. #    Run the following text with /bin/sh to create:
  17. #    dom
  18. # This archive created: Fri Feb 28 13:10:19 1986
  19. echo shar: creating directory dom
  20. mkdir dom
  21. cd dom
  22. echo shar: extracting Examples.a '(7914 characters)'
  23. cat << \SHAR_EOF > Examples.a
  24. !<arch>
  25. local.dom       508607788   217   4     100644  239       `
  26. #
  27. #  Local (hw.cs) domain
  28. #
  29. brahma        brahma.cs.hw.ac.uk
  30. jove        jove.cs.hw.ac.uk
  31. odin        odin.cs.hw.ac.uk
  32. ra        ra.cs.hw.ac.uk
  33. zeus        zeus.cs.hw.ac.uk
  34. #
  35. #  Heriot-Watt domain
  36. #
  37. cs        cs.hw.ac.uk
  38. ee        ee.hw.ac.uk
  39. aimmi        aimmi.hw.ac.uk
  40. ga        ga.hw.ac.uk
  41.  
  42. uk.dom          508608328   217   4     100644  4563      `
  43. #
  44. #  UK Domain Table.  Generated: Wed Feb 12 13:42:52 GMT 1986
  45. #
  46. # Standard form names
  47. #
  48. aberdeen             aberdeen.ac.uk
  49. aberystwyth          aberystwyth.ac.uk
  50. afrc-computing-centre afrc-computing-centre.ac.uk
  51. aston                aston.ac.uk
  52. aucc                 aucc.ac.uk
  53. bangor               bangor.ac.uk
  54. bath                 bath.ac.uk
  55. birkbeck             birkbeck.ac.uk
  56. birmingham           birmingham.ac.uk
  57. bradford             bradford.ac.uk
  58. bristol              bristol.ac.uk
  59. brunel               brunel.ac.uk
  60. bt-research-labs     bt-research-labs.co.uk
  61. cambridge            cambridge.ac.uk
  62. cardiff              cardiff.ac.uk
  63. city                 city.ac.uk
  64. cranfield            cranfield.ac.uk
  65. daresbury            daresbury.ac.uk
  66. dundee               dundee.ac.uk
  67. dundee-tech          dundee-tech.ac.uk
  68. durham               durham.ac.uk
  69. east-anglia          east-anglia.ac.uk
  70. edinburgh            edinburgh.ac.uk
  71. essex                essex.ac.uk
  72. exeter               exeter.ac.uk
  73. glasgow              glasgow.ac.uk
  74. hatfield             hatfield.ac.uk
  75. heriot-watt          heriot-watt.ac.uk
  76. hull                 hull.ac.uk
  77. imperial             imperial.ac.uk
  78. janet                janet.ac.uk
  79. kcl                  kcl.ac.uk
  80. keele                keele.ac.uk
  81. lancashire-poly      lancashire-poly.ac.uk
  82. lancaster            lancaster.ac.uk
  83. leeds                leeds.ac.uk
  84. leicester            leicester.ac.uk
  85. liverpool            liverpool.ac.uk
  86. lon                  lon.ac.uk
  87. loughborough         loughborough.ac.uk
  88. lse                  lse.ac.uk
  89. manchester           manchester.ac.uk
  90. nerc-bangor          nerc-bangor.ac.uk
  91. nerc-bidston         nerc-bidston.ac.uk
  92. nerc-holbrook        nerc-holbrook.ac.uk
  93. nerc-imer            nerc-imer.ac.uk
  94. nerc-keyworth        nerc-keyworth.ac.uk
  95. nerc-murchison       nerc-murchison.ac.uk
  96. nerc-wallingford     nerc-wallingford.ac.uk
  97. nerc-wormley         nerc-wormley.ac.uk
  98. newcastle            newcastle.ac.uk
  99. nottingham           nottingham.ac.uk
  100. nrs                  nrs.ac.uk
  101. open                 open.ac.uk
  102. oxford               oxford.ac.uk
  103. paisley              paisley.ac.uk
  104. plymouth             plymouth.ac.uk
  105. poly-central-london  poly-central-london.ac.uk
  106. qec                  qec.ac.uk
  107. qmc                  qmc.ac.uk
  108. queens-belfast       queens-belfast.ac.uk
  109. reading              reading.ac.uk
  110. rhbnc                rhbnc.ac.uk
  111. rutherford           rutherford.ac.uk
  112. salford              salford.ac.uk
  113. serc-central-office  serc-central-office.ac.uk
  114. sheffield            sheffield.ac.uk
  115. southampton          southampton.ac.uk
  116. st-andrews           st-andrews.ac.uk
  117. stirling             stirling.ac.uk
  118. strathclyde          strathclyde.ac.uk
  119. surrey               surrey.ac.uk
  120. sussex               sussex.ac.uk
  121. swansea              swansea.ac.uk
  122. tees-poly            tees-poly.ac.uk
  123. ucl                  ucl.ac.uk
  124. ukc                  ukc.ac.uk
  125. ulster               ulster.ac.uk
  126. umist                umist.ac.uk
  127. umrcc                umrcc.ac.uk
  128. uwist                uwist.ac.uk
  129. warwick              warwick.ac.uk
  130. westfield            westfield.ac.uk
  131. york                 york.ac.uk
  132. #
  133. # Abbreviated form names
  134. #
  135. abdn         abdn.ac.uk
  136. aber         aber.ac.uk
  137. afrc         afrc.ac.uk
  138. bbk          bbk.ac.uk
  139. bham         bham.ac.uk
  140. brad         brad.ac.uk
  141. bris         bris.ac.uk
  142. btrl         btrl.co.uk
  143. cam          cam.ac.uk
  144. cf           cf.ac.uk
  145. #co          co.ac.uk
  146. cran         cran.ac.uk
  147. dct          dct.ac.uk
  148. dl           dl.ac.uk
  149. dund         dund.ac.uk
  150. dur          dur.ac.uk
  151. ed           ed.ac.uk
  152. ex           ex.ac.uk
  153. gla          gla.ac.uk
  154. hatfld       hatfld.ac.uk
  155. hw           hw.ac.uk
  156. ic           ic.ac.uk
  157. kl           kl.ac.uk
  158. lancs        lancs.ac.uk
  159. lancsp       lancsp.ac.uk
  160. le           le.ac.uk
  161. liv          liv.ac.uk
  162. lut          lut.ac.uk
  163. man          man.ac.uk
  164. nbi          nbi.ac.uk
  165. ncl          ncl.ac.uk
  166. nkw          nkw.ac.uk
  167. nme          nme.ac.uk
  168. nmh          nmh.ac.uk
  169. nns          nns.ac.uk
  170. nott         nott.ac.uk
  171. ntb          ntb.ac.uk
  172. nwl          nwl.ac.uk
  173. nwo          nwo.ac.uk
  174. ou           ou.ac.uk
  175. ox           ox.ac.uk
  176. pcl          pcl.ac.uk
  177. plym         plym.ac.uk
  178. qub          qub.ac.uk
  179. rdg          rdg.ac.uk
  180. rl           rl.ac.uk
  181. salf         salf.ac.uk
  182. shef         shef.ac.uk
  183. soton        soton.ac.uk
  184. st-and       st-and.ac.uk
  185. stir         stir.ac.uk
  186. strath       strath.ac.uk
  187. surr         surr.ac.uk
  188. susx         susx.ac.uk
  189. swan         swan.ac.uk
  190. sx           sx.ac.uk
  191. tp           tp.ac.uk
  192. uea          uea.ac.uk
  193. ulst         ulst.ac.uk
  194. warwk        warwk.ac.uk
  195.  
  196. ukuucp.dom      508608086   217   4     100644  363       `
  197. #
  198. #    UUCP names to NRS names.
  199. #
  200. #    Where appropriate uucp hostname are mapped to NRS domain names.
  201. #
  202. cstvax       cstvax.ed.ac.uk
  203. edcaad       edcaad.ed.ac.uk
  204. hwee         ee.hw.ac.uk
  205. icdoc        doc.ic.ac.uk
  206. kcl-cs       cs.kcl.ac.uk
  207. spider       spider.co.uk
  208. stl          stl.stc.co.uk
  209. ukc          ukc.ac.uk
  210. ulcs         dcs.leeds.ac.uk
  211. mcvax        mcvax.uucp
  212.  
  213. bitnet.dom      508607579   217   4     100644  845       `
  214. #
  215. #  The Bitnet domain.    (Mar 1985)
  216. #    Data extracted from /usr/lib/rscs/SYSNAMES by:
  217. #    awk '{print $1}' SYSNAMES | tr '[A-Z]' '[a-z]' | \
  218. #    awk '{printf "%-20s %s.bitnet\n", $1, $1 }'
  219. #
  220. wisdom               wisdom.bitnet
  221. weizmann             weizmann.bitnet
  222. remote               remote.bitnet
  223. wisvms               wisvms.bitnet
  224. ucbjade              ucbjade.bitnet
  225. wiscvm               wiscvm.bitnet
  226. psuvms1              psuvms1.bitnet
  227. taurus               taurus.bitnet
  228. taunivm              taunivm.bitnet
  229. hujics               hujics.bitnet
  230. hbunos               hbunos.bitnet
  231. barilan              barilan.bitnet
  232. psuvax1              psuvax1.bitnet
  233. psuvm                psuvm.bitnet
  234. cunyvm               cunyvm.bitnet
  235. earnet               earnet.bitnet
  236. rockvax              rockvax.bitnet
  237. israearn             israearn.bitnet
  238. #  .... and so on
  239.  
  240. ed.local.dom    508607661   217   4     100644  427       `
  241. # local.dom for Edinburgh sites
  242. aigr        aigr.ed.ac.uk
  243. aiva        aiva.ed.ac.uk
  244. bush        bush.ed.ac.uk
  245. cstvax        cstvax.ed.ac.uk
  246. ecsvax        ecsvax.ed.ac.uk
  247. edai        edai.ed.ac.uk
  248. edee        edee.ed.ac.uk
  249. edgr        edgr.ed.ac.uk
  250. edmrc        edmrc.ed.ac.uk
  251. edxa        edxa.ed.ac.uk
  252. emas        emas.ed.ac.uk
  253. epistemi    epistemi.ed.ac.uk
  254. ercvax        ercvax.ed.ac.uk
  255. eusip        eusip.ed.ac.uk
  256. geovax        geovax.ed.ac.uk
  257. mcsu        mcsu.ed.ac.uk
  258. mrcvax        mrcvax.ed.ac.uk
  259. phyvax        phyvax.ed.ac.uk
  260.  
  261. top.dom         508607579   217   4     100644  467       `
  262. #  Top level domains
  263. #  if address hasn't matched a domain name in any other table then
  264. #  it should match something here. The RHS is a domain which specifies
  265. #  where the message should be relayed for further routing.
  266. #
  267. uk        cstvax.ed.ac.uk
  268. uucp        ukc.ac.uk
  269. arpa        cs.ucl.ac.uk
  270. com        cs.ucl.ac.uk
  271. edu        cs.ucl.ac.uk
  272. gov        cs.ucl.ac.uk
  273. mil        cs.ucl.ac.uk
  274. org        cs.ucl.ac.uk
  275. oz        ukc.ac.uk
  276. csnet        csnet-relay.arpa
  277. bitnet        wiscvm.arpa
  278. mailnet        mit-multics.arpa
  279. dec        decwrl.arpa
  280.  
  281. csnet.dom       508608201   217   4     100644  576       `
  282. #
  283. #    The Csnet domain (Feb 86)
  284. #        Generated from unix/pmdf CSNET table with
  285. #        the following command: "sed 's/,.*//' | tr '[A-Z]' '[a-z]'"
  286. #
  287. csnet-relay csnet-relay.csnet
  288. csnet-sh csnet-sh.csnet
  289. csnet-cic csnet-sh.csnet
  290. albany albany.csnet
  291. sunya albany.csnet
  292. suny-a albany.csnet
  293. alcoa-atc alcoa-atc.csnet
  294. alcoa-sei alcoa-sei.csnet
  295. alcoa alcoa-sei.csnet
  296. sei-alcoa alcoa-sei.csnet
  297. apple apple.csnet
  298. arizona arizona.csnet
  299. az arizona.csnet
  300. asu asu.csnet
  301. arizona-state asu.csnet
  302. asu-vax asu.csnet
  303. asuvax asu.csnet
  304. australia australia.csnet
  305. bbn-rvax bbn-rvax.csnet
  306. #  .... and so on
  307. SHAR_EOF
  308. if test 7914 -ne "`wc -c Examples.a`"
  309. then
  310. echo shar: error transmitting Examples.a '(should have been 7914 characters)'
  311. fi
  312. echo shar: extracting MAKE '(4274 characters)'
  313. cat << \SHAR_EOF > MAKE
  314. #!/bin/sh
  315. #
  316. #  shell script to generate a sendmail <site>.dom file containing all
  317. #  the domain information for this site from a set of domain database
  318. #  files contained in this directory.
  319. #
  320.  
  321. if [ $# -le 1 ]
  322. then    echo    usage: MAKE site files...
  323.     exit
  324. fi
  325.  
  326. site=$1
  327. shift
  328. rm -f $site.dom
  329.  
  330. top=
  331. rest=
  332.  
  333. for i in $*
  334. do
  335.     case $i in
  336.     *top.dom)    top="$top $i"
  337.             ;;
  338.     *)        rest="$rest $i"
  339.             ;;
  340.     esac
  341. done
  342.  
  343. sed -e '/^#/d' -e '/^$/d' $rest | awk '
  344.     {
  345.     n = split($2, domains, ".")
  346.  
  347.     if ($1 != domains[1])
  348.         printf "R$*%s\t\t$1%s\n", $1, $2    >"S10"
  349.     else
  350.     {    for (i=n; i>1; i--)
  351.             print domains[i] " " domains[i-1]
  352.     }
  353.     }
  354. ' | sort | uniq > $site
  355.  
  356. awk '
  357. BEGIN    {
  358.     MINCLSIZE = 2
  359.     classes = "ABCDEFGH"
  360.     c = 1; d = 0
  361.     }
  362.  
  363.     {
  364.     domain[$1] = domain[$1] " " $2
  365.     }
  366.  
  367. END    {
  368.     for (i in domain)
  369.     {    domain[i] = domain[i] " "
  370.         sort[++d] = i
  371.     }
  372.  
  373.     for (i=1; i<=d; i++)
  374.     {    for (j=1; j<i; j++)
  375.         {    m = " " sort[i] " "
  376.             if (index(domain[sort[j]], m) > 0)
  377.             {    t = sort[i]
  378.                 for (k=i; k>j; k--)
  379.                     sort[k] = sort[k-1]
  380.                 sort[j] = t
  381.             }
  382.         }
  383.  
  384.         for (j=i+1; j<=d; j++)
  385.         {    m = " " sort[j] " "
  386.             if (index(domain[sort[i]], m) > 0)
  387.             {    t = sort[j]
  388.                 for (k=j; k>i; k--)
  389.                     sort[k] = sort[k-1]
  390.                 sort[i] = t
  391.             }
  392.         }
  393.     }
  394.  
  395.  
  396.     for (i=1; i<=d; i++)
  397.     {    n = split(domain[sort[i]], subdoms, " ")
  398.  
  399.         if (n >= MINCLSIZE && c <= length(classes))
  400.         {    C = substr(classes, c, 1)
  401.             c++
  402.             print ""                 >"dom.classes"
  403.             printf "D%s%s\n", C, sort[i]         >"dom.classes"
  404.             printf "C%s%s\n", C, domain[sort[i]] >"dom.classes"
  405.             printf "R$*$=%s\t\t\t$1$2.$%s\t\tu@d -> u@d.%s\n", \
  406.                     C, C, sort[i] >"S11"
  407.             printf "R$*$=%s.$%s\t\t$1$2\t\tu@d.%s -> u@d\n", \
  408.                     C, C, sort[i] >"S12"
  409.             printf "R$*@$=%s.$+\t\t$@$>9$1@$2.$3\n", C >"S13"
  410.             printf "R$*$=%s\t\t\t$@$1$2\n", C    >"S13"
  411.         }
  412.         else
  413.         {    for (m=1; m<=n; m++)
  414.             {    printf "R$*%s\t\t$1%s.%s\n", subdoms[m], \
  415.                     subdoms[m], sort[i]  >"S11"
  416.                 printf "R$*%s.%s\t\t$1%s\n", subdoms[m], \
  417.                     sort[i], subdoms[m]  >"S12"
  418.                 printf "R$*@%s.$+\t\t$@$>9$1@%s.$2\n", \
  419.                     subdoms[m], subdoms[m]  >"S13"
  420.                 printf "R$*%s\t\t\t$@$1%s\n", \
  421.                     subdoms[m], subdoms[m]  >"S13"
  422.             }
  423.         }
  424.     }
  425.     }
  426. ' $site
  427.  
  428. rm -f $site
  429.  
  430. #
  431. #  The header
  432. #
  433. cat >$site.dom <<EOF
  434. ###############################################################################
  435. ###############################################################################
  436. #####
  437. #####    @(#)$site.dom    UK-1.4 sendmail configuration        12/2/86
  438. #####
  439. #####    The domain database and rules
  440. #####
  441. ###############################################################################
  442. ###############################################################################
  443.  
  444. # classes
  445. EOF
  446.  
  447. #
  448. #  generate classes
  449. #
  450. while read class group
  451. do
  452.     echo $group | tr ' ' '\012' | fmt | sed "s/^/$class/"
  453. done  < dom.classes >> $site.dom
  454.  
  455. rm -f dom.classes
  456.  
  457. #
  458. #  generate top level domains. If no file is specified hardwire some in.
  459. #
  460. cat >> $site.dom <<'EOF'
  461.  
  462. # top level domains
  463. EOF
  464. if [ -n "$top" ]
  465. then
  466.     sed -e '/^#/d' -e 's/[     ].*//' $top | fmt | sed 's/^/CT/' >> $site.dom
  467. else
  468.     echo Warning: no top.dom specified
  469.     echo 'CTuk arpa com edu gov mil org us net uucp oz csnet bitnet mailnet dec' >> $site.dom
  470. fi
  471.  
  472. #
  473. #  Ruleset 10
  474. #
  475. cat >> $site.dom <<'EOF'
  476.  
  477. ##########################################
  478. #  Ruleset 10  --  domain name aliasing  #
  479. ##########################################
  480.  
  481. S10
  482. EOF
  483. if [ -f S10 ]
  484. then    cat S10 >> $site.dom
  485.     rm -f S10
  486. fi
  487.  
  488.  
  489. #
  490. #  Ruleset 11
  491. #
  492. cat >> $site.dom <<'EOF'
  493.  
  494. ########################################################
  495. #  Ruleset 11  --  Expand address to full domain name  #
  496. ########################################################
  497.  
  498. S11
  499. EOF
  500. cat S11 >> $site.dom
  501. rm -f S11
  502.  
  503. #
  504. #  Ruleset 12
  505. #
  506. cat >> $site.dom <<'EOF'
  507.  
  508. ############################################################
  509. #  Ruleset 12  --  Strip full domain name to minimum part  #
  510. ############################################################
  511.  
  512. S12
  513. EOF
  514. tail -r S12 >> $site.dom
  515. rm -f S12
  516.  
  517. cat >> $site.dom <<'EOF'
  518.  
  519. ifdef(`NRSFORMAT',`
  520. ###############################################################
  521. #  Ruleset 13  --  Convert domains in NRS order to 822 order  #
  522. ###############################################################
  523.  
  524. S13
  525. R$*$=T            $@$1$2
  526. R$*@$=T.$+        $@$>9$1@$2.$3
  527. EOF
  528. tail -r S13  >> $site.dom
  529. rm -f S13
  530. echo "')" >> $site.dom
  531.  
  532. echo $site.dom made
  533. exit
  534. SHAR_EOF
  535. if test 4274 -ne "`wc -c MAKE`"
  536. then
  537. echo shar: error transmitting MAKE '(should have been 4274 characters)'
  538. else
  539. chmod a+x MAKE
  540. fi
  541. echo shar: extracting Namecheck '(743 characters)'
  542. cat << \SHAR_EOF > Namecheck
  543. #!/bin/sh
  544. #
  545. #  Shell script to find possible name conflicts in the domain 
  546. #  information given in a set of sendmail domain database files.
  547. #  Returns the number of name conflicts found.
  548. #                        jim@hw.cs    9/85
  549. #
  550.  
  551. if [ $# -lt 1 ]
  552. then    echo    usage: Namecheck files...
  553.     exit
  554. fi
  555.  
  556. awk '
  557. /^#/    {  break  }
  558.     {
  559.     n = split($2, domains, ".")
  560.  
  561.     if ($1 == domains[1])
  562.     {    full = domains[n]
  563.         for (i=n-1; i>0; i--)
  564.         {    full = domains[i] "." full
  565.             print domains[i] " " full
  566.         }
  567.     }
  568.     }
  569. ' $* | sort | uniq | awk '
  570. BEGIN    {
  571.     prev1 = ""
  572.     prev2 = ""
  573.     errorval = 0
  574.     }
  575.  
  576.     {
  577.     if (prev1 == $1)
  578.     {    if (errorval == 0)
  579.             print "Name conflicts:"
  580.         printf "\t\"%s\" in \"%s\" and \"%s\"\n", $1, prev2, $2
  581.         errorval++
  582.     }
  583.     prev1 = $1
  584.     prev2 = $2
  585.     }
  586.  
  587. END    {
  588.     exit errorval
  589.     }
  590. '
  591. SHAR_EOF
  592. if test 743 -ne "`wc -c Namecheck`"
  593. then
  594. echo shar: error transmitting Namecheck '(should have been 743 characters)'
  595. else
  596. chmod a+x Namecheck
  597. fi
  598. echo shar: extracting README '(4324 characters)'
  599. cat << \SHAR_EOF > README
  600. General
  601. -------
  602. It is recommended that you have some idea of what domains are before
  603. you start. RFC819 (supplied with the sendmail documentation) is a good
  604. starting point for this.
  605.  
  606. The domain tables provide the information that allows sendmail
  607. to expand host/site names or abbreviated domain names to fully
  608. qualified domain names.
  609.  
  610. The tables consist of rules (1 per line) which consist of two
  611. strings seperated by white space. Essentially, any address whose
  612. domain part ends in the string given on the LHS of a rule will be
  613. expanded to the string given on the RHS.
  614.  
  615. For example, if the following entry was in the domain tables
  616.  
  617.     hw        hw.ac.uk
  618.  
  619. then a user can give the address jim@hw and sendmail will expand this
  620. to the fully qualified name jim@hw.ac.uk.  Also, this will expand
  621. jim@cs.hw to jim@cs.hw.ac.uk.
  622.  
  623. Note that the names in the domain tables must be given in RFC822
  624. (little-endian) form with the most general part rightmost. e.g. hw.ac.uk.
  625.  
  626. Probably the minimum information you need to specify in the domain tables
  627. is a mapping from your host name to your domain name, e.g
  628.  
  629.     vax6        vax6.cs.hw.ac.uk
  630.  
  631. This would mean users would have to give fully qualified addresses
  632. to send mail elsewhere.
  633.  
  634. In theory, the maximum information you should specify should be the
  635. list of all siblings of the subdomains that make up your domain name,
  636. e.g. all subdomains of "uk", "ac", "hw" and "cs" for vax6.cs.hw.ac.uk.
  637.  
  638. You can add further information, for example, you may wish to specify
  639. all the subdomains of "co.uk" as well as "ac.uk", but beware of naming
  640. conflicts. There maybe a domain "ucs" in both "co.uk" and "ac.uk";
  641. if so, you must only specify one.  If the following entries were
  642. in the domain tables:
  643.  
  644.     ucs        ucs.ac.uk
  645.     co        co.uk
  646.  
  647. then users would be able to mail "jim@ucs" for "ucs.ac.uk", and "jim@ucs.co"
  648. for "ucs.co.uk".
  649.  
  650. Some domains contain a very large number of subdomains (e.g. arpa, uucp).
  651. It is probably unwise to attempt to include all these names
  652. in such cases as sendmail loads all this information in at startup time,
  653. and will thus take longer. Usually a more regional scheme is recommended
  654. like "all uucp sites in the uk" for the uucp domain. (Domains containing
  655. more than a 1000 subdomains will probably break the MAKE script anyway!)
  656.  
  657. Again, this just means users specify a fully qualified addresses
  658. for sites not included in the domain tables.
  659.  
  660. Hostname or domain name aliases can also be included in these files; so
  661. for example, an entry such as: 
  662.  
  663.     oldname.uucp    newname.ac.uk
  664.  
  665. means addresses like jim@oldname.uucp will be converted to jim@newname.ac.uk.
  666.  
  667. Lines beginning with "#" in the tables are treated as comments.
  668.  
  669. Top Level Domains
  670. -----------------
  671. Domain tables whose name ends with "top.dom" are treated specially.
  672. These files are assumed to contain a list of top level domain names.
  673.  
  674. The format of these tables is the same as for the "top.chn" channel
  675. tables: a top level domain name on the LHS and a relaying domain on
  676. the RHS, e.g.
  677.  
  678.     uk        ukc.ac.uk
  679.  
  680. Thus you can link the top.chn and top.dom files, if you wish.
  681. If no "top.dom" file is supplied, a default list of top level
  682. domains will be generated by the MAKE script  which contains
  683. the following domain names:
  684.  
  685.     uk arpa com edu gov mil org us net
  686.     uucp oz csnet bitnet mailnet dec
  687.  
  688.  
  689. Examples
  690. --------
  691. The archive Examples.a contains sample domain tables.
  692.  
  693.  
  694. How to compile the domain tables
  695. --------------------------------
  696.  
  697. 1.  Create some files containing the domain table information.
  698.     This is best done by extracting sample domain files from Examples.a
  699.     and editing them, if necessary, to contain the relevent data for this site.
  700.     Uk users should be able to use uk.dom as is.
  701.  
  702. 2.  Run "MAKE site file1 file2..."
  703.     This generates the sendmail classes and rules for domain expansion
  704.     in a file <site>.dom. e.g.
  705.     MAKE hwcs local.dom uk.dom top.dom
  706.  
  707.     You may see messages such as "direct is not an array" produced
  708.     by the MAKE script; ignore these!
  709.  
  710.     This shell script does a lot of work so be prepared to wait!
  711.  
  712.  
  713. Checking for name clashes
  714. -------------------------
  715. The program Namecheck will warn you of any name clashes you have in
  716. your domain tables.  Run "Namecheck file1 file2...", where the arguments
  717. are the domain tables used in the above MAKE command (except top.dom).
  718. e.g.
  719.     Namecheck local.dom uk.dom
  720. SHAR_EOF
  721. if test 4324 -ne "`wc -c README`"
  722. then
  723. echo shar: error transmitting README '(should have been 4324 characters)'
  724. else
  725. chmod a+x MAKE
  726. fi
  727. echo shar: done with directory dom
  728. cd ..
  729. #    End of shell archive
  730. exit 0
  731.  
  732.