(Message inbox:2) To: bryan From: kolstad@BSDI.COM (Rob Kolstad) Subject: Final Formatted LISA Paper Date: Wed, 9 Sep 92 11:37:04 MDT ---------------------------------- %! %%Creator: troff->tpscript %%CreationDate: Wed Sep 9 11:36:33 1992 %%EndComments /inch { 480 mul } bind def /rotateit { /pgtop 11 inch def /pgwid 8.5 inch def newpath } bind def /scaleit { 72 480 div dup scale rotateit 1 setlinecap} def /unscaleit { 480 72 div dup scale} def /RBKFontDict 9 dict def /NEWDict 10 dict def RBKFontDict begin /FontType 3 def /FontName (RBK specials) cvn def /FontMatrix [ 0.001 0 0 0.001 0 0] def /FontBBox [ -50 -250 1000 1000 ] def /Encoding 256 array def 0 1 255 { Encoding exch /.notdef put } for Encoding dup 2 /Csq put dup 3 /Cci put dup 4 /Cbx put dup 5 /CSu put dup 15 /Cbu put pop /CharProcs 24 dict dup begin /setC { 0 -50 -250 1000 1000 setcachedevice} def /Cbu { 0 0 moveto 600 setC 300 300 moveto 300 300 250 0 360 arc closepath fill } def /Csq { 0 0 moveto 600 setC 50 50 moveto 500 0 rlineto 0 500 rlineto -500 0 rlineto closepath fill } def /Cbx { 0 0 moveto 600 setC 70 setlinewidth 50 50 moveto 500 0 rlineto 0 500 rlineto -500 0 rlineto closepath stroke } def /Cci { 0 0 moveto 600 setC 70 setlinewidth 550 300 moveto 300 300 250 0 360 arc closepath stroke } def /CSu { 0 0 moveto 715 setC 700 700 scale %% Kolstad & Horton/Polk 12/1989; Font: kolstad 6/24/90 /divsq2 { 1.4142136 div } bind def /mulsq2 { 1.4142136 mul } bind def /TW 0.62 def %% top width /MG 0.12 def %% MidGap /US TW 4 mul MG 6 mul add def %% Uside /UL US TW sub MG sub def %% U length /OR MG TW add def %% outradius /T2 TW divsq2 def /U2 UL divsq2 def /M2 MG divsq2 def /SU { %% sunU currentpoint T2 dup neg rlineto U2 neg dup rlineto currentpoint exch M2 add exch M2 sub MG 135 315 arc U2 dup rlineto T2 dup neg rlineto U2 neg dup rlineto currentpoint exch OR divsq2 sub exch OR divsq2 add OR 315 135 arcn closepath moveto } def /SU2 { SU currentpoint 0 US neg mulsq2 rmoveto 180 rotate SU -180 rotate moveto } def 1 US mulsq2 2 mul div dup scale US divsq2 US mulsq2 US divsq2 add rmoveto 4 { M2 2 mul M2 2 mul rmoveto US mulsq2 0 rmoveto 270 rotate SU2 } repeat %% 0 setlinewidth stroke fill } def end def /BuildChar { NEWDict begin /charcode exch def /fontdict exch def fontdict /CharProcs get begin fontdict /Encoding get charcode get load gsave 0 setlinecap 0 setgray newpath exec grestore end end } def end /RBKFont RBKFontDict definefont pop %%%%%%%%%%%%%%% End special Font scaleit 0 0 moveto /pagebot { showpage restore } def /pagetop { save } def /lastpage {} def /pt { 6.666667 mul } bind def /y { neg 0 exch rmoveto } bind def /X { U moveto } bind def /Y { pgtop exch sub currentpoint pop exch dup /U exch def moveto } bind def /s { show } bind def /S { dup gsave show grestore gsave true charpath 0 setgray stroke grestore } bind def /l { neg rlineto currentpoint stroke dup /U exch def moveto } bind def /c { 2 div /rad exch def currentpoint /y0 exch def /x0 exch def newpath x0 rad add y0 rad 0 360 arc stroke x0 rad add rad add y0 dup /U exch def moveto } def /a { /y2 exch neg def /x2 exch def /y1 exch neg def /x1 exch def x1 y1 rmoveto currentpoint currentpoint x2 x2 mul y2 y2 mul add sqrt y1 neg x1 neg atan y2 x2 atan newpath arc stroke moveto x2 y2 rmoveto currentpoint /U exch def pop } def /e { 2 div /yrad exch def 2 div /xrad exch def currentpoint /y0 exch def /x0 exch def gsave x0 xrad add y0 translate xrad yrad scale LS xrad yrad gt {xrad} {yrad} ifelse div setlinewidth newpath 0 0 1 0 360 arc stroke grestore x0 xrad add xrad add y0 dup /U exch def moveto } def /spln { rcurveto currentpoint stroke dup /U exch def moveto } def % stolen from greenbook page 115-116 /F { findfont exch scalefont setfont } bind def /RE { % re-encode findfont begin currentdict dup length dict begin { 1 index /FID ne {def} {pop pop} ifelse } forall /FontName exch def dup length 0 ne { % if /Encoding Encoding 256 array copy def 0 exch { % forall dup type /nametype eq % if? { Encoding 2 index 2 index put pop 1 add } { exch pop } ifelse } forall } if pop currentdict dup end end /FontName get exch definefont pop } bind def % use make.remap to make new stdencodings: /stdencoding [ 1 /multiply /ntilde /eth /otilde /oacute /idieresis /Ocircumflex /ograve /onequarter /scaron /uacute /odieresis /Ucircumflex /ugrave /yacute /Thorn /zcaron /udieresis /threequarters /threesuperior /ydieresis /aring /Ccedilla /twosuperior /acircumflex /Atilde /Aacute /Agrave /ecircumflex /Eacute /copyright 127 /Adieresis /Egrave /icircumflex /Iacute /onehalf /Edieresis /Igrave /Ntilde /Eth /ocircumflex /Otilde /Oacute /Idieresis /mu /Ograve /Scaron /ucircumflex /Uacute /Odieresis /Ugrave /Yacute /thorn /degree /logicalnot /minus /Zcaron /Udieresis /registered /plusminus /ccedilla /Ydieresis /Aring /atilde /aacute 176 /Acircumflex 181 /divide 190 /brokenbar 192 /agrave 201 /eacute 204 /Ecircumflex 209 /adieresis /egrave /onesuperior /trademark /iacute /Icircumflex /edieresis /igrave ] def /specdwidth 0 def /LS 0 def /setwidth {/specdwidth 1 def dup /LS exch def setlinewidth} def /ft { /fonttype exch def /xsiz exch def /ysiz exch def /sl exch def fonttype [ xsiz pt 0 sl sin sl cos div ysiz pt mul ysiz pt 0 0 ] makefont setfont specdwidth 0 eq {xsiz 4 div dup /LS exch def setlinewidth} if setgray } def /Z { specdwidth 0 eq {dup 4 div dup /LS exch def setlinewidth} if pt scalefont setfont } bind def /M { pgtop exch sub moveto } bind def /L { pgtop exch sub lineto } bind def /cbox { gsave 100 div setgray currentpoint /nowy exch def /nowx exch def /radius exch def /boxdown exch def /boxover exch def currentpoint newpath moveto radius 0 rmoveto nowx boxover add nowy nowx boxover add nowy boxdown sub radius arcto pop pop pop pop nowx boxover add nowy boxdown sub nowx nowy boxdown sub radius arcto pop pop pop pop nowx nowy boxdown sub nowx nowy radius arcto pop pop pop pop nowx nowy nowx boxover add nowy radius arcto pop pop pop pop currentgray 1.0 ne { gsave fill grestore } if 0 setgray stroke grestore } bind def /f.Y /RBKFont findfont def 0 Y save %%EndProlog 0 Y %%Page: 1 1 pagetop stdencoding /NTimes-Roman /Times-Roman RE /f.R /NTimes-Roman findfont def 0.00 0.0 10 10 f.R ft 988 X 521 Y 1168 X stdencoding /NTimes-Bold /Times-Bold RE /f.B /NTimes-Bold findfont def f.B 22 Z(Dealing)s 1696 X(with)s 2021 X(Lame)s 2427 X(Delegations)s 600 X 689 Y 1489 X stdencoding /NTimes-Italic /Times-Italic RE /f.I /NTimes-Italic findfont def f.I 12 Z(Bryan)s 1711 X(Beecher)s 2001 X(\261)s 2067 X f.R 12 Z(University)s 2431 X(of)s 2524 X(Michigan)s 840 X 865 Y 1912 X f.B 12 Z(ABSTRACT)s 840 X 999 Y 984 X f.R 10 Z(The)s 1127 X(University)s 1448 X(of)s 1542 X(Michigan)s 1837 X(is)s 1921 X(a)s 1990 X(large,)s 2180 X(research)s 2442 X(university)s 2748 X(with)s 2906 X(over)s 3063 X(six)s 3180 X(thousand)s 840 X 1072 Y(computers)s 1180 X(attached)s 1466 X(to)s 1580 X(six)s 1720 X(interconnected)s 2176 X(class)s 2369 X(B)s 2475 X(networks)s 2719 X(.)s 2820 X(The)s 2986 X(ownership)s 3324 X(and)s 840 X 1145 Y(administration)s 1250 X(of)s 1328 X(these)s 1489 X(machines)s 1765 X(is)s 1833 X(widely)s 2038 X(distributed)s 2347 X(across)s 2537 X(the)s 2642 X(university,)s 2949 X(and)s 3068 X(consequently)s 840 X 1218 Y(the)s 953 X(U)s 1001 X(-M)s 1113 X(Domain)s 1359 X(Name)s 1550 X(System)s 1778 X(namespace)s 2103 X(is)s 2178 X(also)s 2316 X(quite)s 2480 X(distributed)s 2766 X(.)s 2835 X(While)s 3029 X(this)s 3156 X(keeps)s 3338 X(the)s 840 X 1291 Y(workload)s 1125 X(low)s 1259 X(for)s 1370 X(any)s 1500 X(single)s 1694 X(campus)s 1933 X(hostmaster,)s 2275 X(it)s 2348 X(also)s 2491 X(introduces)s 2804 X(many)s 2987 X(possibilities)s 3343 X(for)s 840 X 1364 Y(domain)s 1062 X(nameserver)s 1392 X(miscon\256guration)s 1844 X(.)s 840 X 1458 Y 984 X(For)s 1098 X(some)s 1261 X(time)s 1403 X(we)s 1504 X(have)s 1653 X(run)s 1764 X(a)s 1817 X(version)s 2036 X(of)s 2114 X(the)s 2219 X(domain)s 2442 X(nameserver)s 2773 X(daemon,)s 3024 X f.B 10 Z(named)s f.R 10 Z(,)s 3257 X(which)s 840 X 1531 Y(includes)s 1098 X(Don)s 1247 X(Lewis')s 1468 X f.I 10 Z(lame)s 1633 X(delegation)s 1950 X(patch)s 2098 X(.)s 2171 X f.R 10 Z(This)s 2324 X(patch)s 2503 X(uses)s 2652 X(syslog)s 2856 X(to)s 2942 X(generate)s 3203 X(an)s 3300 X(alert)s 840 X 1604 Y(whenever)s 1130 X f.I 10 Z(named)s 1338 X f.R 10 Z(encounters)s 1658 X(a)s 1719 X(lame)s 1881 X(delegation,)s 2208 X(that)s 2340 X(is,)s 2433 X(an)s 2527 X(instance)s 2778 X(where)s 2973 X(a)s 3035 X(nameserver)s 3375 X(is)s 840 X 1677 Y(listed)s 1017 X(as)s 1104 X(authoritative)s 1474 X(for)s 1582 X(a)s 1643 X(domain,)s 1891 X(but)s 2007 X(in)s 2090 X(fact)s 2222 X(is)s 2298 X(not)s 2414 X(performing)s 2744 X(service)s 2965 X(for)s 3072 X(that)s 3203 X(domain)s 3403 X(.)s 840 X 1750 Y(We)s 960 X(have)s 1113 X(taken)s 1285 X(this)s 1409 X(idea)s 1548 X(one)s 1671 X(step)s 1806 X(further)s 2014 X(by)s 2107 X(running)s 2340 X(a)s 2397 X(weekly)s 2617 X(job)s 2729 X(that)s 2857 X(collects)s 3091 X(these)s 3257 X(alerts,)s 840 X 1823 Y(does)s 994 X(its)s 1090 X(best)s 1230 X(to)s 1314 X(screen)s 1517 X(out)s 1634 X(any)s 1762 X(spurious)s 2019 X(ones,)s 2190 X(and)s 2318 X(then)s 2465 X(noti\256es)s 2694 X(the)s 2807 X(owner)s 3004 X(of)s 3090 X(the)s 3203 X(domain)s 3403 X(.)s 840 X 1896 Y(This)s 981 X(paper)s 1151 X(summarizes)s 1493 X(and)s 1611 X(discusses)s 1882 X(this)s 2001 X(work)s 2137 X(.)s 600 X 2042 Y 1156 X f.B 10 Z(Background)s 600 X 2151 Y 744 X f.R 10 Z(The)s 893 X(University)s 1220 X(of)s 1320 X(Michigan)s 1621 X(is)s 1712 X(a)s 1788 X(large)s 1968 X(and)s 600 X 2224 Y(sprawling)s 887 X(collection)s 1176 X(of)s 1255 X(TCP/IP)s 1479 X(networks,)s 1764 X(comprising)s 600 X 2297 Y(half)s 733 X(a)s 793 X(dozen)s 982 X(class)s 1143 X(B)s 1217 X(networks)s 1491 X(\(141)s 1612 X(.211)s 1728 X(.0)s 1778 X(.0)s 1858 X(through)s 600 X 2370 Y(141)s 699 X(.216)s 815 X(.0)s 865 X(.0\))s 937 X(.)s 1023 X(The)s 1174 X(Domain)s 1436 X(Name)s 1643 X(System)s 1887 X(\(DNS\))s 600 X 2443 Y(entry)s 759 X(for)s 858 X(the)s 963 X(University)s 1268 X(of)s 1346 X(Michigan)s 1625 X(is)s 1693 X f.B 9 Z(UMICH)s 1906 X(.EDU)s f.R 10 Z(,)s 600 X 2516 Y(and)s 722 X(like)s 849 X(the)s 957 X(University's)s 1313 X(IP)s 1398 X(networks,)s 1685 X(it)s 1749 X(too)s 1860 X(is)s 1930 X(large)s 600 X 2589 Y(and)s 730 X(sprawling)s 993 X(.)s 1066 X(Each)s 1234 X(college,)s 1479 X(institute,)s 1748 X(or)s 1838 X(campus)s 2042 X(-)s 600 X 2662 Y(wide)s 796 X(entity)s 1014 X(is)s 1124 X(entitled)s 1391 X(to)s 1508 X(a)s 1603 X(domain)s 1868 X(at)s 1982 X(the)s 600 X 2735 Y f.B 9 Z(UMICH)s 813 X(.EDU)s 997 X f.R 10 Z(level)s 1128 X(.)s 1210 X(For)s 1345 X(example,)s 1632 X(the)s 1757 X(College)s 2009 X(of)s 600 X 2808 Y(Literature,)s 960 X(Science,)s 1264 X(and)s 1438 X(the)s 1598 X(Arts)s 1790 X(uses)s 1982 X(the)s 600 X 2881 Y f.B 9 Z(LSA)s 716 X(.UMICH)s 944 X(.EDU)s 1115 X f.R 10 Z(domain)s 1315 X(.)s 1385 X(Departments)s 1758 X(within)s 1960 X(col-)s 600 X 2954 Y(leges)s 770 X(then)s 917 X(fall)s 1039 X(under)s 1222 X(that)s 1355 X(college's)s 1629 X(domain,)s 1878 X(and)s 2005 X(so)s 600 X 3027 Y(the)s 810 X(Math)s 1080 X(Department)s 1525 X(is)s 1699 X(known)s 2008 X(as)s 600 X 3100 Y f.B 9 Z(MATH)s 787 X(.LSA)s 918 X(.UMICH)s 1146 X(.EDU)s 1287 X f.R 10 Z(.)s 1357 X(All)s 1473 X(in)s 1555 X(all,)s 1670 X(there)s 1834 X(are)s 1946 X(over)s 600 X 3173 Y(six)s 700 X(thousand)s 962 X(hosts)s 1121 X(with)s 1262 X(entries)s 1463 X(in)s 1537 X(the)s 1641 X(DNS)s 1796 X(at)s 1867 X(U)s 1915 X(-M)s 1996 X(.)s 600 X 3267 Y 744 X(It)s 811 X(is)s 882 X(impractical)s 1211 X(to)s 1289 X(try)s 1389 X(to)s 1467 X(centralize)s 1755 X(the)s 1864 X(domain)s 600 X 3340 Y(nameservice)s 962 X(for)s 1066 X(this)s 1189 X(many)s 1363 X(machines)s 1616 X(.)s 1681 X(Consequently,)s 600 X 3413 Y(many)s 773 X(of)s 853 X(the)s 960 X(sub)s 1052 X(-domains)s 1325 X(of)s 1406 X f.B 9 Z(UMICH)s 1619 X(.EDU)s 1786 X f.R 10 Z(have)s 1938 X(been)s 600 X 3486 Y(delegated)s 902 X(to)s 999 X(various)s 1240 X(system)s 1470 X(administrators)s 1897 X(across)s 600 X 3559 Y(campus)s 804 X(.)s 876 X(This)s 1028 X(makes)s 1232 X(for)s 1342 X(a)s 1406 X(very)s 1558 X(distributed)s 1878 X(system)s 600 X 3632 Y(where)s 808 X(no)s 919 X(single)s 1123 X(hostmaster)s 1457 X(has)s 1590 X(too)s 1719 X(much)s 1911 X(work)s 2047 X(.)s 600 X 3705 Y(However,)s 902 X(it)s 981 X(also)s 1130 X(introduces)s 1449 X(great)s 1624 X(possibilities)s 1987 X(for)s 600 X 3778 Y(errors)s 791 X(when)s 971 X(newly)s 1170 X(hired)s 1343 X(system)s 1564 X(administrators)s 1982 X(are)s 600 X 3851 Y(forced)s 797 X(to)s 877 X(maintain)s 1140 X(their)s 1291 X(part)s 1423 X(of)s 1506 X(the)s 1616 X(DNS)s 1777 X(when)s 1949 X(they)s 600 X 3924 Y(haven't)s 830 X(had)s 955 X(proper)s 1157 X(training)s 1365 X(.)s 1433 X(One)s 1573 X(of)s 1657 X(the)s 1768 X(most)s 1927 X(com-)s 600 X 3997 Y(mon)s 740 X(errors)s 917 X(introduced)s 1224 X(is)s 1291 X(that)s 1414 X(of)s 1491 X(a)s 1543 X f.I 10 Z(lame)s 1695 X(delegation)s 1977 X(.)s 600 X 4124 Y 1142 X f.B 10 Z(The)s 1275 X(Problem)s 600 X 4233 Y 744 X f.R 10 Z(A)s 843 X f.I 10 Z(lame)s 1024 X(delegation)s 1357 X f.R 10 Z(is)s 1453 X(an)s 1567 X(instance)s 1838 X(when)s 2034 X(a)s 600 X 4306 Y(nameserver)s 944 X(is)s 1024 X(listed)s 1205 X(as)s 1296 X(authoritative)s 1670 X(for)s 1782 X(a)s 1847 X(domain,)s 600 X 4379 Y(but)s 726 X(in)s 819 X(fact,)s 978 X(it)s 1057 X(is)s 1144 X(not)s 1271 X(performing)s 1612 X(service)s 1844 X(for)s 1963 X(that)s 600 X 4452 Y(domain)s 800 X(.)s 868 X(A)s 944 X(lame)s 1103 X(delegation)s 1410 X(is)s 1483 X(often)s 1648 X(caused)s 1858 X(at)s 1935 X(U)s 1983 X(-M)s 600 X 4525 Y(when)s 766 X(a)s 818 X(hostmaster)s 1131 X(moves)s 1328 X(a)s 1381 X(domain)s 1604 X(nameserver)s 1935 X(from)s 600 X 4598 Y(host)s 736 X(A)s 809 X(to)s 886 X(host)s 1022 X(B)s 1091 X(without)s 1320 X(notifying)s 1589 X(the)s 1695 X(hostmaster)s 2009 X(of)s 600 X 4671 Y(the)s 711 X(parent)s 907 X(domain)s 1107 X(.)s 1175 X(For)s 1296 X(example,)s 1569 X(say)s 1688 X(there)s 1852 X(are)s 1964 X(two)s 600 X 4744 Y(sets)s 751 X(of)s 856 X(nameservers)s 1240 X(listed)s 1436 X(for)s 1562 X f.B 9 Z(LSA)s 1678 X(.UMICH)s 1906 X(.EDU)s 2047 X f.R 10 Z(.)s 2256 X 2042 Y(One)s 2401 X(set)s 2510 X(is)s 2589 X(listed)s 2769 X(in)s 2855 X(the)s 2971 X f.B 9 Z(UMICH)s 3184 X(.EDU)s 3359 X f.R 10 Z(domain)s 3594 X(zone)s 2256 X 2115 Y(\256le)s 2376 X(\(where)s 2595 X(the)s 2711 X(domain)s 2945 X(is)s 3024 X(delegated\))s 3337 X(and)s 3467 X(the)s 3583 X(other)s 2256 X 2188 Y(set)s 2367 X(is)s 2448 X(listed)s 2630 X(in)s 2718 X(the)s 2836 X f.B 9 Z(LSA)s 2952 X(.UMICH)s 3180 X(.EDU)s 3357 X f.R 10 Z(domain)s 3594 X(zone)s 2256 X 2261 Y(\256le)s 2342 X(.)s 2417 X(Under)s 2619 X(normal)s 2844 X(operating)s 3132 X(conditions)s 3446 X(these)s 3620 X(two)s 2256 X 2334 Y(sets)s 2398 X(of)s 2494 X(nameservers)s 2869 X(should)s 3087 X(be)s 3191 X(identical,)s 3481 X(but)s 3607 X(if)s 3690 X(a)s 2256 X 2407 Y(hostmaster)s 2592 X(is)s 2683 X(careless)s 2941 X(and)s 3082 X(changes)s 3342 X(the)s 3469 X(local)s 3645 X(set)s 2256 X 2480 Y(without)s 2503 X(notifying)s 2790 X(his)s 2911 X(parent)s 3121 X(domain's)s 3413 X(hostmaster,)s 2256 X 2553 Y(they)s 2408 X(can)s 2538 X(get)s 2657 X(out)s 2778 X(of)s 2869 X(sync)s 2991 X(.)s 3066 X(In)s 3157 X(our)s 3281 X(example,)s 3561 X(if)s 3638 X(the)s 2256 X 2626 Y(listed)s 2430 X(nameservers)s 2792 X(for)s 2897 X(the)s 3007 X f.B 9 Z(LSA)s 3123 X(.UMICH)s 3351 X(.EDU)s 3520 X f.R 10 Z(domain)s 2256 X 2699 Y(are)s 2405 X(listed)s 2618 X(as)s 2741 X f.B 9 Z(A)s 2784 X(.LSA)s 2915 X(.UMICH)s 3143 X(.EDU)s 3351 X f.R 10 Z(and)s 3514 X f.B 9 Z(B)s 3554 X(.LSA)s 3685 X(.-)s 2256 X 2772 Y(UMICH)s 2469 X(.EDU)s 2642 X f.R 10 Z(in)s 2726 X(the)s 2840 X f.B 9 Z(UMICH)s 3053 X(.EDU)s 3226 X f.R 10 Z(zone)s 3384 X(\256le,)s 3520 X(but)s 3638 X(are)s 2256 X 2845 Y(listed)s 2507 X(as)s 2667 X f.B 9 Z(C)s 2710 X(.LSA)s 2841 X(.UMICH)s 3069 X(.EDU)s 3314 X f.R 10 Z(and)s 3514 X f.B 9 Z(B)s 3554 X(.LSA)s 3685 X(.-)s 2256 X 2918 Y(UMICH)s 2469 X(.EDU)s 2637 X f.R 10 Z(in)s 2716 X(the)s 2826 X f.B 9 Z(LSA)s 2942 X(.UMICH)s 3170 X(.EDU)s 3339 X f.R 10 Z(zone)s 3493 X(\256le,)s 3624 X(and)s 2256 X 2991 Y(the)s 2365 X(nameserver)s 2700 X(on)s 2792 X f.B 9 Z(A)s 2835 X(.LSA)s 2966 X(.UMICH)s 3194 X(.EDU)s 3361 X f.R 10 Z(stops)s 3524 X(serving)s 2256 X 3064 Y(the)s 2363 X f.B 9 Z(LSA)s 2479 X(.UMICH)s 2707 X(.EDU)s 2874 X f.R 10 Z(domain,)s 3117 X(then)s 3258 X(the)s 3366 X f.B 9 Z(UMICH)s 3579 X(.EDU)s 2256 X 3137 Y f.R 10 Z(zone)s 2404 X(\256le)s 2512 X(now)s 2648 X(contains)s 2893 X(a)s 2945 X(lame)s 3098 X(delegation)s 3377 X(.)s 2256 X 3231 Y 2400 X(Lame)s 2578 X(delegations)s 2909 X(are)s 3017 X(serious)s 3232 X(problems)s 3480 X(.)s 3545 X(At)s 3638 X(the)s 2256 X 3304 Y(very)s 2399 X(least,)s 2564 X(they)s 2703 X(cause)s 2876 X(the)s 2982 X(DNS)s 3139 X(to)s 3215 X(become)s 3447 X(much)s 3619 X(less)s 2256 X 3377 Y(ef\256cient)s 2512 X(since)s 2686 X(query)s 2873 X(packets)s 3110 X(will)s 3251 X(be)s 3350 X(sent)s 3494 X(to)s 3583 X(hosts)s 2256 X 3450 Y(which)s 2447 X(are)s 2557 X(either)s 2738 X(not)s 2851 X(running)s 3085 X(a)s 3142 X(nameserver)s 3477 X(at)s 3553 X(all,)s 3665 X(or)s 2256 X 3523 Y(will)s 2387 X(be)s 2476 X(sent)s 2610 X(to)s 2688 X(nameservers)s 3049 X(which)s 3239 X(are)s 3348 X(not)s 3460 X(authorita-)s 2256 X 3596 Y(tive)s 2383 X(for)s 2486 X(a)s 2542 X(domain)s 2742 X(.)s 2806 X(In)s 2886 X(either)s 3064 X(case,)s 3222 X(the)s 3329 X(query)s 3505 X(will)s 3635 X(not)s 2256 X 3669 Y(be)s 2343 X(answered,)s 2636 X(and)s 2757 X(the)s 2864 X(sender)s 3063 X(will)s 3193 X(have)s 3344 X(to)s 3421 X(try)s 3520 X(another)s 2256 X 3742 Y(nameserver)s 2564 X(.)s 2649 X(In)s 2750 X(a)s 2826 X(more)s 3009 X(serious)s 3244 X(case,)s 3423 X(all)s 3537 X(of)s 3638 X(the)s 2256 X 3815 Y(nameservers)s 2612 X(listed)s 2780 X(for)s 2879 X(a)s 2932 X(domain)s 3155 X(will)s 3283 X(be)s 3369 X(lame)s 3523 X(delega-)s 2256 X 3888 Y(tions,)s 2426 X(and)s 2544 X(no)s 2632 X(queries)s 2847 X(can)s 2962 X(be)s 3047 X(answered!)s 3365 X(Interestingly,)s 2256 X 3961 Y(a)s 2310 X(site)s 2428 X(can)s 2545 X(be)s 2632 X(the)s 2739 X(victim)s 2936 X(of)s 3016 X(a)s 3071 X(serious)s 3285 X(lame)s 3441 X(delegation)s 2256 X 4034 Y(such)s 2404 X(as)s 2485 X(this)s 2607 X(without)s 2836 X(even)s 2987 X(being)s 3160 X(aware)s 3345 X(of)s 3425 X(it)s 3488 X(IF)s 3572 X(all)s 3665 X(of)s 2256 X 4107 Y(the)s 2367 X(resolvers)s 2638 X(on)s 2704 X(-site)s 2850 X(are)s 2962 X(con\256gured)s 3276 X(to)s 3358 X(query)s 3539 X(a)s 3599 X(non)s 3698 X(-)s 2256 X 4180 Y(lame)s 2414 X(server,)s 2621 X(yet)s 2730 X(the)s 2839 X(servers)s 3055 X(listed)s 3228 X(for)s 3332 X(that)s 3460 X(site)s 3581 X(at)s 3656 X(its)s 2256 X 4253 Y(parent)s 2462 X(domain)s 2701 X(are)s 2823 X(all)s 2931 X(lame)s 3062 X(.)s 3141 X(Unfortunately,)s 3572 X(many)s 2256 X 4326 Y(excellent)s 2535 X(examples)s 2823 X(of)s 2913 X(this)s 3045 X(exist)s 3207 X(even)s 3368 X(today)s 3551 X(in)s 3638 X(the)s 2256 X 4399 Y f.B 9 Z(IN)s 2322 X(-ADDR)s 2514 X(.ARPA)s 2737 X f.R 10 Z(namespace)s 3031 X(.)s 3112 X(Here)s 3284 X(the)s 3409 X(scenario)s 3675 X(is)s 2256 X 4472 Y(that)s 2420 X(a)s 2513 X(site)s 2670 X(lists)s 2842 X(no)s 2971 X(nameservers)s 3368 X(for)s 3508 X(its)s 3634 X f.B 9 Z(IN)s 3700 X(-)s 2256 X 4545 Y(ADDR)s 2428 X(.ARPA)s 2642 X f.R 10 Z(domains\(s\))s 2972 X(in)s 3058 X(the)s 3174 X(root)s 3315 X(servers)s 3538 X(due)s 3668 X(to)s 2256 X 4618 Y(ignorance)s 2554 X(or)s 2644 X(oversight,)s 2944 X(but)s 3064 X(their)s 3221 X(local)s 3386 X(nameservers)s 2256 X 4691 Y(do)s 2349 X(indeed)s 2554 X(serve)s 2722 X(their)s 2872 X f.B 9 Z(IN)s 2938 X(-ADDR)s 3130 X(.ARPA)s 3339 X f.R 10 Z(domain)s 3539 X(.)s 3606 X(And)s 2256 X 4764 Y(so,)s 2385 X(local)s 2569 X(queries)s 2815 X(all)s 2936 X(work)s 3124 X(since)s 3314 X(the)s 3448 X(packet)s 3675 X(is)s 600 X 4967 Y f.B 10 Z(1992)s 754 X(LISA)s 931 X(VI)s 1027 X(\261)s 1082 X(October)s 1338 X(19)s 1404 X(-23,)s 1531 X(1992)s 1685 X(\261)s 1740 X(Long)s 1909 X(Beach,)s 2122 X(CA)s 3621 X(127)s 5280 Y pagebot %%Page: 128 2 pagetop stdencoding /NTimes-Bold /Times-Bold RE /f.B /NTimes-Bold findfont def f.B 10 Z 360 X 215 Y(Dealing)s 601 X(with)s 749 X(Lame)s 934 X(Delegations)s 360 X 448 Y stdencoding /NTimes-Roman /Times-Roman RE /f.R /NTimes-Roman findfont def f.R 10 Z(coincidentally)s 795 X(going)s 1002 X(to)s 1110 X(a)s 1196 X(nameserver)s 1560 X(which)s 1779 X(is)s 360 X 521 Y(authoritative)s 723 X(for)s 824 X(that)s 949 X f.B 9 Z(IN)s 1015 X(-ADDR)s 1207 X(.ARPA)s 1411 X f.R 10 Z(domain,)s 1651 X(yet)s 1756 X(all)s 360 X 594 Y(non)s 459 X(-local)s 654 X(queries)s 889 X(on)s 998 X(that)s 1142 X f.B 9 Z(IN)s 1208 X(-ADDR)s 1400 X(.ARPA)s 1624 X f.R 10 Z(domain)s 360 X 667 Y(fail)s 473 X(since)s 634 X(there)s 791 X(are)s 896 X(no)s 985 X(nameservers)s 1341 X(for)s 1440 X(it)s 1500 X(listed)s 1668 X(in)s 1742 X(the)s 360 X 740 Y(root)s 489 X(servers)s 678 X(.)s 360 X 867 Y 907 X f.B 10 Z(The)s 1040 X(Solution)s 360 X 976 Y 504 X f.R 10 Z(Don)s 651 X(Lewis,)s 865 X(one)s 994 X(of)s 1082 X(the)s 1197 X(few)s 1330 X(people)s 1541 X(across)s 1742 X(the)s 360 X 1049 Y(Internet)s 598 X(contributing)s 954 X(bug)s 1083 X(\256xes)s 1239 X(and)s 1364 X(enhancements)s 1772 X(to)s 360 X 1122 Y(BIND,)s 569 X(released)s 819 X(a)s 879 X(patch)s 1054 X(which)s 1247 X(detects)s 1465 X(lame)s 1627 X(delega-)s 360 X 1195 Y(tions)s 490 X(.)s 565 X(A)s 649 X(lame)s 815 X(delegation)s 1129 X(is)s 1209 X(detected)s 1468 X(when)s 1647 X stdencoding /NTimes-Italic /Times-Italic RE /f.I /NTimes-Italic findfont def f.I 10 Z(named)s 360 X 1268 Y f.R 10 Z(forwards)s 626 X(a)s 686 X(query)s 867 X(to)s 949 X(a)s 1010 X(nameserver)s 1349 X(which)s 1543 X(was)s 1678 X(listed)s 360 X 1341 Y(as)s 453 X(an)s 553 X(authoritative)s 929 X(server,)s 1146 X(but)s 1268 X(the)s 1387 X(response)s 1657 X(is)s 1739 X(not)s 360 X 1414 Y(marked)s 583 X(as)s 663 X(authoritative)s 1002 X(.)s 1065 X(A)s 1137 X(lame)s 1292 X(delegation)s 1595 X(causes)s 1794 X(a)s 360 X 1487 Y(message)s 613 X(like)s 739 X(this)s 861 X(to)s 938 X(appear)s 1141 X(in)s 1218 X(the)s 1325 X(appropriate)s 1654 X(syslog)s 360 X 1560 Y(log:)s stdencoding /NCourier /Courier RE /f.CW /NCourier findfont def 360 X 1662 Y 408 X f.CW 10 Z(Jun)s 568 X(23)s 688 X(11:06:42)s 1048 X(totalrecall)s 360 X 1735 Y 408 X(named[104]:)s 888 X(Lame)s 1088 X(delegation)s 1528 X(to)s 360 X 1808 Y 408 X(`nadn)s 608 X(.NAVY)s 808 X(.MIL')s 1048 X(received)s 1408 X(from)s 360 X 1881 Y 408 X(26)s 488 X(.7)s 568 X(.0)s 648 X(.102)s 848 X(\(purported)s 1288 X(server)s 1568 X(for)s 360 X 1954 Y 408 X(`NADN)s 608 X(.NAVY)s 808 X(.MIL'\))s 1088 X(on)s 1208 X(query)s 1448 X(on)s 1568 X(name)s 360 X 2027 Y 408 X([ward)s 608 X(.nadn)s 808 X(.navy)s 1008 X(.mil])s 360 X 2150 Y 504 X f.R 10 Z(In)s 597 X(this)s 732 X(example,)s 1014 X(the)s 1134 X(namserver)s 1450 X(on)s 1554 X(totalrecall)s 360 X 2223 Y(came)s 539 X(across)s 743 X(this)s 877 X(lame)s 1044 X(delegation)s 1359 X(when)s 1539 X(it)s 1613 X(tried)s 1772 X(to)s 360 X 2296 Y(resolve)s 584 X(the)s 697 X(name)s 874 X f.B 9 Z(WARD)s 1063 X(.NADN)s 1250 X(.NAVY)s 1437 X(.MIL)s 1572 X f.R 10 Z(.)s 1643 X(At)s 1742 X(the)s 360 X 2369 Y(time)s 550 X(of)s 675 X(this)s 842 X(writing,)s 1121 X(there)s 1324 X(are)s 1475 X(three)s 1678 X(listed)s 360 X 2442 Y(nameservers)s 720 X(for)s 823 X(the)s 931 X f.B 9 Z(NADN)s 1103 X(.NAVY)s 1290 X(.MIL)s 1452 X f.R 10 Z(domains)s 1705 X(with)s 360 X 2515 Y(the)s 529 X(names:)s 805 X f.B 9 Z(NADN1)s 1007 X(.NADN)s 1194 X(.NAVY)s 1381 X(.MIL)s 1602 X f.R 10 Z(\(address)s 360 X 2588 Y(131)s 459 X(.121)s 575 X(.1)s 625 X(.1\),)s 786 X f.B 9 Z(USNA)s 948 X(.USNA)s 1125 X(.NAVY)s 1312 X(.MIL)s 1520 X f.R 10 Z(\(26)s 1608 X(.7)s 1658 X(.0)s 1708 X(.102)s 360 X 2661 Y(and)s 536 X(128)s 635 X(.56)s 718 X(.1)s 768 X(.1\),)s 937 X(and)s 1113 X f.B 9 Z(NADN2)s 1315 X(.NADN)s 1502 X(.NAVY)s 1689 X(.MIL)s 360 X 2734 Y f.R 10 Z(\(131)s 481 X(.121)s 597 X(.1)s 647 X(.2\))s 719 X(.)s 805 X(In)s 907 X(this)s 1052 X(case,)s 1233 X(our)s 1369 X(nameserver)s 1725 X(for-)s 360 X 2807 Y(warded)s 580 X(the)s 686 X(query)s 861 X(on)s 951 X(the)s 1057 X(name)s 1226 X f.B 9 Z(WARD)s 1415 X(.NADN)s 1602 X(.NAVY)s 1789 X(.-)s 2016 X 448 Y(MIL)s 2178 X f.R 10 Z(to)s 2272 X(a)s 2344 X(nameserver)s 2694 X(it)s 2774 X(was)s 2920 X(led)s 3044 X(to)s 3139 X(believe)s 3376 X(was)s 2016 X 521 Y(authoritative)s 2384 X(for)s 2490 X f.B 9 Z(NADN)s 2662 X(.NAVY)s 2849 X(.MIL)s f.R 10 Z(,)s 3030 X(yet)s 3141 X(in)s 3222 X(this)s 3347 X(case,)s 2016 X 594 Y(that)s 2139 X(nameserver)s 2469 X(replied)s 2677 X(with)s 2818 X(non)s 2917 X(-authoritative)s 3300 X(data)s 3412 X(.)s 2016 X 688 Y 2160 X(Since)s 2344 X(we)s 2457 X(started)s 2672 X(running)s 2914 X(a)s 2980 X(version)s 3212 X(of)s 3303 X f.I 10 Z(named)s 2016 X 761 Y f.R 10 Z(with)s 2169 X(this)s 2299 X(patch,)s 2494 X(we)s 2605 X(found)s 2792 X(that)s 2926 X(we)s 3037 X(discovered)s 3359 X(hun-)s 2016 X 834 Y(dreds)s 2184 X(of)s 2263 X(lame)s 2418 X(delegations)s 2748 X(each)s 2896 X(month)s 3066 X(.)s 3130 X(Furthermore,)s 2016 X 907 Y(although)s 2283 X(some)s 2458 X(lame)s 2623 X(delegations)s 2962 X(were)s 3126 X(indeed)s 3337 X(prob-)s 2016 X 980 Y(lems)s 2169 X(with)s 2314 X(a)s 2370 X(domain)s 2596 X(nameserver)s 2931 X(at)s 3007 X(the)s 3116 X(University)s 3425 X(of)s 2016 X 1053 Y(Michigan,)s 2362 X(most)s 2565 X(were)s 2768 X(problems)s 3089 X(with)s 3280 X(domain)s 2016 X 1126 Y(nameservers)s 2372 X(located)s 2588 X(elsewhere)s 2878 X(in)s 2952 X(the)s 3056 X(Internet)s 3264 X(.)s 2016 X 1220 Y 2160 X(At)s 2256 X(\256rst)s 2389 X(we)s 2496 X(ignored)s 2728 X(the)s 2840 X(non)s 2939 X(-local)s 3122 X(lame)s 3283 X(delega-)s 2016 X 1293 Y(tion)s 2154 X(messages)s 2440 X(and)s 2569 X(simply)s 2784 X(used)s 2939 X(a)s 3002 X(tool)s 3139 X(like)s 3273 X f.I 10 Z(grep)s 3428 X f.R 10 Z(to)s 2016 X 1366 Y(extract)s 2234 X(the)s 2351 X(lame)s 2517 X(delegations)s 2857 X(that)s 2994 X(were)s 3160 X(local)s 3291 X(.)s 3366 X(Yet,)s 2016 X 1439 Y(even)s 2170 X(this)s 2295 X(proved)s 2507 X(to)s 2587 X(be)s 2678 X(less)s 2807 X(effective)s 3070 X(than)s 3213 X(we)s 3318 X(hoped)s 2016 X 1512 Y(since)s 2192 X(many)s 2378 X(of)s 2471 X(the)s 2591 X(lame)s 2760 X(delegations)s 3103 X(proved)s 3326 X(to)s 3417 X(be)s 2016 X 1585 Y(transient)s 2292 X(problems,)s 2602 X(and)s 2743 X(there)s 2922 X(was)s 3070 X(little)s 3239 X(sense)s 3428 X(in)s 2016 X 1658 Y(alerting)s 2258 X(a)s 2325 X(hostmaster)s 2652 X(to)s 2741 X(a)s 2808 X(problem)s 3067 X(that)s 3206 X(no)s 3310 X(longer)s 2016 X 1731 Y(existed)s 2206 X(.)s 2281 X(We)s 2410 X(decided)s 2653 X(to)s 2740 X(build)s 2912 X(a)s 2977 X(tool)s 3116 X(which)s 3314 X(would)s 2016 X 1804 Y(screen)s 2222 X(out)s 2342 X(as)s 2433 X(many)s 2616 X(transient)s 2882 X(or)s 2972 X(spurious)s 3233 X(errors)s 3424 X(as)s 2016 X 1877 Y(possible,)s 2016 X 2023 Y(and)s 2147 X(would)s 2349 X(then)s 2500 X(automatically)s 2902 X(alert)s 3058 X(the)s 3176 X(appropriate)s 2016 X 2096 Y(hostmaster)s 2328 X(via)s 2432 X(e)s 2462 X(-mail)s 2604 X(.)s 2016 X 2223 Y 2617 X f.B 10 Z(The)s 2750 X(Tool)s 2016 X 2332 Y 2160 X f.R 10 Z(We)s 2276 X(wrote)s 2451 X(a)s 2504 X(small)s 2673 X(shell)s 2823 X(script)s 2995 X(which)s 3181 X(we)s 3283 X(run)s 3395 X(out)s 2016 X 2405 Y(of)s 2114 X f.I 10 Z(cron)s 2279 X f.R 10 Z(once)s 2448 X(per)s 2576 X(week)s 2717 X(.)s 2799 X(The)s 2946 X(script)s 3138 X(is)s 3226 X(relatively)s 2016 X 2478 Y(short,)s 2205 X(and)s 2340 X(we)s 2457 X(thought)s 2699 X(the)s 2820 X(best)s 2967 X(way)s 3117 X(to)s 3209 X(present)s 3442 X(it)s 2016 X 2551 Y(would)s 2212 X(be)s 2304 X(to)s 2385 X(simple)s 2593 X(include)s 2819 X(an)s 2911 X(annotated)s 3200 X(version)s 3425 X(of)s 2016 X 2624 Y(it)s 2081 X(here)s 2196 X(.)s 2262 X(It)s 2330 X(is)s 2402 X(also)s 2537 X(available)s 2807 X(via)s 2916 X(anonymous)s 3249 X(ftp)s 3351 X(from)s 2016 X 2697 Y(terminator)s 2295 X(.cc)s 2372 X(.umich)s 2556 X(.edu)s 2669 X(.)s 2782 X(It)s 2897 X(can)s 3064 X(be)s 3201 X(found)s 3428 X(in)s 2016 X 2770 Y(/dns/lamers)s 2325 X(.sh)s 2401 X(.)s 360 X 2970 Y 1766 X f.B 10 Z(The)s 1899 X(Script)s 360 X 3136 Y 504 X f.R 10 Z(The)s 632 X(\256rst)s 760 X(part)s 888 X(of)s 967 X(the)s 1073 X(script)s 1246 X(sets)s 1371 X(up)s 1461 X(our)s 1573 X(path,)s 1729 X(identi\256es)s 1999 X(the)s 2106 X(location)s 2347 X(of)s 2427 X(the)s 2534 X(log)s 2644 X(\256le,)s 2772 X(identi\256es)s 3043 X(the)s 3150 X(\256le)s 3261 X(contain-)s 360 X 3209 Y(ing)s 470 X(the)s 577 X(lame)s 732 X(delegation)s 1035 X(message)s 1286 X(we)s 1388 X(send)s 1534 X(to)s 1610 X(people,)s 1829 X(and)s 1949 X(identi\256es)s 2219 X(some)s 2384 X(temp)s 2542 X(\256les)s 2654 X(.)s 2717 X(Notice)s 2920 X(that)s 3045 X(some)s 3210 X(temp)s 3368 X(\256les)s 360 X 3282 Y(are)s 468 X(located)s 688 X(on)s 780 X(/usr/tmp)s 1029 X(rather)s 1211 X(than)s 1352 X(/tmp)s 1475 X(.)s 1540 X(Some)s 1718 X(of)s 1799 X(these)s 1964 X(\256les)s 2103 X(can)s 2223 X(get)s 2332 X(big)s 2444 X(as)s 2527 X(the)s 2636 X(script)s 2812 X(runs,)s 2970 X(and)s 3093 X(we)s 3198 X(found)s 3379 X(that)s 360 X 3355 Y(we)s 460 X(would)s 648 X(\256ll)s 745 X(up)s 833 X(/tmp)s 978 X(\(which)s 1185 X(is)s 1252 X(on)s 1340 X(the)s 1444 X(/)s 1485 X(partition)s 1734 X(on)s 1822 X(our)s 1932 X(machines\))s 2207 X(.)s 360 X 3457 Y 408 X f.CW 10 Z(#!/bin/sh)s 360 X 3530 Y 408 X(PATH=:/bin:/usr)s 1008 X(/bin:/usr/ucb:/)s 1608 X(usr/local/bin)s 360 X 3603 Y 408 X(LOGFILE=/usr/sp)s 1008 X(ool/log/named)s 360 X 3676 Y 408 X(MAILMSG=/usr/tm)s 1008 X(p/mailmsg$$)s 360 X 3749 Y 408 X(LAMERS=/usr/tmp)s 1008 X(/lamers$$)s 360 X 3822 Y 408 X(MSGFILE=/usr/lo)s 1008 X(cal/bin/lamer)s 1528 X(-message)s 360 X 3895 Y 408 X(LAMEREPORT=/tmp)s 1008 X(/)s 1048 X(.lamereport$$)s 360 X 3968 Y 408 X(WEEKFILE=/usr/t)s 1008 X(mp/week$$)s 360 X 4091 Y 504 X f.R 10 Z(The)s 638 X(next)s 783 X(part)s 917 X(contains)s 1170 X(some)s 1342 X(standard)s 1599 X(information)s 1945 X(we)s 2054 X(put)s 2170 X(in)s 2253 X(anything)s 2517 X(we)s 2626 X(make)s 2802 X(available)s 3076 X(to)s 3159 X(the)s 3272 X(Internet)s 360 X 4164 Y(community:)s 727 X(A)s 797 X(standard)s 1045 X(copyright)s 1322 X(notice,)s 1525 X(the)s 1629 X(author's)s 1869 X(name,)s 2053 X(the)s 2157 X(last)s 2273 X(change)s 2484 X(date,)s 2635 X(and)s 2753 X(some)s 2916 X(notes)s 3079 X(about)s 3249 X(the)s 3353 X(tool)s 3457 X(.)s 360 X 4258 Y 504 X(The)s 632 X(note)s 771 X(below)s 958 X(also)s 1090 X(lies)s 1208 X(a)s 1262 X(little)s 1411 X(bit)s 1482 X(.)s 1545 X(You)s 1683 X(can)s 1800 X(make)s 1969 X(use)s 2082 X(of)s 2161 X(this)s 2283 X(script)s 2457 X(even)s 2608 X(if)s 2674 X(you)s 2798 X(do)s 2889 X(not)s 2999 X(have)s 3150 X(either)s 3328 X f.I 10 Z(query)s 360 X 4331 Y f.R 10 Z(or)s 446 X f.I 10 Z(host)s 557 X f.R 10 Z(.)s 627 X f.I 10 Z(query)s 810 X f.R 10 Z(is)s 886 X(a)s 947 X(simple)s 1157 X(program)s 1413 X(which)s 1606 X(queries)s 1829 X(nameservers)s 2193 X(using)s 2367 X(the)s 2479 X(resolver)s 2724 X(routines)s 2969 X(available)s 3242 X(in)s 3324 X(the)s 3436 X(C)s 360 X 4404 Y(library)s 538 X(.)s 604 X(Unlike)s 813 X(some)s 981 X(other)s 1145 X(packages,)s 1434 X(it)s 1499 X(does)s 1648 X(not)s 1760 X(include)s 1984 X(external)s 2227 X(resolver)s 2469 X(routines)s 2712 X(to)s 2792 X(link)s 2924 X(in;)s 3023 X(it)s 3089 X(uses)s 3232 X(the)s 3342 X(same)s 360 X 4477 Y(code)s 509 X(that)s 633 X(the)s 738 X(other)s 898 X(software)s 1151 X(on)s 1240 X(the)s 1345 X(machine)s 1595 X(uses)s 1710 X(.)s 1772 X f.I 10 Z(host)s 1905 X f.R 10 Z(is)s 1972 X(a)s 2024 X(short)s 2179 X(shell)s 2328 X(script)s 2499 X(around)s 2705 X f.I 10 Z(query)s 2879 X f.R 10 Z(which,)s 3081 X(when)s 3247 X(given)s 3417 X(an)s 360 X 4550 Y(IP)s 442 X(address)s 665 X(as)s 744 X(an)s 830 X(argument,)s 1122 X(returns)s 1330 X(the)s 1435 X(associated)s 1734 X(host)s 1868 X(name)s 2013 X(.)s 2076 X(Tools)s 2252 X(such)s 2398 X(as)s 2478 X f.I 10 Z(dig)s 2587 X f.R 10 Z(and)s 2707 X f.I 10 Z(nslookup)s 2971 X f.R 10 Z(would)s 3161 X(also)s 3293 X(do)s 3383 X(just)s 360 X 4623 Y(\256ne,)s 499 X(although)s 754 X(the)s 858 X(shell)s 1007 X(script)s 1178 X(would)s 1366 X(have)s 1514 X(to)s 1588 X(be)s 1673 X(modi\256ed)s 1932 X(appropriately)s 2310 X(to)s 2384 X(handle)s 2584 X(their)s 2729 X(output)s 2921 X(instead)s 3111 X(.)s 360 X 4725 Y 408 X f.CW 10 Z(#)s 488 X(-)s 528 X(-)s 568 X(-)s 608 X(-)s 648 X(-)s 688 X(-)s 728 X(-)s 768 X(-)s 808 X(-)s 848 X(-)s 888 X(-)s 928 X(-)s 968 X(-)s 1008 X(-)s 1048 X(-)s 1088 X(-)s 1128 X(-)s 1168 X(-)s 1208 X(-)s 1248 X(-)s 1288 X(-)s 1328 X(-)s 1368 X(-)s 1408 X(-)s 1448 X(-)s 1488 X(-)s 1528 X(-)s 1568 X(-)s 1608 X(-)s 1648 X(-)s 1688 X(-)s 1728 X(-)s 1768 X(-)s 1808 X(-)s 1848 X(-)s 1888 X(-)s 1928 X(-)s 1968 X(-)s 2008 X(-)s 2048 X(-)s 2088 X(-)s 2128 X(-)s 2168 X(-)s 2208 X(-)s 2248 X(-)s 2288 X(-)s 2328 X(-)s 2368 X(-)s 2408 X(-)s 2448 X(-)s 2488 X(-)s 2528 X(-)s 2568 X(-)s 2608 X(-)s 2648 X(-)s 2688 X(-)s 2728 X(-)s 2768 X(-)s 2808 X(-)s 2848 X(-)s 2888 X(-)s 360 X 4967 Y f.B 10 Z(128)s 1862 X(1992)s 2016 X(LISA)s 2193 X(VI)s 2289 X(\261)s 2344 X(October)s 2600 X(19)s 2666 X(-23,)s 2793 X(1992)s 2947 X(\261)s 3002 X(Long)s 3171 X(Beach,)s 3384 X(CA)s 5280 Y pagebot %%Page: 129 3 pagetop stdencoding /NTimes-Bold /Times-Bold RE /f.B /NTimes-Bold findfont def f.B 10 Z 600 X 215 Y 2816 X(Dealing)s 3057 X(with)s 3205 X(Lame)s 3390 X(Delegations)s 600 X 448 Y 648 X stdencoding /NCourier /Courier RE /f.CW /NCourier findfont def f.CW 10 Z(#)s 768 X(Copyright)s 1168 X(\(c\))s 1328 X(1991)s 1528 X(Regents)s 1848 X(of)s 1968 X(the)s 2128 X(University)s 2568 X(of)s 2688 X(Michigan)s 3008 X(.)s 600 X 521 Y 648 X(#)s 768 X(All)s 928 X(rights)s 1208 X(reserved)s 1528 X(.)s 600 X 594 Y 648 X(#)s 600 X 667 Y 648 X(#)s 768 X(Redistribution)s 1368 X(and)s 1528 X(use)s 1688 X(is)s 1808 X(permitted)s 2208 X(provided)s 2568 X(that)s 2768 X(this)s 2968 X(notice)s 600 X 740 Y 648 X(#)s 768 X(is)s 888 X(preserved)s 1288 X(and)s 1448 X(that)s 1648 X(due)s 1808 X(credit)s 2088 X(is)s 2208 X(given)s 2448 X(to)s 2568 X(the)s 2728 X(University)s 3168 X(of)s 600 X 813 Y 648 X(#)s 768 X(Michigan)s 1088 X(.)s 1168 X(The)s 1328 X(name)s 1528 X(of)s 1648 X(the)s 1808 X(University)s 2248 X(may)s 2408 X(not)s 2568 X(be)s 2688 X(used)s 2888 X(to)s 3008 X(endorse)s 600 X 886 Y 648 X(#)s 768 X(or)s 888 X(promote)s 1208 X(products)s 1568 X(derived)s 1888 X(from)s 2088 X(this)s 2288 X(software)s 2648 X(without)s 2968 X(specific)s 600 X 959 Y 648 X(#)s 768 X(prior)s 1008 X(written)s 1328 X(permission)s 1728 X(.)s 1808 X(This)s 2008 X(software)s 2368 X(is)s 2488 X(provided)s 2848 X("as)s 3008 X(is")s 600 X 1032 Y 648 X(#)s 768 X(without)s 1088 X(express)s 1408 X(or)s 1528 X(implied)s 1848 X(warranty)s 2168 X(.)s 600 X 1105 Y 648 X(#)s 600 X 1178 Y 648 X(#)s 768 X(Lame)s 968 X(delegation)s 1408 X(notifier)s 600 X 1251 Y 648 X(#)s 768 X(Author:)s 1128 X(Bryan)s 1368 X(Beecher)s 600 X 1324 Y 648 X(#)s 768 X(Last)s 968 X(Modified:)s 1448 X(6/25/92)s 600 X 1397 Y 648 X(#)s 600 X 1470 Y 648 X(#)s 768 X(To)s 888 X(make)s 1088 X(use)s 1248 X(of)s 1368 X(this)s 1568 X(software,)s 1968 X(you)s 2128 X(need)s 2328 X(to)s 2448 X(be)s 2568 X(running)s 2888 X(the)s 600 X 1543 Y 648 X(#)s 768 X(University)s 1208 X(of)s 1328 X(Michigan)s 1688 X(release)s 2008 X(of)s 2128 X(BIND)s 2328 X(4)s 2368 X(.8)s 2448 X(.3,)s 2608 X(or)s 2728 X(any)s 2888 X(version)s 600 X 1616 Y 648 X(#)s 768 X(of)s 888 X(named)s 1128 X(that)s 1328 X(supports)s 1688 X(the)s 1848 X(LAME_DELEGATION)s 2488 X(patches)s 2808 X(posted)s 3088 X(to)s 600 X 1689 Y 648 X(#)s 768 X(USENET)s 1008 X(.)s 1128 X(The)s 1288 X(U)s 1328 X(-M)s 1448 X(release)s 1768 X(is)s 1888 X(available)s 2288 X(via)s 2448 X(anonymous)s 2848 X(ftp)s 3008 X(from)s 600 X 1762 Y 648 X(#)s 768 X(terminator)s 1168 X(.cc)s 1288 X(.umich)s 1528 X(.edu:/unix/dns/)s 2128 X(bind4)s 2328 X(.8)s 2408 X(.3)s 2488 X(.tar)s 2648 X(.Z)s 2728 X(.)s 600 X 1835 Y 648 X(#)s 600 X 1908 Y 648 X(#)s 768 X(You)s 928 X(must)s 1128 X(also)s 1328 X(have)s 1528 X(a)s 1608 X(copy)s 1808 X(of)s 1928 X(query\(1\))s 2288 X(and)s 2448 X(host\(1\))s 2728 X(.)s 2848 X(These)s 600 X 1981 Y 648 X(#)s 768 X(are)s 928 X(also)s 1128 X(available)s 1528 X(via)s 1688 X(anonymous)s 2088 X(ftp)s 2248 X(in)s 2368 X(the)s 2528 X(aforementioned)s 600 X 2054 Y 648 X(#)s 768 X(place)s 968 X(.)s 600 X 2127 Y 648 X(#)s 728 X(-)s 768 X(-)s 808 X(-)s 848 X(-)s 888 X(-)s 928 X(-)s 968 X(-)s 1008 X(-)s 1048 X(-)s 1088 X(-)s 1128 X(-)s 1168 X(-)s 1208 X(-)s 1248 X(-)s 1288 X(-)s 1328 X(-)s 1368 X(-)s 1408 X(-)s 1448 X(-)s 1488 X(-)s 1528 X(-)s 1568 X(-)s 1608 X(-)s 1648 X(-)s 1688 X(-)s 1728 X(-)s 1768 X(-)s 1808 X(-)s 1848 X(-)s 1888 X(-)s 1928 X(-)s 1968 X(-)s 2008 X(-)s 2048 X(-)s 2088 X(-)s 2128 X(-)s 2168 X(-)s 2208 X(-)s 2248 X(-)s 2288 X(-)s 2328 X(-)s 2368 X(-)s 2408 X(-)s 2448 X(-)s 2488 X(-)s 2528 X(-)s 2568 X(-)s 2608 X(-)s 2648 X(-)s 2688 X(-)s 2728 X(-)s 2768 X(-)s 2808 X(-)s 2848 X(-)s 2888 X(-)s 2928 X(-)s 2968 X(-)s 3008 X(-)s 3048 X(-)s 3088 X(-)s 3128 X(-)s 600 X 2200 Y 648 X(#)s 768 X(handle)s 1048 X(arguments)s 600 X 2273 Y 648 X(#)s 728 X(-)s 768 X(-)s 808 X(-)s 848 X(-)s 888 X(-)s 928 X(-)s 968 X(-)s 1008 X(-)s 1048 X(-)s 1088 X(-)s 1128 X(-)s 1168 X(-)s 1208 X(-)s 1248 X(-)s 1288 X(-)s 1328 X(-)s 1368 X(-)s 1408 X(-)s 1448 X(-)s 1488 X(-)s 1528 X(-)s 1568 X(-)s 1608 X(-)s 1648 X(-)s 1688 X(-)s 1728 X(-)s 1768 X(-)s 1808 X(-)s 1848 X(-)s 1888 X(-)s 1928 X(-)s 1968 X(-)s 2008 X(-)s 2048 X(-)s 2088 X(-)s 2128 X(-)s 2168 X(-)s 2208 X(-)s 2248 X(-)s 2288 X(-)s 2328 X(-)s 2368 X(-)s 2408 X(-)s 2448 X(-)s 2488 X(-)s 2528 X(-)s 2568 X(-)s 2608 X(-)s 2648 X(-)s 2688 X(-)s 2728 X(-)s 2768 X(-)s 2808 X(-)s 2848 X(-)s 2888 X(-)s 2928 X(-)s 2968 X(-)s 3008 X(-)s 3048 X(-)s 3088 X(-)s 3128 X(-)s 600 X 2346 Y 648 X(#)s 968 X 968 X(-d)s 1088 X(<day>)s 600 X 2419 Y 648 X(#)s 968 X(This)s 1168 X(flag)s 1368 X(is)s 1488 X(used)s 1688 X(to)s 1808 X(append)s 2088 X(a)s 2168 X(dot)s 2288 X(-day)s 2488 X(suffix)s 2768 X(to)s 2888 X(the)s 3048 X(LOGFILE)s 3328 X(.)s 600 X 2492 Y 648 X(#)s 968 X(Handy)s 1208 X(where)s 1448 X(log)s 1608 X(files)s 1848 X(are)s 2008 X(kept)s 2208 X(around)s 2488 X(for)s 2648 X(the)s 2808 X(last)s 3008 X(week)s 600 X 2565 Y 648 X(#)s 968 X(and)s 1128 X(contain)s 1448 X(a)s 1528 X(day)s 1688 X(suffix)s 1928 X(.)s 600 X 2674 Y 648 X(#)s 968 X 968 X(-f)s 1088 X(<logfile>)s 600 X 2747 Y 648 X(#)s 968 X(Change)s 1248 X(the)s 1408 X(LOGFILE)s 1728 X(value)s 1968 X(altogether)s 2368 X(.)s 600 X 2856 Y 648 X(#)s 968 X 968 X(-w)s 600 X 2929 Y 648 X(#)s 968 X(Count)s 1208 X(up)s 1328 X(all)s 1488 X(of)s 1608 X(the)s 1768 X(DNS)s 1928 X(statistics)s 2368 X(for)s 2528 X(the)s 2688 X(whole)s 2928 X(week)s 3088 X(.)s 600 X 3038 Y 648 X(#)s 968 X 968 X(-v)s 600 X 3111 Y 648 X(#)s 968 X(Be)s 1088 X(verbose)s 1368 X(.)s 600 X 3220 Y 648 X(#)s 968 X 968 X(-t)s 600 X 3293 Y 648 X(#)s 968 X(Test)s 1168 X(mode)s 1328 X(.)s 1448 X(Do)s 1568 X(not)s 1728 X(send)s 1928 X(mail)s 2128 X(to)s 2248 X(the)s 2408 X(lame)s 2608 X(delegation)s 600 X 3366 Y 648 X(#)s 968 X(hostmasters)s 1408 X(.)s 600 X 3439 Y 648 X(#)s 728 X(-)s 768 X(-)s 808 X(-)s 848 X(-)s 888 X(-)s 928 X(-)s 968 X(-)s 1008 X(-)s 1048 X(-)s 1088 X(-)s 1128 X(-)s 1168 X(-)s 1208 X(-)s 1248 X(-)s 1288 X(-)s 1328 X(-)s 1368 X(-)s 1408 X(-)s 1448 X(-)s 1488 X(-)s 1528 X(-)s 1568 X(-)s 1608 X(-)s 1648 X(-)s 1688 X(-)s 1728 X(-)s 1768 X(-)s 1808 X(-)s 1848 X(-)s 1888 X(-)s 1928 X(-)s 1968 X(-)s 2008 X(-)s 2048 X(-)s 2088 X(-)s 2128 X(-)s 2168 X(-)s 2208 X(-)s 2248 X(-)s 2288 X(-)s 2328 X(-)s 2368 X(-)s 2408 X(-)s 2448 X(-)s 2488 X(-)s 2528 X(-)s 2568 X(-)s 2608 X(-)s 2648 X(-)s 2688 X(-)s 2728 X(-)s 2768 X(-)s 2808 X(-)s 2848 X(-)s 2888 X(-)s 2928 X(-)s 2968 X(-)s 3008 X(-)s 3048 X(-)s 3088 X(-)s 3128 X(-)s 600 X 3562 Y 744 X stdencoding /NTimes-Roman /Times-Roman RE /f.R /NTimes-Roman findfont def f.R 10 Z(For)s 864 X(a)s 922 X(given)s 1098 X(service)s 1316 X(that)s 1445 X(we)s 1551 X(provide)s 1782 X(on)s 1876 X(one)s 2000 X(of)s 2083 X(our)s 2199 X(machines,)s 2497 X(we)s 2603 X(maintain)s 2866 X(one)s 2991 X(week's)s 3209 X(worth)s 3393 X(of)s 3477 X(log)s 3591 X(\256les,)s 600 X 3635 Y(broken)s 811 X(into)s 942 X(eight)s 1103 X(log)s 1215 X(\256les:)s 1395 X(one)s 1518 X(for)s 1622 X(each)s 1772 X(previous)s 2028 X(day)s 2151 X(of)s 2233 X(the)s 2342 X(week)s 2510 X(plus)s 2648 X(one)s 2771 X(for)s 2874 X(the)s 2982 X(current)s 3197 X(day)s 3293 X(.)s 3358 X(For)s 3476 X(example,)s 600 X 3708 Y(the)s 716 X(current)s 939 X(log)s 1058 X(\256le)s 1178 X(for)s 1289 X stdencoding /NTimes-Italic /Times-Italic RE /f.I /NTimes-Italic findfont def f.I 10 Z(named)s 1500 X f.R 10 Z(would)s 1700 X(be)s 1797 X(located)s 2025 X(in)s 2112 X(/var/log/named)s 2517 X(.)s 2591 X(And)s 2740 X(if)s 2816 X(it)s 2889 X(happens)s 3142 X(to)s 3229 X(be)s 3327 X(Tuesday,)s 3605 X(then)s 600 X 3781 Y(yesterday's)s 953 X(log)s 1087 X(\256le)s 1222 X(would)s 1437 X(be)s 1548 X(located)s 1790 X(in)s 1890 X(/var/log/named)s 2295 X(.Mon,)s 2502 X(the)s 2632 X(previous)s 2909 X(day's)s 3101 X(would)s 3315 X(be)s 3426 X(located)s 3668 X(in)s 600 X 3854 Y(/var/log/named)s 1005 X(.Sun,)s 1164 X(and)s 1282 X(last)s 1398 X(week's)s 1609 X(log)s 1716 X(\256le)s 1824 X(would)s 2012 X(be)s 2097 X(in)s 2171 X(/var/log/named)s 2576 X(.Tue)s 2708 X(.)s 600 X 3948 Y 744 X(The)s 872 X(-f)s 940 X(and)s 1060 X(-t)s 1125 X(\257ags)s 1275 X(exist)s 1426 X(mainly)s 1636 X(for)s 1737 X(debugging)s 2017 X(.)s 2080 X(Before)s 2285 X(we)s 2387 X(unleashed)s 2678 X(this)s 2799 X(upon)s 2956 X(the)s 3063 X(Internet)s 3296 X(community,)s 3642 X(we)s 600 X 4021 Y(wanted)s 821 X(to)s 901 X(make)s 1074 X(sure)s 1213 X(that)s 1342 X(we)s 1447 X(wouldn't)s 1714 X(be)s 1804 X(generating)s 2113 X(tons)s 2251 X(of)s 2333 X(unwanted)s 2619 X(mail)s 2739 X(.)s 2805 X(The)s 2936 X(-f)s 3007 X(\257ag)s 3134 X(is)s 3206 X(handy)s 3395 X(when)s 3566 X(you'd)s 600 X 4094 Y(like)s 723 X(to)s 797 X(hand)s 926 X(-generate)s 1197 X(your)s 1340 X(own)s 1476 X(lame)s 1630 X(delegation)s 1932 X(data)s 2067 X(and)s 2186 X(then)s 2324 X(use)s 2436 X(it)s 2497 X(with)s 2639 X(this)s 2759 X(script)s 2908 X(.)s 2970 X(The)s 3097 X(-t)s 3161 X(\257ag)s 3284 X(performs)s 3547 X(all)s 3638 X(the)s 600 X 4167 Y(usual)s 769 X(work,)s 950 X(except)s 1153 X(it)s 1219 X(does)s 1369 X(NOT)s 1533 X(notify)s 1719 X(the)s 1828 X(hostmaster)s 2145 X(via)s 2254 X(e)s 2284 X(-mail)s 2426 X(.)s 2492 X(It)s 2560 X(does,)s 2726 X(however,)s 2999 X(still)s 3128 X(build)s 3292 X(a)s 3349 X(list)s 3459 X(of)s 3541 X(who)s 3682 X(it)s 600 X 4240 Y(would)s 788 X(have)s 936 X(mailed)s 1141 X(had)s 1259 X(the)s 1363 X(-t)s 1426 X(\257ag)s 1548 X(not)s 1655 X(been)s 1803 X(speci\256ed)s 2041 X(.)s 600 X 4342 Y 648 X f.CW 10 Z(VERBOSE=0)s 600 X 4415 Y 648 X(TESTMODE=0)s 600 X 4488 Y 648 X(while)s 888 X([)s 968 X($#)s 1088 X(!=)s 1208 X(0)s 1288 X(])s 1368 X(;)s 1448 X(do)s 600 X 4561 Y 728 X(case)s 928 X("$1")s 1128 X(in)s 600 X 4634 Y 808 X 808 X(-d\))s 600 X 4707 Y 808 X(LOGFILE=$LOGFI)s 1368 X(LE")s 1488 X(."$2)s 600 X 4967 Y f.B 10 Z(1992)s 754 X(LISA)s 931 X(VI)s 1027 X(\261)s 1082 X(October)s 1338 X(19)s 1404 X(-23,)s 1531 X(1992)s 1685 X(\261)s 1740 X(Long)s 1909 X(Beach,)s 2122 X(CA)s 3621 X(129)s 5280 Y pagebot %%Page: 130 4 pagetop stdencoding /NTimes-Bold /Times-Bold RE /f.B /NTimes-Bold findfont def f.B 10 Z 360 X 215 Y(Dealing)s 601 X(with)s 749 X(Lame)s 934 X(Delegations)s 360 X 448 Y 568 X stdencoding /NCourier /Courier RE /f.CW /NCourier findfont def f.CW 10 Z(shift)s 360 X 521 Y 568 X(;;)s 360 X 630 Y 568 X 568 X(-f\))s 360 X 703 Y 568 X(LOGFILE=$2)s 360 X 776 Y 568 X(shift)s 360 X 849 Y 568 X(;;)s 360 X 958 Y 568 X 568 X(-w\))s 360 X 1031 Y 568 X(cat)s 728 X($LOGFILE*)s 1128 X(>)s 1208 X($WEEKFILE)s 360 X 1104 Y 568 X(LOGFILE=$WEEKF)s 1128 X(ILE)s 360 X 1177 Y 568 X(;;)s 360 X 1286 Y 568 X 568 X(-v\))s 360 X 1359 Y 568 X(VERBOSE=1)s 360 X 1432 Y 568 X(;;)s 360 X 1541 Y 568 X 568 X(-t\))s 360 X 1614 Y 568 X(TESTMODE=1)s 360 X 1687 Y 568 X(;;)s 360 X 1760 Y 488 X(esac)s 360 X 1833 Y 488 X(shift)s 360 X 1906 Y 408 X(done)s 360 X 2029 Y 504 X stdencoding /NTimes-Roman /Times-Roman RE /f.R /NTimes-Roman findfont def f.R 10 Z(We)s 619 X(added)s 800 X(the)s 904 X(following)s 1185 X(line)s 1308 X(so)s 1389 X(that)s 1512 X(the)s 1616 X(script)s 1787 X(would)s 1975 X(clean)s 2139 X(up)s 2227 X(after)s 2372 X(itself)s 2529 X(if)s 2592 X(it)s 2652 X(was)s 2778 X(killed)s 2953 X(during)s 3148 X(a)s 3200 X(run)s 3288 X(.)s 360 X 2131 Y 408 X f.CW 10 Z(#)s 448 X(-)s 488 X(-)s 528 X(-)s 568 X(-)s 608 X(-)s 648 X(-)s 688 X(-)s 728 X(-)s 768 X(-)s 808 X(-)s 848 X(-)s 888 X(-)s 928 X(-)s 968 X(-)s 1008 X(-)s 1048 X(-)s 1088 X(-)s 1128 X(-)s 1168 X(-)s 1208 X(-)s 1248 X(-)s 1288 X(-)s 1328 X(-)s 1368 X(-)s 1408 X(-)s 1448 X(-)s 1488 X(-)s 1528 X(-)s 1568 X(-)s 1608 X(-)s 1648 X(-)s 1688 X(-)s 1728 X(-)s 1768 X(-)s 1808 X(-)s 1848 X(-)s 1888 X(-)s 1928 X(-)s 1968 X(-)s 2008 X(-)s 2048 X(-)s 2088 X(-)s 2128 X(-)s 2168 X(-)s 2208 X(-)s 2248 X(-)s 2288 X(-)s 2328 X(-)s 2368 X(-)s 2408 X(-)s 2448 X(-)s 2488 X(-)s 2528 X(-)s 2568 X(-)s 2608 X(-)s 2648 X(-)s 2688 X(-)s 2728 X(-)s 2768 X(-)s 2808 X(-)s 2848 X(-)s 2888 X(-)s 2928 X(-)s 2968 X(-)s 3008 X(-)s 3048 X(-)s 3088 X(-)s 3128 X(-)s 3168 X(-)s 3208 X(-)s 3248 X(-)s 3288 X(-)s 3328 X(-)s 3368 X(-)s 360 X 2204 Y 408 X(#)s 528 X(Clean)s 768 X(up)s 888 X(and)s 1048 X(exit)s 1248 X(on)s 1368 X(a)s 1448 X(HUP,)s 1648 X(INT)s 1808 X(or)s 1928 X(QUIT)s 360 X 2277 Y 408 X(#)s 448 X(-)s 488 X(-)s 528 X(-)s 568 X(-)s 608 X(-)s 648 X(-)s 688 X(-)s 728 X(-)s 768 X(-)s 808 X(-)s 848 X(-)s 888 X(-)s 928 X(-)s 968 X(-)s 1008 X(-)s 1048 X(-)s 1088 X(-)s 1128 X(-)s 1168 X(-)s 1208 X(-)s 1248 X(-)s 1288 X(-)s 1328 X(-)s 1368 X(-)s 1408 X(-)s 1448 X(-)s 1488 X(-)s 1528 X(-)s 1568 X(-)s 1608 X(-)s 1648 X(-)s 1688 X(-)s 1728 X(-)s 1768 X(-)s 1808 X(-)s 1848 X(-)s 1888 X(-)s 1928 X(-)s 1968 X(-)s 2008 X(-)s 2048 X(-)s 2088 X(-)s 2128 X(-)s 2168 X(-)s 2208 X(-)s 2248 X(-)s 2288 X(-)s 2328 X(-)s 2368 X(-)s 2408 X(-)s 2448 X(-)s 2488 X(-)s 2528 X(-)s 2568 X(-)s 2608 X(-)s 2648 X(-)s 2688 X(-)s 2728 X(-)s 2768 X(-)s 2808 X(-)s 2848 X(-)s 2888 X(-)s 2928 X(-)s 2968 X(-)s 3008 X(-)s 3048 X(-)s 3088 X(-)s 3128 X(-)s 3168 X(-)s 3208 X(-)s 3248 X(-)s 3288 X(-)s 3328 X(-)s 3368 X(-)s 360 X 2350 Y 408 X(trap)s 608 X("rm)s 768 X(-f)s 888 X($LAMERS)s 1208 X($MAILMSG)s 1568 X($LAMEREPORT)s 2048 X($WEEKFILE)s 2448 X(;)s 2528 X(exit")s 2768 X(1)s 2848 X(2)s 2928 X(3)s 360 X 2473 Y 504 X f.R 10 Z(The)s 630 X(\256rst)s 756 X(thing)s 915 X(we)s 1015 X(do)s 1103 X(is)s 1170 X(search)s 1363 X(the)s 1467 X(log)s 1574 X(to)s 1648 X(see)s 1756 X(if)s 1820 X(any)s 1939 X(lame)s 2093 X(delegations)s 2421 X(were)s 2574 X(detected)s 2798 X(.)s 2860 X(We)s 2976 X(toss)s 3103 X(out)s 3211 X(lines)s 3361 X(with)s 360 X 2546 Y(an)s 453 X(asterisk)s 688 X(on)s 784 X(them)s 948 X(since)s 1116 X(those)s 1287 X(tended)s 1495 X(to)s 1577 X(be)s 1670 X(lame)s 1831 X(delegations)s 2166 X(of)s 2251 X(the)s 2363 X(form)s 2521 X("server)s 2740 X(xxx)s 2839 X(.xxx)s 2955 X(.xxx)s 3071 X(.xxx)s 3216 X(is)s 3290 X(a)s 3349 X(lame)s 360 X 2619 Y(delegation)s 663 X(for)s 764 X(domain)s 988 X(*")s 1048 X(.)s 1111 X(We)s 1228 X(really)s 1405 X(aren't)s 1585 X(able)s 1721 X(to)s 1797 X(do)s 1887 X(anything)s 2144 X(with)s 2287 X(a)s 2341 X(message)s 2592 X(like)s 2717 X(that,)s 2860 X(and)s 2981 X(it)s 3044 X(isn't)s 3188 X(clear)s 3344 X(to)s 3421 X(us)s 360 X 2692 Y(exactly)s 578 X(how)s 716 X(those)s 881 X(are)s 987 X(getting)s 1197 X(generated)s 1481 X(either)s 1634 X(.)s 1697 X(We)s 1814 X(also)s 1946 X(down)s 2093 X(-case)s 2255 X(everything)s 2563 X(at)s 2635 X(this)s 2755 X(point)s 2915 X(so)s 2997 X(its)s 3084 X(easier)s 3264 X(to)s 3339 X(parse)s 360 X 2765 Y(and)s 478 X(handle)s 678 X(later)s 798 X(.)s 360 X 2859 Y 504 X(After)s 668 X(the)s 773 X(initial)s 954 X(pruning)s 1183 X(we)s 1284 X(strip)s 1426 X(off)s 1526 X(the)s 1631 X(domain)s 1854 X(name)s 2022 X(and)s 2142 X(nameserver's)s 2522 X(IP)s 2605 X(address)s 2829 X(from)s 2982 X(the)s 3088 X(line)s 3213 X(in)s 3289 X(the)s 3395 X(log)s 360 X 2932 Y(\256le)s 446 X(.)s 512 X(We)s 632 X(sort)s 759 X(those,)s 944 X(toss)s 1075 X(out)s 1187 X(duplicates,)s 1503 X(and)s 1626 X(write)s 1791 X(the)s 1900 X(results)s 2102 X(to)s 2181 X(a)s 2238 X(temp)s 2399 X(\256le)s 2485 X(.)s 2550 X(If)s 2620 X(the)s 2728 X(temp)s 2888 X(\256le)s 3000 X(is)s 3071 X(non)s 3170 X(-empty,)s 3402 X(we)s 360 X 3005 Y(know)s 529 X(that)s 652 X(we)s 752 X(found)s 928 X(some)s 1091 X(lame)s 1244 X(delegations)s 1571 X(to)s 1645 X(handle)s 1823 X(.)s 360 X 3107 Y 408 X f.CW 10 Z(#)s 448 X(-)s 488 X(-)s 528 X(-)s 568 X(-)s 608 X(-)s 648 X(-)s 688 X(-)s 728 X(-)s 768 X(-)s 808 X(-)s 848 X(-)s 888 X(-)s 928 X(-)s 968 X(-)s 1008 X(-)s 1048 X(-)s 1088 X(-)s 1128 X(-)s 1168 X(-)s 1208 X(-)s 1248 X(-)s 1288 X(-)s 1328 X(-)s 1368 X(-)s 1408 X(-)s 1448 X(-)s 1488 X(-)s 1528 X(-)s 1568 X(-)s 1608 X(-)s 1648 X(-)s 1688 X(-)s 1728 X(-)s 1768 X(-)s 1808 X(-)s 1848 X(-)s 1888 X(-)s 1928 X(-)s 1968 X(-)s 2008 X(-)s 2048 X(-)s 2088 X(-)s 2128 X(-)s 2168 X(-)s 2208 X(-)s 2248 X(-)s 2288 X(-)s 2328 X(-)s 2368 X(-)s 2408 X(-)s 2448 X(-)s 2488 X(-)s 2528 X(-)s 2568 X(-)s 2608 X(-)s 2648 X(-)s 2688 X(-)s 2728 X(-)s 2768 X(-)s 2808 X(-)s 2848 X(-)s 2888 X(-)s 2928 X(-)s 2968 X(-)s 3008 X(-)s 3048 X(-)s 3088 X(-)s 3128 X(-)s 3168 X(-)s 3208 X(-)s 3248 X(-)s 3288 X(-)s 3328 X(-)s 3368 X(-)s 360 X 3180 Y 408 X(#)s 528 X(See)s 688 X(if)s 808 X(there)s 1048 X(are)s 1208 X(any)s 1368 X(lamers)s 360 X 3253 Y 408 X(#)s 448 X(-)s 488 X(-)s 528 X(-)s 568 X(-)s 608 X(-)s 648 X(-)s 688 X(-)s 728 X(-)s 768 X(-)s 808 X(-)s 848 X(-)s 888 X(-)s 928 X(-)s 968 X(-)s 1008 X(-)s 1048 X(-)s 1088 X(-)s 1128 X(-)s 1168 X(-)s 1208 X(-)s 1248 X(-)s 1288 X(-)s 1328 X(-)s 1368 X(-)s 1408 X(-)s 1448 X(-)s 1488 X(-)s 1528 X(-)s 1568 X(-)s 1608 X(-)s 1648 X(-)s 1688 X(-)s 1728 X(-)s 1768 X(-)s 1808 X(-)s 1848 X(-)s 1888 X(-)s 1928 X(-)s 1968 X(-)s 2008 X(-)s 2048 X(-)s 2088 X(-)s 2128 X(-)s 2168 X(-)s 2208 X(-)s 2248 X(-)s 2288 X(-)s 2328 X(-)s 2368 X(-)s 2408 X(-)s 2448 X(-)s 2488 X(-)s 2528 X(-)s 2568 X(-)s 2608 X(-)s 2648 X(-)s 2688 X(-)s 2728 X(-)s 2768 X(-)s 2808 X(-)s 2848 X(-)s 2888 X(-)s 2928 X(-)s 2968 X(-)s 3008 X(-)s 3048 X(-)s 3088 X(-)s 3128 X(-)s 3168 X(-)s 3208 X(-)s 3248 X(-)s 3288 X(-)s 3328 X(-)s 3368 X(-)s 360 X 3326 Y 408 X(grep)s 608 X("Lame")s 888 X($LOGFILE)s 1248 X(|)s 1328 X(tr)s 1448 X(A)s 1488 X(-Z)s 1608 X(a)s 1648 X(-z)s 1768 X(|)s 1848 X(grep)s 2048 X(-v)s 2168 X("*")s 2328 X(|)s 2408 X(awk)s 2568 X('{)s 360 X 3399 Y 728 X(print)s 968 X(substr\($16,)s 1448 X(2,)s 1568 X(length\($16\))s 2048 X(-)s 2128 X(3\),)s 2288 X($12)s 2448 X(}')s 2568 X(|)s 360 X 3472 Y 728 X(sort)s 928 X(|)s 1008 X(uniq)s 1208 X(|)s 1288 X(awk)s 1448 X('{)s 360 X 3545 Y 1048 X(printf\("%s)s 1488 X(%s\\n",)s 1768 X($1,)s 1928 X($2\))s 360 X 3618 Y 408 X(}')s 528 X(>)s 608 X($LAMERS)s 360 X 3764 Y 408 X(if)s 528 X([)s 608 X(!)s 688 X(-s)s 808 X($LAMERS)s 1128 X(])s 1208 X(;)s 1288 X(then)s 360 X 3837 Y 728 X(exit)s 928 X(0)s 360 X 3910 Y 408 X(fi)s 360 X 4056 Y 408 X(if)s 528 X([)s 608 X($VERBOSE)s 968 X(-eq)s 1128 X(1)s 1208 X(])s 1288 X(;)s 1368 X(then)s 360 X 4129 Y 728 X(echo)s 928 X("Found")s 1248 X(`awk)s 1448 X('END)s 1648 X({)s 1728 X(print)s 1968 X(NR)s 2088 X(}')s 2208 X($LAMERS`)s 2568 X("lame)s 2808 X(delegations")s 360 X 4202 Y 408 X(fi)s 360 X 4325 Y 504 X f.R 10 Z(The)s 634 X(following)s 919 X(message)s 1172 X(mentions)s 1443 X stdencoding /NTimes-Italic /Times-Italic RE /f.I /NTimes-Italic findfont def f.I 10 Z(potential)s 1707 X f.R 10 Z(lame)s 1864 X(delegation)s 2169 X(because)s 2407 X(we've)s 2596 X(often)s 2759 X(found)s 2940 X(that)s 3068 X(there)s 3229 X(are)s 3338 X(cases)s 360 X 4398 Y(when)s 553 X(the)s 662 X(lame)s 820 X(delegation)s 1126 X(patch)s 1298 X(\257ags)s 1451 X(a)s 1508 X(server)s 1698 X(as)s 1781 X(lame)s 1939 X(even)s 2092 X(though)s 2303 X(it)s 2368 X(does)s 2517 X(not)s 2629 X(appear)s 2834 X(to)s 2913 X(be)s 3003 X(lame)s 3160 X(by)s 3252 X(the)s 3360 X(time)s 360 X 4471 Y(this)s 479 X(script)s 650 X(runs)s 764 X(.)s 825 X(It)s 888 X(isn't)s 1029 X(clear)s 1182 X(to)s 1256 X(us)s 1338 X(if)s 1402 X(the)s 1507 X(culprit)s 1705 X(here)s 1843 X(is)s 1911 X(the)s 2016 X(lame)s 2170 X(delegation)s 2472 X(patches)s 2696 X(\(which)s 2904 X(are)s 3009 X(\257agging)s 3250 X(innocent)s 360 X 4544 Y(nameservers)s 720 X(as)s 802 X(lame\),)s 998 X f.I 10 Z(named)s 1201 X f.R 10 Z(itself)s 1362 X(\(which)s 1573 X(is)s 1644 X(giving)s 1840 X(bogus)s 2024 X(information)s 2365 X(to)s 2443 X(the)s 2550 X(lame)s 2706 X(delegation)s 3010 X(code\),)s 3200 X(or)s 3280 X(if)s 3346 X(there)s 360 X 4617 Y(are)s 464 X(simply)s 668 X(many)s 838 X(transient)s 1091 X(errors)s 1268 X(in)s 1342 X(the)s 1446 X(domain)s 1668 X(name)s 1835 X(system)s 2021 X(.)s 360 X 4967 Y f.B 10 Z(130)s 1862 X(1992)s 2016 X(LISA)s 2193 X(VI)s 2289 X(\261)s 2344 X(October)s 2600 X(19)s 2666 X(-23,)s 2793 X(1992)s 2947 X(\261)s 3002 X(Long)s 3171 X(Beach,)s 3384 X(CA)s 5280 Y pagebot %%Page: 131 5 pagetop stdencoding /NTimes-Bold /Times-Bold RE /f.B /NTimes-Bold findfont def f.B 10 Z 600 X 215 Y 2816 X(Dealing)s 3057 X(with)s 3205 X(Lame)s 3390 X(Delegations)s 600 X 448 Y 744 X stdencoding /NTimes-Roman /Times-Roman RE /f.R /NTimes-Roman findfont def f.R 10 Z(At)s 833 X(this)s 952 X(point)s 1111 X(each)s 1256 X(lame)s 1409 X(delegation)s 1710 X(is)s 1777 X(identi\256ed)s 2052 X(by)s 2140 X(a)s 2192 X(unique)s 2395 X(\(nameserver,)s 2764 X(domain\))s 3008 X(pair)s 3112 X(.)s 600 X 550 Y 648 X stdencoding /NCourier /Courier RE /f.CW /NCourier findfont def f.CW 10 Z(#)s 768 X(There)s 1008 X(were)s 1208 X(lamers;)s 1528 X(send)s 1728 X(them)s 1928 X(mail)s 600 X 659 Y 648 X(touch)s 888 X($LAMEREPORT)s 600 X 732 Y 648 X(NAME="")s 600 X 805 Y 648 X(while)s 888 X(read)s 1088 X(DOMAIN)s 1368 X(IPADDR)s 1648 X(;)s 1728 X(do)s 600 X 878 Y 968 X(#)s 1008 X(-)s 1048 X(-)s 1088 X(-)s 1128 X(-)s 1168 X(-)s 1208 X(-)s 1248 X(-)s 1288 X(-)s 1328 X(-)s 1368 X(-)s 1408 X(-)s 1448 X(-)s 1488 X(-)s 1528 X(-)s 1568 X(-)s 1608 X(-)s 1648 X(-)s 1688 X(-)s 1728 X(-)s 1768 X(-)s 1808 X(-)s 1848 X(-)s 1888 X(-)s 1928 X(-)s 1968 X(-)s 2008 X(-)s 2048 X(-)s 2088 X(-)s 2128 X(-)s 2168 X(-)s 2208 X(-)s 2248 X(-)s 2288 X(-)s 2328 X(-)s 2368 X(-)s 2408 X(-)s 2448 X(-)s 2488 X(-)s 2528 X(-)s 2568 X(-)s 2608 X(-)s 2648 X(-)s 2688 X(-)s 2728 X(-)s 2768 X(-)s 2808 X(-)s 2848 X(-)s 2888 X(-)s 2928 X(-)s 2968 X(-)s 3008 X(-)s 3048 X(-)s 3088 X(-)s 3128 X(-)s 3168 X(-)s 3208 X(-)s 3248 X(-)s 3288 X(-)s 3328 X(-)s 600 X 951 Y 968 X(#)s 1048 X(Echo)s 1248 X(args)s 1448 X(if)s 1568 X(verbose)s 600 X 1024 Y 968 X(#)s 1008 X(-)s 1048 X(-)s 1088 X(-)s 1128 X(-)s 1168 X(-)s 1208 X(-)s 1248 X(-)s 1288 X(-)s 1328 X(-)s 1368 X(-)s 1408 X(-)s 1448 X(-)s 1488 X(-)s 1528 X(-)s 1568 X(-)s 1608 X(-)s 1648 X(-)s 1688 X(-)s 1728 X(-)s 1768 X(-)s 1808 X(-)s 1848 X(-)s 1888 X(-)s 1928 X(-)s 1968 X(-)s 2008 X(-)s 2048 X(-)s 2088 X(-)s 2128 X(-)s 2168 X(-)s 2208 X(-)s 2248 X(-)s 2288 X(-)s 2328 X(-)s 2368 X(-)s 2408 X(-)s 2448 X(-)s 2488 X(-)s 2528 X(-)s 2568 X(-)s 2608 X(-)s 2648 X(-)s 2688 X(-)s 2728 X(-)s 2768 X(-)s 2808 X(-)s 2848 X(-)s 2888 X(-)s 2928 X(-)s 2968 X(-)s 3008 X(-)s 3048 X(-)s 3088 X(-)s 3128 X(-)s 3168 X(-)s 3208 X(-)s 3248 X(-)s 3288 X(-)s 3328 X(-)s 600 X 1097 Y 968 X(if)s 1088 X([)s 1168 X($VERBOSE)s 1528 X(-eq)s 1688 X(1)s 1768 X(])s 1848 X(;)s 1928 X(then)s 600 X 1170 Y 1288 X(echo)s 1488 X($IPADDR)s 1808 X("is)s 1968 X(a)s 2048 X(potential)s 2448 X(lame)s 2648 X(delegation)s 3088 X(for")s 3288 X($DOMAIN)s 600 X 1243 Y 968 X(fi)s 600 X 1366 Y 744 X f.R 10 Z(The)s 871 X(next)s 1009 X(thing)s 1169 X(we)s 1270 X(do)s 1359 X(is)s 1427 X(lookup)s 1634 X(the)s 1739 X(SOA)s 1895 X(record)s 2088 X(for)s 2188 X(the)s 2294 X(domain)s 2494 X(.)s 2557 X(We)s 2674 X(do)s 2764 X(this)s 2885 X(so)s 2968 X(that)s 3093 X(we)s 3195 X(can)s 3312 X(fetch)s 3470 X(an)s 3557 X(osten-)s 600 X 1439 Y(sibly)s 758 X(of\256cial)s 976 X(e)s 1006 X(-mail)s 1176 X(address)s 1404 X(to)s 1483 X(which)s 1673 X(to)s 1752 X(send)s 1901 X(the)s 2010 X(mail)s 2130 X(.)s 2196 X(In)s 2278 X(our)s 2393 X(experience)s 2710 X(the)s 2819 X(e)s 2849 X(-mail)s 3018 X(address)s 3245 X(listed)s 3418 X(in)s 3497 X(an)s 3587 X(SOA)s 600 X 1512 Y(record)s 793 X(often)s 953 X(is)s 1021 X(syntactically)s 1384 X(incorrect,)s 1662 X(or)s 1740 X(contains)s 1986 X(some)s 2150 X(unusable)s 2410 X(address)s 2610 X(.)s 2672 X(The)s 2799 X(script)s 2972 X(isn't)s 3115 X(too)s 3224 X(careful)s 3434 X(about)s 3606 X(this,)s 600 X 1585 Y(and)s 718 X(so)s 799 X(we)s 899 X(end)s 1017 X(up)s 1105 X(seeing)s 1298 X(a)s 1350 X(fair)s 1465 X(number)s 1690 X(of)s 1767 X(bounces)s 2007 X(which)s 2192 X(we)s 2292 X(then)s 2429 X(handle)s 2629 X(ourselves)s 2881 X(.)s 600 X 1687 Y 728 X f.CW 10 Z(#)s 768 X(-)s 808 X(-)s 848 X(-)s 888 X(-)s 928 X(-)s 968 X(-)s 1008 X(-)s 1048 X(-)s 1088 X(-)s 1128 X(-)s 1168 X(-)s 1208 X(-)s 1248 X(-)s 1288 X(-)s 1328 X(-)s 1368 X(-)s 1408 X(-)s 1448 X(-)s 1488 X(-)s 1528 X(-)s 1568 X(-)s 1608 X(-)s 1648 X(-)s 1688 X(-)s 1728 X(-)s 1768 X(-)s 1808 X(-)s 1848 X(-)s 1888 X(-)s 1928 X(-)s 1968 X(-)s 2008 X(-)s 2048 X(-)s 2088 X(-)s 2128 X(-)s 2168 X(-)s 2208 X(-)s 2248 X(-)s 2288 X(-)s 2328 X(-)s 2368 X(-)s 2408 X(-)s 2448 X(-)s 2488 X(-)s 2528 X(-)s 2568 X(-)s 2608 X(-)s 2648 X(-)s 2688 X(-)s 2728 X(-)s 2768 X(-)s 2808 X(-)s 2848 X(-)s 2888 X(-)s 2928 X(-)s 2968 X(-)s 3008 X(-)s 3048 X(-)s 3088 X(-)s 600 X 1760 Y 728 X(#)s 808 X(Lookup)s 1088 X(the)s 1248 X(SOA)s 1408 X(record)s 1688 X(form)s 1888 X($DOMAIN)s 2168 X(.)s 2288 X(A)s 2368 X(really)s 2648 X(broken)s 2928 X(name)s 600 X 1833 Y 728 X(#)s 808 X(server)s 1088 X(many)s 1288 X(have)s 1488 X(more)s 1688 X(than)s 1888 X(one)s 2048 X(SOA)s 2208 X(for)s 2368 X(a)s 2448 X(domain,)s 2768 X(so)s 2888 X(exit)s 600 X 1906 Y 728 X(#)s 808 X(after)s 1048 X(finding)s 1368 X(the)s 1528 X(first)s 1768 X(one)s 1888 X(.)s 2008 X(Send)s 2208 X(it)s 2328 X(to)s 2448 X(the)s 2608 X(local)s 2848 X(hostmaster)s 600 X 1979 Y 728 X(#)s 808 X(if)s 928 X(we)s 1048 X(cannot)s 1328 X(find)s 1528 X(the)s 1688 X(proper)s 1968 X(one)s 2088 X(.)s 600 X 2052 Y 728 X(#)s 768 X(-)s 808 X(-)s 848 X(-)s 888 X(-)s 928 X(-)s 968 X(-)s 1008 X(-)s 1048 X(-)s 1088 X(-)s 1128 X(-)s 1168 X(-)s 1208 X(-)s 1248 X(-)s 1288 X(-)s 1328 X(-)s 1368 X(-)s 1408 X(-)s 1448 X(-)s 1488 X(-)s 1528 X(-)s 1568 X(-)s 1608 X(-)s 1648 X(-)s 1688 X(-)s 1728 X(-)s 1768 X(-)s 1808 X(-)s 1848 X(-)s 1888 X(-)s 1928 X(-)s 1968 X(-)s 2008 X(-)s 2048 X(-)s 2088 X(-)s 2128 X(-)s 2168 X(-)s 2208 X(-)s 2248 X(-)s 2288 X(-)s 2328 X(-)s 2368 X(-)s 2408 X(-)s 2448 X(-)s 2488 X(-)s 2528 X(-)s 2568 X(-)s 2608 X(-)s 2648 X(-)s 2688 X(-)s 2728 X(-)s 2768 X(-)s 2808 X(-)s 2848 X(-)s 2888 X(-)s 2928 X(-)s 2968 X(-)s 3008 X(-)s 3048 X(-)s 3088 X(-)s 600 X 2125 Y 728 X(if)s 848 X([)s 928 X($VERBOSE)s 1288 X(-eq)s 1448 X(1)s 1528 X(])s 1608 X(;)s 1688 X(then)s 600 X 2198 Y 1048 X(echo)s 1248 X("Looking)s 1608 X(up)s 1728 X(the)s 1888 X(hostmaster)s 2328 X(for)s 2488 X($DOMAIN")s 600 X 2271 Y 728 X(fi)s 600 X 2344 Y 728 X(HOSTMASTER=`qu)s 1288 X(ery)s 1448 X(-h)s 1568 X($DOMAIN)s 1888 X(-t)s 2008 X(SOA)s 2168 X(2>)s 2288 X(/dev/null)s 2688 X(|)s 2768 X(\\)s 600 X 2417 Y 1488 X(awk)s 1648 X('/mail)s 1928 X(addr/)s 2168 X({)s 2248 X(print)s 2488 X($4)s 2608 X(;)s 2688 X(exit)s 2888 X(}')s 3008 X(|)s 3088 X(sed)s 3248 X(-e)s 3368 X('s/)s 3488 X(./@/'`)s 600 X 2490 Y 728 X(NAME=`host)s 1168 X($IPADDR)s 1488 X(2>)s 1608 X(/dev/null`)s 600 X 2563 Y 728 X(if)s 848 X([)s 928 X(-z)s 1048 X(""$HOSTMASTER)s 1608 X(])s 1688 X(;)s 1768 X(then)s 600 X 2636 Y 1048 X(if)s 1168 X([)s 1248 X(-z)s 1368 X(""$NAME)s 1688 X(])s 1768 X(;)s 1848 X(then)s 600 X 2709 Y 1368 X(HOSTMASTER="ho)s 1928 X(stmaster")s 600 X 2782 Y 1048 X(else)s 600 X 2855 Y 1368 X(HOSTMASTER="po)s 1928 X(stmaster@"$NAME)s 600 X 2928 Y 1048 X(fi)s 600 X 3001 Y 728 X(fi)s 600 X 3124 Y 744 X f.R 10 Z(This)s 887 X(is)s 956 X(one)s 1076 X(of)s 1155 X(the)s 1261 X(tests)s 1405 X(we)s 1507 X(make)s 1676 X(to)s 1752 X(weed)s 1917 X(out)s 2026 X(the)s 2132 X(spurious)s 2382 X(lame)s 2538 X(delegations)s 2843 X(.)s 2907 X(There)s 3088 X(have)s 3239 X(been)s 3390 X(cases)s 3557 X(where)s 600 X 3197 Y(a)s 654 X(parent)s 845 X(server)s 1032 X(has)s 1145 X(listed)s 1315 X(another)s 1539 X(nameserver)s 1871 X(as)s 1951 X(authoritative)s 2314 X(for)s 2415 X(a)s 2469 X(domain,)s 2709 X(yet)s 2814 X(that)s 2938 X(actual)s 3122 X(server)s 3308 X(does)s 3453 X(not)s 3561 X(report)s 600 X 3270 Y(itself)s 757 X(as)s 835 X(authoritative)s 1196 X(for)s 1295 X(a)s 1347 X(domain)s 1547 X(.)s 1608 X(This)s 1749 X(is)s 1817 X(still)s 1942 X(a)s 1995 X(problem,)s 2257 X(and)s 2376 X(in)s 2451 X(the)s 2556 X(future)s 2738 X(we)s 2839 X(should)s 3039 X(do)s 3128 X(something)s 3429 X(better)s 3605 X(here)s 600 X 3343 Y(than)s 737 X(just)s 856 X(continue)s 1108 X(\(e)s 1160 X(.g)s 1210 X(.,)s 1266 X(send)s 1410 X(mail)s 1552 X(to)s 1626 X(the)s 1730 X(parent)s 1919 X(domain)s 2141 X(telling)s 2335 X(them)s 2491 X(about)s 2661 X(the)s 2765 X(problem\))s 3009 X(.)s 600 X 3445 Y 728 X f.CW 10 Z(#)s 768 X(-)s 808 X(-)s 848 X(-)s 888 X(-)s 928 X(-)s 968 X(-)s 1008 X(-)s 1048 X(-)s 1088 X(-)s 1128 X(-)s 1168 X(-)s 1208 X(-)s 1248 X(-)s 1288 X(-)s 1328 X(-)s 1368 X(-)s 1408 X(-)s 1448 X(-)s 1488 X(-)s 1528 X(-)s 1568 X(-)s 1608 X(-)s 1648 X(-)s 1688 X(-)s 1728 X(-)s 1768 X(-)s 1808 X(-)s 1848 X(-)s 1888 X(-)s 1928 X(-)s 1968 X(-)s 2008 X(-)s 2048 X(-)s 2088 X(-)s 2128 X(-)s 2168 X(-)s 2208 X(-)s 2248 X(-)s 2288 X(-)s 2328 X(-)s 2368 X(-)s 2408 X(-)s 2448 X(-)s 2488 X(-)s 2528 X(-)s 2568 X(-)s 2608 X(-)s 2648 X(-)s 2688 X(-)s 2728 X(-)s 2768 X(-)s 2808 X(-)s 2848 X(-)s 2888 X(-)s 2928 X(-)s 2968 X(-)s 3008 X(-)s 3048 X(-)s 3088 X(-)s 600 X 3518 Y 728 X(#)s 808 X(Find)s 1008 X(the)s 1168 X(name)s 1368 X(associated)s 1808 X(with)s 2008 X(IP)s 2128 X(address)s 2448 X($IPADDR)s 2728 X(.)s 2848 X(Query)s 600 X 3591 Y 728 X(#)s 808 X(the)s 968 X(nameserver)s 1408 X(at)s 1528 X(that)s 1728 X(address:)s 2128 X(If)s 2248 X(it)s 2368 X(responds)s 2728 X(listing)s 600 X 3664 Y 728 X(#)s 808 X(itself)s 1088 X(as)s 1208 X(a)s 1288 X(domain)s 1568 X(namserver,)s 2008 X(then)s 2208 X(it)s 2328 X(is)s 2448 X(lame;)s 2688 X(if)s 2808 X(it)s 2928 X(isn't)s 600 X 3737 Y 728 X(#)s 808 X(in)s 928 X(the)s 1088 X(list,)s 1328 X(then)s 1528 X(perhaps)s 1848 X(the)s 2008 X(lame)s 2208 X(delegation)s 2648 X(alert)s 2888 X(was)s 600 X 3810 Y 728 X(#)s 808 X(spurious)s 1128 X(.)s 600 X 3883 Y 728 X(#)s 768 X(-)s 808 X(-)s 848 X(-)s 888 X(-)s 928 X(-)s 968 X(-)s 1008 X(-)s 1048 X(-)s 1088 X(-)s 1128 X(-)s 1168 X(-)s 1208 X(-)s 1248 X(-)s 1288 X(-)s 1328 X(-)s 1368 X(-)s 1408 X(-)s 1448 X(-)s 1488 X(-)s 1528 X(-)s 1568 X(-)s 1608 X(-)s 1648 X(-)s 1688 X(-)s 1728 X(-)s 1768 X(-)s 1808 X(-)s 1848 X(-)s 1888 X(-)s 1928 X(-)s 1968 X(-)s 2008 X(-)s 2048 X(-)s 2088 X(-)s 2128 X(-)s 2168 X(-)s 2208 X(-)s 2248 X(-)s 2288 X(-)s 2328 X(-)s 2368 X(-)s 2408 X(-)s 2448 X(-)s 2488 X(-)s 2528 X(-)s 2568 X(-)s 2608 X(-)s 2648 X(-)s 2688 X(-)s 2728 X(-)s 2768 X(-)s 2808 X(-)s 2848 X(-)s 2888 X(-)s 2928 X(-)s 2968 X(-)s 3008 X(-)s 3048 X(-)s 3088 X(-)s 600 X 3956 Y 728 X(if)s 848 X([)s 928 X($VERBOSE)s 1288 X(-eq)s 1448 X(1)s 1528 X(])s 1608 X(;)s 1688 X(then)s 600 X 4029 Y 1048 X(echo)s 1248 X("Making)s 1568 X(sure)s 1768 X(that)s 1968 X($IPADDR)s 2288 X(is)s 2408 X(listed)s 2688 X(as)s 2808 X(a)s 2888 X(NS)s 3008 X(for)s 3168 X($DOMAIN")s 600 X 4102 Y 728 X(fi)s 600 X 4175 Y 728 X(if)s 848 X([)s 928 X(-n)s 1048 X(""$NAME)s 1368 X(])s 1448 X(;)s 1528 X(then)s 600 X 4248 Y 1048 X(query)s 1288 X(-n)s 1408 X($IPADDR)s 1728 X(-h)s 1848 X($DOMAIN)s 2168 X(2>&1)s 2368 X(|)s 2448 X(grep)s 2648 X("domain)s 2968 X(name")s 3208 X(|)s 3288 X(\\)s 600 X 4321 Y 2568 X(grep)s 2768 X(-i)s 2888 X($NAME)s 3128 X(>)s 3208 X(/dev/null)s 600 X 4394 Y 1048 X(if)s 1168 X([)s 1248 X($?)s 1368 X(-eq)s 1528 X(1)s 1608 X(-a)s 1728 X($VERBOSE)s 2088 X(-eq)s 2248 X(1)s 2328 X(])s 2408 X(;)s 2488 X(then)s 600 X 4467 Y 1368 X(echo)s 1568 X($NAME)s 1808 X(does)s 2008 X(not)s 2168 X(seem)s 2368 X(to)s 2488 X(be)s 2608 X(a)s 2688 X(nameserver)s 3128 X(for)s 3288 X($DOMAIN)s 600 X 4540 Y 1368 X(continue)s 600 X 4613 Y 1048 X(fi)s 600 X 4686 Y 728 X(fi)s 600 X 4967 Y f.B 10 Z(1992)s 754 X(LISA)s 931 X(VI)s 1027 X(\261)s 1082 X(October)s 1338 X(19)s 1404 X(-23,)s 1531 X(1992)s 1685 X(\261)s 1740 X(Long)s 1909 X(Beach,)s 2122 X(CA)s 3621 X(131)s 5280 Y pagebot %%Page: 132 6 pagetop stdencoding /NTimes-Bold /Times-Bold RE /f.B /NTimes-Bold findfont def f.B 10 Z 360 X 215 Y(Dealing)s 601 X(with)s 749 X(Lame)s 934 X(Delegations)s 360 X 448 Y 504 X stdencoding /NTimes-Roman /Times-Roman RE /f.R /NTimes-Roman findfont def f.R 10 Z(We)s 620 X(query)s 794 X(the)s 899 X(listed)s 1068 X(nameserver)s 1399 X(twice)s 1545 X(.)s 1607 X(Even)s 1767 X(in)s 1842 X(the)s 1947 X(case)s 2086 X(of)s 2164 X(a)s 2218 X(lame)s 2373 X(delegation,)s 2693 X(it)s 2755 X(may)s 2894 X(return)s 3077 X(with)s 3220 X(authorita-)s 360 X 521 Y(tive)s 485 X(data)s 621 X(on)s 711 X(the)s 817 X(\256rst)s 945 X(query)s 1120 X(since)s 1282 X(it)s 1344 X(may)s 1483 X(have)s 1633 X(just)s 1754 X(made)s 1923 X(the)s 2029 X(query)s 2204 X(to)s 2280 X(an)s 2367 X(authoritative)s 2730 X(nameserver)s 3038 X(.)s 3100 X(If)s 3167 X(it)s 3228 X(is)s 3296 X(a)s 3349 X(lame)s 360 X 594 Y(delegation,)s 678 X(then)s 815 X(the)s 919 X(second)s 1126 X(query)s 1299 X(will)s 1426 X(be)s 1511 X(from)s 1662 X(the)s 1766 X(nameserver's)s 2144 X(cache)s 2319 X(rather)s 2497 X(than)s 2634 X(from)s 2785 X(its)s 2871 X(authoritative)s 3232 X(data,)s 3384 X(and)s 360 X 667 Y(so)s 444 X(the)s 551 X f.B 9 Z(aa)s 636 X f.R 10 Z(\(authoritative)s 1022 X(answer\))s 1258 X(header)s 1461 X(\257ag)s 1586 X(will)s 1716 X(be)s 1803 X(missing)s 2011 X(.)s 2052 X(Some)s 2228 X(really)s 2405 X(malformed)s 2722 X(answers)s 2961 X(set)s 3060 X(all)s 3152 X(of)s 3231 X(the)s 3337 X(\257ags,)s 360 X 740 Y(and)s 478 X(so)s 559 X(if)s 622 X(an)s 707 X(unusual)s 936 X(one)s 1054 X(is)s 1121 X(set,)s 1235 X(like)s 1358 X f.B 9 Z(tc)s 1427 X f.R 10 Z(we)s 1527 X(consider)s 1775 X(the)s 1879 X(answer)s 2090 X(to)s 2164 X(be)s 2249 X(invalid)s 2435 X(.)s 360 X 842 Y 488 X stdencoding /NCourier /Courier RE /f.CW /NCourier findfont def f.CW 10 Z(#)s 528 X(-)s 568 X(-)s 608 X(-)s 648 X(-)s 688 X(-)s 728 X(-)s 768 X(-)s 808 X(-)s 848 X(-)s 888 X(-)s 928 X(-)s 968 X(-)s 1008 X(-)s 1048 X(-)s 1088 X(-)s 1128 X(-)s 1168 X(-)s 1208 X(-)s 1248 X(-)s 1288 X(-)s 1328 X(-)s 1368 X(-)s 1408 X(-)s 1448 X(-)s 1488 X(-)s 1528 X(-)s 1568 X(-)s 1608 X(-)s 1648 X(-)s 1688 X(-)s 1728 X(-)s 1768 X(-)s 1808 X(-)s 1848 X(-)s 1888 X(-)s 1928 X(-)s 1968 X(-)s 2008 X(-)s 2048 X(-)s 2088 X(-)s 2128 X(-)s 2168 X(-)s 2208 X(-)s 2248 X(-)s 2288 X(-)s 2328 X(-)s 2368 X(-)s 2408 X(-)s 2448 X(-)s 2488 X(-)s 2528 X(-)s 2568 X(-)s 2608 X(-)s 2648 X(-)s 2688 X(-)s 2728 X(-)s 2768 X(-)s 2808 X(-)s 2848 X(-)s 360 X 915 Y 488 X(#)s 568 X(If)s 688 X(the)s 848 X(delegation)s 1288 X(is)s 1408 X(no)s 1528 X(longer)s 1808 X(lame,)s 2048 X(don't)s 2288 X(send)s 2488 X(mail)s 2648 X(.)s 360 X 988 Y 488 X(#)s 568 X(We)s 688 X(do)s 808 X(the)s 968 X(query)s 1208 X(twice;)s 1488 X(the)s 1648 X(first)s 1888 X(answer)s 2168 X(could)s 2408 X(be)s 2528 X(authori)s 2808 X(-)s 360 X 1061 Y 488 X(#)s 568 X(tative)s 848 X(even)s 1048 X(if)s 1168 X(the)s 1328 X(nameserver)s 1768 X(is)s 1888 X(not)s 2048 X(performing)s 2488 X(service)s 360 X 1134 Y 488 X(#)s 568 X(for)s 728 X(the)s 888 X(domain)s 1128 X(.)s 1248 X(If)s 1368 X(this)s 1568 X(is)s 1688 X(the)s 1848 X(case,)s 2088 X(then)s 2288 X(the)s 2448 X(second)s 360 X 1207 Y 488 X(#)s 568 X(query)s 808 X(will)s 1008 X(come)s 1208 X(from)s 1408 X(cached)s 1688 X(data,)s 1928 X(and)s 2088 X(will)s 2288 X(be)s 2408 X(exposed)s 360 X 1280 Y 488 X(#)s 568 X(on)s 688 X(the)s 848 X(second)s 1128 X(query)s 1328 X(.)s 1448 X(If)s 1568 X(the)s 1728 X(resolver)s 2088 X(returns)s 2408 X(trash,)s 2688 X(the)s 360 X 1353 Y 488 X(#)s 568 X(entire)s 848 X(set)s 1008 X(of)s 1128 X(flags)s 1368 X(will)s 1568 X(be)s 1688 X(set)s 1808 X(.)s 1928 X(In)s 2048 X(this)s 2248 X(case,)s 2488 X(don't)s 360 X 1426 Y 488 X(#)s 568 X(count)s 808 X(the)s 968 X(answer)s 1248 X(as)s 1368 X(authoritative)s 1888 X(.)s 360 X 1499 Y 488 X(#)s 528 X(-)s 568 X(-)s 608 X(-)s 648 X(-)s 688 X(-)s 728 X(-)s 768 X(-)s 808 X(-)s 848 X(-)s 888 X(-)s 928 X(-)s 968 X(-)s 1008 X(-)s 1048 X(-)s 1088 X(-)s 1128 X(-)s 1168 X(-)s 1208 X(-)s 1248 X(-)s 1288 X(-)s 1328 X(-)s 1368 X(-)s 1408 X(-)s 1448 X(-)s 1488 X(-)s 1528 X(-)s 1568 X(-)s 1608 X(-)s 1648 X(-)s 1688 X(-)s 1728 X(-)s 1768 X(-)s 1808 X(-)s 1848 X(-)s 1888 X(-)s 1928 X(-)s 1968 X(-)s 2008 X(-)s 2048 X(-)s 2088 X(-)s 2128 X(-)s 2168 X(-)s 2208 X(-)s 2248 X(-)s 2288 X(-)s 2328 X(-)s 2368 X(-)s 2408 X(-)s 2448 X(-)s 2488 X(-)s 2528 X(-)s 2568 X(-)s 2608 X(-)s 2648 X(-)s 2688 X(-)s 2728 X(-)s 2768 X(-)s 2808 X(-)s 2848 X(-)s 360 X 1572 Y 488 X(if)s 608 X([)s 688 X($VERBOSE)s 1048 X(-eq)s 1208 X(1)s 1288 X(])s 1368 X(;)s 1448 X(then)s 360 X 1645 Y 808 X(echo)s 1008 X("Making)s 1328 X(sure)s 1528 X(that)s 1728 X($IPADDR)s 2048 X(is)s 2168 X(not)s 2328 X(providing)s 2728 X(authoritative)s 3288 X(data)s 3488 X(now")s 360 X 1718 Y 488 X(fi)s 360 X 1791 Y 488 X(query)s 728 X(-n)s 848 X($IPADDR)s 1168 X(-h)s 1288 X($DOMAIN)s 1608 X(>)s 1688 X(/dev/null)s 2088 X(2>&1)s 360 X 1864 Y 488 X(query)s 728 X(-n)s 848 X($IPADDR)s 1168 X(-h)s 1288 X($DOMAIN)s 1608 X(2>&1)s 1808 X(|)s 1888 X(grep)s 2088 X(header)s 2368 X(|)s 2448 X(grep)s 2648 X(aa)s 2768 X(|)s 2848 X(\\)s 360 X 1937 Y 2488 X(grep)s 2688 X(-v)s 2808 X(tc)s 2928 X(>)s 3008 X(/dev/null)s 360 X 2010 Y 488 X(if)s 608 X([)s 688 X($?)s 808 X(-eq)s 968 X(0)s 1048 X(])s 1128 X(;)s 1208 X(then)s 360 X 2083 Y 568 X(if)s 688 X([)s 768 X($VERBOSE)s 1128 X(-eq)s 1288 X(1)s 1368 X(])s 1448 X(;)s 1528 X(then)s 360 X 2156 Y 648 X(if)s 768 X([)s 848 X(-n)s 968 X(""$NAME)s 1288 X(])s 1368 X(;)s 1448 X(then)s 360 X 2229 Y 968 X(echo)s 1168 X($NAME)s 1408 X(seems)s 1648 X(to)s 1768 X(be)s 1888 X(serving)s 2208 X($DOMAIN)s 2528 X(OK)s 2648 X(now)s 360 X 2302 Y 648 X(else)s 360 X 2375 Y 968 X(echo)s 1168 X($I)s 1288 X(seems)s 1528 X(to)s 1648 X(be)s 1768 X(serving)s 2088 X($DOMAIN)s 2408 X(OK)s 2528 X(now)s 360 X 2448 Y 648 X(fi)s 360 X 2521 Y 568 X(fi)s 360 X 2594 Y 568 X(continue)s 360 X 2667 Y 488 X(fi)s 360 X 2790 Y 504 X f.R 10 Z(If)s 575 X(we've)s 766 X(reached)s 1002 X(this)s 1127 X(point,)s 1309 X(then)s 1452 X(we)s 1558 X(probably)s 1822 X(have)s 1976 X(a)s 2034 X(genuine)s 2273 X(lame)s 2432 X(delegation)s 2711 X(.)s 2778 X(We)s 2899 X(then)s 3042 X(use)s 3159 X stdencoding /NTimes-Italic /Times-Italic RE /f.I /NTimes-Italic findfont def f.I 10 Z(sed)s 3276 X f.R 10 Z(to)s 3356 X(do)s 3450 X(a)s 360 X 2863 Y(quick)s 534 X(substitution)s 872 X(on)s 964 X(a)s 1020 X(copy)s 1175 X(of)s 1256 X(the)s 1364 X(message)s 1617 X(we)s 1721 X(send)s 1869 X(out)s 1980 X(to)s 2058 X(mark)s 2220 X(in)s 2297 X(the)s 2404 X(proper)s 2602 X(domain)s 2827 X(name)s 2997 X(and)s 3118 X(namserver)s 3421 X(IP)s 360 X 2936 Y(address)s 560 X(.)s 621 X(We)s 736 X(then)s 873 X(mail)s 1015 X(off)s 1114 X(the)s 1218 X(message)s 1467 X(using)s 1633 X(the)s 1737 X(name)s 1904 X("dns)s 2023 X(-maintenance@um)s 2530 X(ich)s 2612 X(.edu")s 2774 X(in)s 2849 X(the)s 2954 X("From:")s 3194 X(line)s 3295 X(.)s 3357 X(That)s 360 X 3009 Y(way)s 493 X(if)s 556 X(it)s 616 X(bounces)s 856 X(\(or)s 955 X(gets)s 1085 X(a)s 1137 X(reply\),)s 1335 X(the)s 1439 X(message)s 1688 X(will)s 1815 X(not)s 1922 X(go)s 2010 X(to)s 2084 X(root's)s 2261 X(mailbox)s 2480 X(.)s 360 X 3111 Y 488 X f.CW 10 Z(#)s 528 X(-)s 568 X(-)s 608 X(-)s 648 X(-)s 688 X(-)s 728 X(-)s 768 X(-)s 808 X(-)s 848 X(-)s 888 X(-)s 928 X(-)s 968 X(-)s 1008 X(-)s 1048 X(-)s 1088 X(-)s 1128 X(-)s 1168 X(-)s 1208 X(-)s 1248 X(-)s 1288 X(-)s 1328 X(-)s 1368 X(-)s 1408 X(-)s 1448 X(-)s 1488 X(-)s 1528 X(-)s 1568 X(-)s 1608 X(-)s 1648 X(-)s 1688 X(-)s 1728 X(-)s 1768 X(-)s 1808 X(-)s 1848 X(-)s 1888 X(-)s 1928 X(-)s 1968 X(-)s 2008 X(-)s 2048 X(-)s 2088 X(-)s 2128 X(-)s 2168 X(-)s 2208 X(-)s 2248 X(-)s 2288 X(-)s 2328 X(-)s 2368 X(-)s 2408 X(-)s 2448 X(-)s 2488 X(-)s 2528 X(-)s 2568 X(-)s 2608 X(-)s 2648 X(-)s 2688 X(-)s 2728 X(-)s 2768 X(-)s 2808 X(-)s 2848 X(-)s 360 X 3184 Y 488 X(#)s 568 X(Notify)s 848 X(the)s 1008 X(owner)s 1248 X(of)s 1368 X(the)s 1528 X(lame)s 1728 X(delegation,)s 2208 X(and)s 2368 X(also)s 2568 X(notify)s 360 X 3257 Y 488 X(#)s 568 X(the)s 728 X(local)s 968 X(hostmaster)s 1368 X(.)s 360 X 3330 Y 488 X(#)s 528 X(-)s 568 X(-)s 608 X(-)s 648 X(-)s 688 X(-)s 728 X(-)s 768 X(-)s 808 X(-)s 848 X(-)s 888 X(-)s 928 X(-)s 968 X(-)s 1008 X(-)s 1048 X(-)s 1088 X(-)s 1128 X(-)s 1168 X(-)s 1208 X(-)s 1248 X(-)s 1288 X(-)s 1328 X(-)s 1368 X(-)s 1408 X(-)s 1448 X(-)s 1488 X(-)s 1528 X(-)s 1568 X(-)s 1608 X(-)s 1648 X(-)s 1688 X(-)s 1728 X(-)s 1768 X(-)s 1808 X(-)s 1848 X(-)s 1888 X(-)s 1928 X(-)s 1968 X(-)s 2008 X(-)s 2048 X(-)s 2088 X(-)s 2128 X(-)s 2168 X(-)s 2208 X(-)s 2248 X(-)s 2288 X(-)s 2328 X(-)s 2368 X(-)s 2408 X(-)s 2448 X(-)s 2488 X(-)s 2528 X(-)s 2568 X(-)s 2608 X(-)s 2648 X(-)s 2688 X(-)s 2728 X(-)s 2768 X(-)s 2808 X(-)s 2848 X(-)s 360 X 3403 Y 488 X(if)s 608 X([)s 688 X($TESTMODE)s 1088 X(-eq)s 1248 X(0)s 1328 X(])s 1408 X(;)s 1488 X(then)s 360 X 3476 Y 568 X(if)s 688 X([)s 768 X($VERBOSE)s 1128 X(-eq)s 1288 X(1)s 1368 X(])s 1448 X(;)s 1528 X(then)s 360 X 3549 Y 648 X(echo)s 848 X("Sending)s 1208 X(to)s 1328 X($HOSTMASTER)s 1808 X(about)s 2048 X(lame)s 2248 X(server)s 2528 X($IPADDR)s 2848 X(for)s 3008 X(domain)s 3288 X($DOMAIN")s 360 X 3622 Y 568 X(fi)s 360 X 3695 Y 568 X(echo)s 768 X("To:)s 968 X(")s 1048 X($HOSTMASTER)s 1528 X(>)s 1608 X($MAILMSG)s 360 X 3768 Y 568 X(echo)s 768 X("Subject:)s 1168 X($IPADDR)s 1488 X(seems)s 1728 X(to)s 1848 X(be)s 1968 X(a)s 2048 X(lame)s 2248 X(delegation)s 2688 X(for)s 2848 X($DOMAIN")s 3208 X(>>)s 3328 X($MAILMSG)s 360 X 3841 Y 568 X(cat)s 728 X($MSGFILE)s 1088 X(>>)s 1208 X($MAILMSG)s 360 X 3914 Y 568 X(sed)s 728 X(-e)s 848 X("s|%DOMAIN%|$DO)s 1448 X(MAIN|")s 1728 X(-e)s 1848 X("s|%SERVER%|$IP)s 2448 X(ADDR|")s 2728 X($MSGFILE)s 3088 X(|)s 360 X 3987 Y 1128 X(/usr/lib/sendm)s 1688 X(ail)s 1848 X(-t)s 1968 X(-fdns)s 2168 X(-maintenance)s 360 X 4060 Y 488 X(fi)s 360 X 4133 Y 488 X(echo)s 688 X($HOSTMASTER)s 1168 X($DOMAIN)s 1488 X($IPADDR)s 1808 X(>>)s 1928 X($LAMEREPORT)s 360 X 4206 Y 408 X(done)s 608 X(<)s 688 X($LAMERS)s 360 X 4329 Y 504 X f.R 10 Z(Now)s 660 X(that)s 788 X(we)s 893 X(have)s 1046 X(processed)s 1336 X(all)s 1431 X(of)s 1513 X(the)s 1622 X(lame)s 1780 X(delegation)s 2087 X(messages,)s 2385 X(we're)s 2565 X(just)s 2690 X(about)s 2866 X(done)s 2995 X(.)s 3062 X(The)s 3194 X(last)s 3316 X(action)s 360 X 4402 Y(we)s 461 X(take)s 596 X(is)s 664 X(to)s 739 X(send)s 884 X(a)s 937 X(single)s 1120 X(message)s 1370 X(to)s 1445 X(the)s 1550 X(local)s 1704 X(hostmaster)s 2017 X(at)s 2089 X(U)s 2137 X(-M)s 2241 X(listing)s 2432 X(all)s 2523 X(of)s 2601 X(the)s 2705 X(lame)s 2858 X(delegations)s 3163 X(.)s 3224 X(The)s 3350 X(mes-)s 360 X 4475 Y(sage)s 502 X(-)s 547 X(a)s 600 X(short)s 756 X(lame)s 910 X(delegation)s 1212 X(report)s 1394 X(-)s 1439 X(lists)s 1571 X(one)s 1690 X(line)s 1814 X(per)s 1922 X(lame)s 2076 X(delegation)s 2378 X(found)s 2532 X(.)s 2594 X(On)s 2698 X(that)s 2822 X(line)s 2946 X(are)s 3051 X(the)s 3157 X(domain,)s 3398 X(the)s 360 X 4548 Y(nameserver,)s 707 X(and)s 825 X(the)s 929 X(e)s 959 X(-mail)s 1123 X(address)s 1345 X(that)s 1468 X(we)s 1568 X(used)s 1712 X(when)s 1878 X(sending)s 2107 X(the)s 2211 X(message)s 2438 X(.)s 360 X 4650 Y 408 X f.CW 10 Z(#)s 448 X(-)s 488 X(-)s 528 X(-)s 568 X(-)s 608 X(-)s 648 X(-)s 688 X(-)s 728 X(-)s 768 X(-)s 808 X(-)s 848 X(-)s 888 X(-)s 928 X(-)s 968 X(-)s 1008 X(-)s 1048 X(-)s 1088 X(-)s 1128 X(-)s 1168 X(-)s 1208 X(-)s 1248 X(-)s 1288 X(-)s 1328 X(-)s 1368 X(-)s 1408 X(-)s 1448 X(-)s 1488 X(-)s 1528 X(-)s 1568 X(-)s 1608 X(-)s 1648 X(-)s 1688 X(-)s 1728 X(-)s 1768 X(-)s 1808 X(-)s 1848 X(-)s 1888 X(-)s 1928 X(-)s 1968 X(-)s 2008 X(-)s 2048 X(-)s 2088 X(-)s 2128 X(-)s 2168 X(-)s 2208 X(-)s 2248 X(-)s 2288 X(-)s 2328 X(-)s 2368 X(-)s 2408 X(-)s 2448 X(-)s 2488 X(-)s 2528 X(-)s 2568 X(-)s 2608 X(-)s 2648 X(-)s 2688 X(-)s 2728 X(-)s 2768 X(-)s 360 X 4723 Y 408 X(#)s 488 X(No)s 608 X(news)s 808 X(is)s 928 X(good)s 1128 X(news)s 360 X 4967 Y f.B 10 Z(132)s 1862 X(1992)s 2016 X(LISA)s 2193 X(VI)s 2289 X(\261)s 2344 X(October)s 2600 X(19)s 2666 X(-23,)s 2793 X(1992)s 2947 X(\261)s 3002 X(Long)s 3171 X(Beach,)s 3384 X(CA)s 5280 Y pagebot %%Page: 133 7 pagetop stdencoding /NTimes-Bold /Times-Bold RE /f.B /NTimes-Bold findfont def f.B 10 Z 600 X 215 Y 2816 X(Dealing)s 3057 X(with)s 3205 X(Lame)s 3390 X(Delegations)s 600 X 448 Y 648 X stdencoding /NCourier /Courier RE /f.CW /NCourier findfont def f.CW 10 Z(#)s 688 X(-)s 728 X(-)s 768 X(-)s 808 X(-)s 848 X(-)s 888 X(-)s 928 X(-)s 968 X(-)s 1008 X(-)s 1048 X(-)s 1088 X(-)s 1128 X(-)s 1168 X(-)s 1208 X(-)s 1248 X(-)s 1288 X(-)s 1328 X(-)s 1368 X(-)s 1408 X(-)s 1448 X(-)s 1488 X(-)s 1528 X(-)s 1568 X(-)s 1608 X(-)s 1648 X(-)s 1688 X(-)s 1728 X(-)s 1768 X(-)s 1808 X(-)s 1848 X(-)s 1888 X(-)s 1928 X(-)s 1968 X(-)s 2008 X(-)s 2048 X(-)s 2088 X(-)s 2128 X(-)s 2168 X(-)s 2208 X(-)s 2248 X(-)s 2288 X(-)s 2328 X(-)s 2368 X(-)s 2408 X(-)s 2448 X(-)s 2488 X(-)s 2528 X(-)s 2568 X(-)s 2608 X(-)s 2648 X(-)s 2688 X(-)s 2728 X(-)s 2768 X(-)s 2808 X(-)s 2848 X(-)s 2888 X(-)s 2928 X(-)s 2968 X(-)s 3008 X(-)s 600 X 521 Y 648 X(if)s 768 X([)s 848 X(-s)s 968 X($LAMEREPORT)s 1448 X(])s 1528 X(;)s 1608 X(then)s 600 X 594 Y 968 X(Mail)s 1168 X(-s)s 1288 X("Lame)s 1528 X(report")s 1848 X(hostmaster@umic)s 2448 X(h)s 2488 X(.edu)s 2688 X(<)s 2768 X($LAMEREPORT)s 600 X 667 Y 648 X(fi)s 600 X 740 Y 648 X(rm)s 768 X(-f)s 888 X($LAMERS)s 1208 X($MAILMSG)s 1568 X($LAMEREPORT)s 2048 X($WEEKFILE)s 600 X 842 Y 1159 X f.B 10 Z(Conclusions)s 600 X 951 Y 744 X stdencoding /NTimes-Roman /Times-Roman RE /f.R /NTimes-Roman findfont def f.R 10 Z(We've)s 953 X(been)s 1110 X(using)s 1285 X(this)s 1413 X(tool)s 1548 X(to)s 1632 X(notify)s 1823 X(hostmas-)s 600 X 1024 Y(ters)s 722 X(of)s 801 X(lame)s 956 X(delegations)s 1285 X(for)s 1386 X(about)s 1558 X(one)s 1678 X(year)s 1817 X(now)s 1931 X(.)s 1994 X(So)s 600 X 1097 Y(far)s 703 X(the)s 815 X(results)s 1020 X(have)s 1176 X(been)s 1332 X(very)s 1480 X(encouraging)s 1809 X(.)s 1878 X(Except)s 600 X 1170 Y(for)s 702 X(some)s 868 X(really)s 1046 X(hard)s 1164 X(-core)s 1326 X(lamers,)s 1546 X(most)s 1700 X(sites)s 1844 X(who)s 1982 X(are)s 600 X 1243 Y(\257agged)s 818 X(one)s 936 X(week)s 1099 X(as)s 1177 X(having)s 1381 X(a)s 1434 X(lame)s 1588 X(delegation)s 1890 X(do)s 1979 X(not)s 600 X 1316 Y(get)s 714 X(\257agged)s 942 X(the)s 1056 X(following)s 1347 X(week)s 1488 X(.)s 1559 X(Unfortunately,)s 1982 X(the)s 600 X 1389 Y(number)s 839 X(of)s 930 X(lame)s 1097 X(delegations)s 1438 X(discovered)s 1763 X(each)s 1923 X(week)s 600 X 1462 Y(doesn't)s 824 X(seem)s 990 X(to)s 1070 X(be)s 1161 X(going)s 1340 X(down)s 1514 X(either)s 1667 X(.)s 1733 X(We've)s 1938 X(been)s 600 X 1535 Y(told)s 738 X(by)s 838 X(the)s 954 X(folks)s 1121 X(at)s 1205 X(NSFNET)s 1492 X(that)s 1628 X(domain)s 1863 X(packets)s 600 X 1608 Y(account)s 834 X(for)s 936 X(about)s 1109 X(10%)s 1256 X(of)s 1336 X(the)s 1443 X(backbone)s 1723 X(T3)s 1822 X(traf\256c;)s 2026 X(it)s 600 X 1681 Y(would)s 790 X(be)s 878 X(interesting)s 1186 X(to)s 1263 X(conduct)s 1499 X(an)s 1587 X(experiment)s 1913 X(to)s 1990 X(try)s 600 X 1754 Y(to)s 695 X(discover)s 964 X(exactly)s 1201 X(how)s 1357 X(much)s 1547 X(of)s 1644 X(that)s 1787 X(is)s 1874 X(due)s 2012 X(to)s 600 X 1827 Y(miscon\256gured)s 1003 X(nameservers)s 1337 X(.)s 600 X 1921 Y 744 X(Response)s 1023 X(from)s 1176 X(hostmasters)s 1516 X(receiving)s 1790 X(mail)s 1935 X(from)s 600 X 1994 Y(this)s 725 X(script)s 902 X(has)s 1019 X(generally)s 1296 X(been)s 1450 X(very)s 1595 X(favorable)s 1847 X(.)s 1913 X(Com-)s 600 X 2067 Y(ments)s 784 X(run)s 896 X(the)s 1002 X(gamut)s 1193 X(from)s 1347 X("Thanks)s 1595 X(for)s 1697 X(the)s 1804 X(heads)s 1981 X(up)s 2047 X(.)s 600 X 2140 Y(We)s 732 X(don't)s 911 X(mind)s 1087 X(at)s 1175 X(all)s 1282 X(getting)s 1506 X(the)s 1626 X(mail)s 1746 X(.")s 1828 X(to)s 1918 X("Quit)s 600 X 2213 Y(sending)s 830 X(us)s 912 X(this)s 1032 X(message)s 1259 X(.)s 1276 X(.)s 1293 X(.")s 1337 X(.)s 1400 X(Most)s 1561 X(of)s 1640 X(the)s 1746 X(unfavorable)s 600 X 2286 Y(replies)s 804 X(come)s 974 X(from)s 1128 X(people)s 1331 X(who)s 1470 X(don't)s 1634 X(understand)s 1950 X(why)s 600 X 2359 Y(they're)s 832 X(getting)s 1061 X(the)s 1186 X(message,)s 1473 X(and)s 1612 X(after)s 1779 X(a)s 1853 X(friendly)s 600 X 2432 Y(phone)s 799 X(call)s 933 X(or)s 1024 X(follow)s 1198 X(-up)s 1322 X(message,)s 1602 X(they)s 1753 X(are)s 1871 X(usually)s 600 X 2505 Y(eager)s 767 X(to)s 841 X(cooperate)s 1101 X(.)s 600 X 2599 Y 744 X(All)s 865 X(of)s 955 X(the)s 1072 X(software)s 1337 X(mentioned)s 1655 X(above)s 1850 X(and)s 1982 X(the)s 600 X 2672 Y(e)s 630 X(-mail)s 827 X(template)s 1114 X(that)s 1270 X(we)s 1403 X(use)s 1547 X(are)s 1684 X(available)s 1982 X(via)s 600 X 2745 Y(anonymous)s 928 X(ftp)s 1024 X(from)s 1175 X(terminator)s 1454 X(.cc)s 1531 X(.umich)s 1715 X(.edu:/dns)s 1958 X(.)s 600 X 2872 Y 1043 X f.B 10 Z(Author)s 1272 X(Information)s 600 X 2981 Y 744 X f.R 10 Z(After)s 914 X(receiving)s 1192 X(his)s 1299 X(MS)s 1424 X(in)s 1505 X(Computer)s 1801 X(Engineer-)s 600 X 3054 Y(ing)s 712 X(from)s 868 X(the)s 977 X(University)s 1286 X(of)s 1367 X(Michigan)s 1649 X(in)s 1727 X(1988,)s 1902 X(Bryan)s 600 X 3127 Y(Beecher)s 850 X(could)s 1030 X(not)s 1147 X(bring)s 1319 X(himself)s 1552 X(to)s 1636 X(leave)s 1810 X(academic)s 600 X 3200 Y(life)s 717 X(for)s 820 X(the)s 928 X(hardships)s 1209 X(of)s 1290 X(a)s 1346 X(real)s 1473 X(job,)s 1601 X(and)s 1723 X(so)s 1808 X(has)s 1923 X(spent)s 600 X 3273 Y(the)s 704 X(past)s 834 X(four)s 967 X(years)s 1131 X(handling)s 1387 X(domain)s 1610 X(nameservice)s 1968 X(and)s 600 X 3346 Y(teaching)s 855 X f.R 8 Z(UNIX)s 1019 X f.R 10 Z(system)s 1237 X(administration)s 1655 X(courses)s 1886 X(for)s 1994 X(U)s 2042 X(-)s 600 X 3419 Y(M)s 659 X(.)s 734 X(The)s 874 X(U)s 922 X(-M)s 1039 X(distribution)s 1383 X(of)s 1474 X(BIND)s 1672 X(4)s 1705 X(.8)s 1755 X(.3)s 1841 X(contains)s 600 X 3492 Y(many)s 772 X(features)s 1008 X(he)s 1095 X(has)s 1208 X(added,)s 1407 X(such)s 1552 X(as)s 1631 X(Shuf\257e)s 1846 X(Address)s 600 X 3565 Y(\(SA\))s 764 X(records,)s 1012 X(query)s 1199 X(logging)s 1438 X(and)s 1570 X(report)s 1765 X(generation,)s 600 X 3638 Y(and,)s 757 X(of)s 856 X(course,)s 1091 X(the)s 1217 X(lame)s 1392 X(delegation)s 1715 X(tools)s 1845 X(.)s 1927 X(Most)s 600 X 3711 Y(recently,)s 879 X(he)s 988 X(has)s 1123 X(begun)s 1331 X(running)s 1584 X(U)s 1632 X(-M's)s 1808 X(USENET)s 600 X 3784 Y(news)s 780 X(server)s 985 X stdencoding /NTimes-Italic /Times-Italic RE /f.I /NTimes-Italic findfont def f.I 10 Z(\(destroyer\),)s 1341 X f.R 10 Z(and)s 1479 X(is)s 1566 X(part)s 1712 X(of)s 1809 X(the)s 1933 X(team)s 600 X 3857 Y(creating)s 850 X(better)s 1038 X(tools)s 1203 X(for)s 1315 X(X)s 1363 X(.500)s 1479 X(-based)s 1688 X(directory)s 1964 X(ser-)s 600 X 3930 Y(vices)s 738 X(.)s 855 X(He)s 1011 X(can)s 1182 X(be)s 1322 X(reached)s 1607 X(via)s 1766 X(e)s 1796 X(-mail)s 2015 X(at)s 600 X 4003 Y(bryan@umich)s 979 X(.edu)s 1092 X(.)s 600 X 4967 Y f.B 10 Z(1992)s 754 X(LISA)s 931 X(VI)s 1027 X(\261)s 1082 X(October)s 1338 X(19)s 1404 X(-23,)s 1531 X(1992)s 1685 X(\261)s 1740 X(Long)s 1909 X(Beach,)s 2122 X(CA)s 3621 X(133)s 5280 Y pagebot %%Page: 134 8 pagetop stdencoding /NTimes-Bold /Times-Bold RE /f.B /NTimes-Bold findfont def f.B 10 Z 360 X 4967 Y(134)s 1862 X(1992)s 2016 X(LISA)s 2193 X(VI)s 2289 X(\261)s 2344 X(October)s 2600 X(19)s 2666 X(-23,)s 2793 X(1992)s 2947 X(\261)s 3002 X(Long)s 3171 X(Beach,)s 3384 X(CA)s 5280 Y pagebot %%Trailer lastpage