Errata

DNS and BIND

Errata for DNS and BIND

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.

Color key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted By Date submitted Date corrected
Printed
Page 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
";
} elsif ...

to

if ($lastNorD =~ /^-d (.*)/) {
! $MasterZoneOptions{$1} .= "$tmp1
";
} 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.

Anonymous   
Printed
Page XV
URL

ftp://ftp.oreilly.com/published/oreilly/nutshell/dnsbind/dns.tar.Z

NOW READS:
ftp://ftp.oreilly.com/published/oreilly/nutshell/dnsbind/

Anonymous    Mar 01, 2004
Printed
Page ...
four bits of the address."

"four bits" HAS BEEN CHANGED to "sixteen bits"

Anonymous    Mar 01, 2004
Printed
Page INDEX
(Change applied to print version of book ONLY)

An entry for the $GENERATE control statement, described on pp. 237-240, has been added to the index.

Anonymous    Mar 01, 2004
Printed
Page 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?

Anonymous   
Printed
Page 60
In SOA example, last line

1h ) ; Negative caching TTL of 1 day

Comment NOW READS:
"Negative caching TTL of 1 hour

Anonymous    Mar 01, 2004
Printed
Page 66
First example

"... al.robocop.movie.edu.("

NOW READS:
"... al.robocop.movie.edu. ("

Anonymous    Mar 01, 2004
Printed
Page 70
second last line

file "db.movie";

NOW READS:
file "db.movie.edu";

Anonymous    Mar 01, 2004
Printed
Page 86
Roughly half way down page

"then the modified line looks like this:
secondary movie.edu 192.249.249.3 db.movie.edu "

NOW READS:
"then the modified line looks like this:
secondary movie.edu 192.249.249.3 bak.movie.edu "

Anonymous    Mar 01, 2004
Printed
Page 87
BIND 8 or 9 configuration example;file substatement of zone "253.253.192.in-addr.arpa" statement

file "db.192.253.253";

NOW READS:
file "bak.192.253.253";

Anonymous    Mar 01, 2004
Printed
Page 89
1st example, last line

"Negative caching TTL of 1 day"

NOW READS:
"Negative caching TTL of 1 hour"

Anonymous    Mar 01, 2004
Printed
Page 98
3rd paragraph, 2nd line

"The mailer of ruby.oreilly.com then tries to forward the mail on to ora.reilly.com,..."

NOW READS:
"The mailer of ruby.oreilly.com then tries to forward the mail on to ora.oreilly.com,..."

Anonymous    Mar 01, 2004
Printed
Page 237
$GENERATE statement example

$GENERATE 200-207 $.1.15.in-addr.arpa. 86400 IN NS ns-1.cns.hp.com.
$GENERATE 200-207 $.1.15.in-addr.arpa. 86400 IN NS ns-1.cns.hp.com.

NOW READS:
$GENERATE 200-207 $.1.15.in-addr.arpa. 86400 IN NS ns-1.cns.hp.com.
$GENERATE 200-207 $.1.15.in-addr.arpa. 86400 IN NS ns-2.cns.hp.com.

Anonymous    Mar 01, 2004
Printed
Page 238
2nd paragraph

$GENERATE 0-63 $.254.253.192.in-addr.arpa 86400 IN NS ns1.foo.com.
$GENERATE 0-63 $.254.253.192.in-addr.arpa 86400 IN NS ns2.foo.com.

NOW READS:
$GENERATE 0-63 $.254.253.192.in-addr.arpa. 86400 IN NS ns1.foo.com.
$GENERATE 0-63 $.254.253.192.in-addr.arpa. 86400 IN NS ns2.foo.com.

Anonymous    Mar 01, 2004
Printed
Page 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

Anonymous   
Printed
Page 252
2nd last paragraph;usage for "prereq nxrrset"

NOW READS:
prereq nxrrset domain name type

Also, the usage for "prereq nxdomain" command at the top of page 253

NOW READS:
prereq nxdomain domain name

Anonymous    Mar 01, 2004
Printed
Page 258

reads:

grant identity wildcard fx.movie.edu:

NOW READS:
grant identity wildcard *.fx.movie.edu

Anonymous    Mar 01, 2004
Printed
Page 272
named.conf, view external, zone "in-addr.arpa"

zone "254.254.192.in-addr.arpa" {

NOW READS:
zone "254.253.192.in-addr.arpa" {

Anonymous    Mar 01, 2004
Printed
Page 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

Anonymous   
Printed
Page 296
second paragraph

"The first group of hex digits [...] represents the most significant

Anonymous    Mar 01, 2004
Printed
Page 297
last paragraph

"... followed by three reserved bits (set to zero), then ...".

NOW READS:
To "... followed by eight reserved bits (set to zero), then ...".

Anonymous    Mar 01, 2004
Printed
Page 306
8th paragraph (not counting code examples as paragraphs)

"The first of these matches ..."
should be
"The second of these matches ..."


Anonymous   
Printed
Page 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".)

Anonymous   
Printed
Page 327
1st paragraph;^M

"The zones movie.edu and 249.249.192.in-addr.arpa are defined identically in both zones"

NOW READS:
"The zones movie.edu and 249.249.192.in-addr.arpa are defined identically in both views".

Anonymous    Mar 01, 2004
Printed
Page 365
3rd paragraph

In the April 2001 printing, the resulting file from the Bind 9 command:
# dnssec-signkey keyset-movie.edu Kedu.+001+65398.private

"movie.edu.signedkey"

NOW READS:
"signedkey-movie.edu."

Anonymous    Mar 01, 2004
Printed
Page 375
2nd paragraph, 2nd line, 1st character

right after 'dig' the format of the opening parenthesis HAS BEEN CHANGED from italic to regular body font.

Anonymous    Mar 01, 2004
Printed
Page 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

Anonymous   
Printed
Page 400
4th paragraph

"The flags tells us a bit more about the response."

should read:

"The flags tell us a bit more about the response."

Anonymous    Jul 01, 2001
Printed
Page 411
2nd paragraph

NOW READS:
"Line 1 shows the version of BIND..." and "Line 2 tells us we're using only one CPU...

Anonymous    Mar 01, 2004
Printed
Page 421
example code; the second (nested) if statement

NOW READS:
if($name) {s/$1/$name/};

Anonymous    Mar 01, 2004
Printed
Page 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 };
};

Anonymous   
Printed
Page 525

The third zone statement should read:

zone "_sites.fx.movie.edu" {
type master;
file "db._sites.fx.movie.edu";
allow-update { dc; };x
};

The fourth zone statement should read:

zone "_msdcs.fx.movie.edu" {
type master;
file "db._msdcs.fx.movie.edu";
allow-update { dc; };
check-names ignore;
};

Anonymous    Jul 01, 2001