DNS and BIND, 4th Edition By Paul Albitz and Cricket Liu This errata page lists errors outstanding in the most recent printing. If you have technical questions or error reports, you can send them to booktech@oreilly.com. (Please specify the printing date of your copy.) This page was last modified on August 15, 2005 Here's a key to the markup: [page-number]: serious technical mistake {page-number}: minor technical mistake : important language/formatting problem (page-number): language change or minor formatting problem ?page-number?: reader question or request for clarification Confirmed errors: [examples] The downloadable examples from _DNS_and_BIND_ include a Perl script called h2n that translates a hosts file into a set of BIND files. The examples from recent editions include a hugely reworked script called h2n-hp with many more features. I _love_ those scripts--they're great for creating initial configurations (before you start doing dynamic updates). I just identified and corrected a problem in the h2n-hp script. I'm not sure best how to submit this correction; I can't find any contact information in the script itself. So I hope you can get this information to whoever maintains the downloadable examples. h2n-hp has +om and +os flags to add zone-specific options to the config files. The flags work correctly for -n (reverse) zones, but not for -d (forward) zones. So when I use the configuration: ... -d cisco.pittstate.edu +om allow-update { key cisco.pittstate.edu; }; ... -n 192.168.3 +om allow-update { key cisco.pittstate.edu; }; ... the allow-update gets added correctly to the named.conf entry for the 3.168.192.in-addr.arpa zone, but not for the cisco.pittstate.edu zone. The correction is to change line 4767 of h2n-hp from if ($lastNorD =~ /^-d (.*)/) { ! $MasterZoneOptions{db.$1} .= "$tmp1\n"; } elsif ... to if ($lastNorD =~ /^-d (.*)/) { ! $MasterZoneOptions{$1} .= "$tmp1\n"; } elsif ... and to make the corresponding change to the %SlaveZoneOptions key in line 4788. The problem is that $lastNorD is set to e.g. "db.cisco" for a forward zone, but only to e.g. "192.168.3" for a reverse zone; this made the key on a forward +om incorrectly e.g. "db.db.cisco", which never matches when printing out the zone info at line 5409. (The reverse zones correctly form the key e.g. "db.192.168.3", and work properly.) I don't know why this difference exists between forward and reverse handling, and it's too deeply embedded for me to be interested in tackling it systemically. But the correction shown here is trivial, and works. (I can now add the DDNS key to my forward zone.) AUTHOR: Looks right to me. I'll forward the message to Andris, who maintains h2n-hp. (17) Seventh paragraph, plus other instances: Throughout the book, the reference is to "U.C. Berkeley." On the Berkeley web site, the punctuation is "UC Berkeley." Can you do a global search and replace? [239-240] Through out; The format of the $GENERATE is wrong. $GENERATE n-m $ IN CNAME $.zone It should be: $GENERATE n-m $ CNAME $.zone {273} 1st paragraph, 6th line; " For example, if the domain name foo.bar.baz had three "shuffled" IP addresses, 192.168.1.1, 192.168.1.2, and 192.1.168.3 " the last ip address should be 192.168.1.3 and not 192.1.168.3 (306), 8th paragraph (not counting code examples as paragraphs): "The first of these matches ..." should be "The second of these matches ..." (307), the third code sample is this: $ORIGIN ip6.nlab.net. \[x0042/8] IN DNAME ip6.movie.edu. this should be: $ORIGIN ip6.nlab.net. \[x42/8] IN DNAME ip6.movie.edu. (Change "0042" to "42".) (394) you list the PTR record for 192.249.249.3 as 3.49.249.192.in-addr.arpa it should be: 3.249.249.192.in-addr.arpa (525) under the zone definitions for _sites and _msdcs: zone "_sites.fx.movie.edu" { type master; file "db._udp.fx.movie.edu"; allow-update { dc }; }; zone "_msdcs.fx.movie.edu" { type master; file "db._udp.fx.movie.edu"; allow-update { dc }; }; Which of course, isn't quite right, and should be: zone "_sites.fx.movie.edu" { type master; file "db._sites.fx.movie.edu"; allow-update { dc }; }; zone "_msdcs.fx.movie.edu" { type master; file "db._msdcs.fx.movie.edu"; allow-update { dc }; };