Difference in SOA record between master and slave?
Mark.Andrews at nominum.com
Mark.Andrews at nominum.com
Fri Feb 25 04:35:15 UTC 2000
It's a bug. The wrong variable is tested.
Mark
Index: src/bin/named/db_load.c
===================================================================
RCS file: /proj/cvs/isc/bind/src/bin/named/db_load.c,v
retrieving revision 8.98
diff -u -r8.98 db_load.c
--- src/bin/named/db_load.c 2000/02/21 21:27:41 8.98
+++ src/bin/named/db_load.c 2000/02/25 04:26:41
@@ -294,6 +294,7 @@
default_warn = 1;
clev = nlabels(in_origin);
filenames = NULL;
+ zp->z_minimum = USE_MINIMUM;
}
ttl = default_ttl;
@@ -744,7 +746,7 @@
zp->z_minimum = 0;
} else
zp->z_minimum = n;
- if (default_ttl == USE_MINIMUM)
+ if (ttl == USE_MINIMUM)
ttl = n;
n = cp - (char *)data;
if (multiline) {
@@ -752,6 +754,7 @@
buf[1] = '\0';
if (buf[0] != ')')
ERRTO("SOA \")\"");
+ multiline = 0;
endline(fp);
}
read_soa++;
@@ -973,7 +981,10 @@
case ns_t_cert:
case ns_t_sig: {
char *errmsg = NULL;
- int ret = parse_sec_rdata(buf, sizeof(buf), 0,
+ int ret;
+ if (ttl == USE_MINIMUM) /* no ttl set */
+ ttl = 0;
+ ret = parse_sec_rdata(buf, sizeof(buf), 0,
data, sizeof(data),
fp, zp, domain, ttl,
type, domain_ctx,
@@ -1024,6 +1035,8 @@
zp->z_origin);
continue;
}
+ if (ttl == USE_MINIMUM) /* no ttl set */
+ ttl = 0;
dp = savedata(class, type, (u_int32_t)ttl,
(u_char *)data, (int)n);
dp->d_zone = zp - zones;
> Hi
>
> I've discovered an interesting trick, which I am finding somewhat annoying.
> I've set up a couple of nameservers to serve 64.20.202.in-addr.arpa, and
> I'd like to have that zone delegated to them. Unfortunately, APNIC refuses
> to accept the delegation because the two servers give different answers to
> a query for the SOA record. From the intended master, I get this (note
> the TTL on the SOA record):
>
> > [richards at bones richards]$ dig @ns1.akl.adv.net.nz 64.20.202.in-addr.arpa
> in
> > soa
> >
> > ; <<>> DiG 8.2 <<>> @ns1.akl.adv.net.nz 64.20.202.in-addr.arpa in soa
> > ; (1 server found)
> > ;; res options: init recurs defnam dnsrch
> > ;; got answer:
> > ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6
> > ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4
> ;;
> > QUERY SECTION: ;; 64.20.202.in-addr.arpa, type = SOA, class = IN
> >
> > ;; ANSWER SECTION:
> > 64.20.202.in-addr.arpa. 2D IN SOA adv.net.nz. soa.adv.net.nz. (
> > 2000021800 ; serial
> > 4d4h ; refresh
> > 1H ; retry
> > 5w6d16h ; expiry
> > 4d4h ) ; minimum
> >
> >
> > ;; AUTHORITY SECTION:
> > 64.20.202.in-addr.arpa. 2D IN NS ns1.akl.adv.net.nz.
> > 64.20.202.in-addr.arpa. 2D IN NS ns2.akl.adv.net.nz.
> > 64.20.202.in-addr.arpa. 2D IN NS ns1.wlg.adv.net.nz.
> > 64.20.202.in-addr.arpa. 2D IN NS ns2.wlg.adv.net.nz.
> >
> > ;; ADDITIONAL SECTION:
> > ns1.akl.adv.net.nz. 2D IN A 202.20.64.19
> > ns2.akl.adv.net.nz. 2D IN A 202.20.64.18
> > ns1.wlg.adv.net.nz. 1H IN A 202.49.144.2
> > ns2.wlg.adv.net.nz. 1H IN A 202.49.144.3
> >
> > ;; Total query time: 1 msec
> > ;; FROM: bones.akl.adv.net.nz to SERVER: ns1.akl.adv.net.nz 202.20.64.19
> ;;
> > WHEN: Fri Feb 25 12:52:43 2000 ;; MSG SIZE sent: 40 rcvd: 234
>
>
> But I get this one from the slave (again, note the TTL of the SOA record):
>
> > [richards at bones richards]$ dig @ns2.akl.adv.net.nz 64.20.202.in-addr.arpa
> in
> > soa
> >
> > ; <<>> DiG 8.2 <<>> @ns2.akl.adv.net.nz 64.20.202.in-addr.arpa in soa
> > ; (1 server found)
> > ;; res options: init recurs defnam dnsrch
> > ;; got answer:
> > ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6
> > ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4
> ;;
> > QUERY SECTION: ;; 64.20.202.in-addr.arpa, type = SOA, class = IN
> >
> > ;; ANSWER SECTION:
> > 64.20.202.in-addr.arpa. 4d4h IN SOA adv.net.nz. soa.adv.net.nz. (
> > 2000021800 ; serial
> > 4d4h ; refresh
> > 1H ; retry
> > 5w6d16h ; expiry
> > 4d4h ) ; minimum
> >
> >
> > ;; AUTHORITY SECTION:
> > 64.20.202.in-addr.arpa. 2D IN NS ns1.akl.adv.net.nz.
> > 64.20.202.in-addr.arpa. 2D IN NS ns2.akl.adv.net.nz.
> > 64.20.202.in-addr.arpa. 2D IN NS ns1.wlg.adv.net.nz.
> > 64.20.202.in-addr.arpa. 2D IN NS ns2.wlg.adv.net.nz.
> >
> > ;; ADDITIONAL SECTION:
> > ns1.akl.adv.net.nz. 2D IN A 202.20.64.19
> > ns2.akl.adv.net.nz. 2D IN A 202.20.64.18
> > ns1.wlg.adv.net.nz. 1H IN A 202.49.144.2
> > ns2.wlg.adv.net.nz. 1H IN A 202.49.144.3
> >
> > ;; Total query time: 1 msec
> > ;; FROM: bones.akl.adv.net.nz to SERVER: ns2.akl.adv.net.nz 202.20.64.18
> ;;
> > WHEN: Fri Feb 25 12:54:16 2000 ;; MSG SIZE sent: 40 rcvd: 234
>
>
> My initial thought was that the zone file wasn't being transferred
> correctly, but that's not the case (I've pasted in both files below - from
> the master and from the slave). It looks as if ns1.akl.adv.net.nz is
> ignoring the TTL specified on the SOA record in favour of the minimum TTL
> in the SOA record itself. Is this normal?
>
> Regards
>
> Richard
>
>
> ---------- Zone file from master ----------
> $TTL 172800
>
> @ IN SOA adv.net.nz. soa.adv.net.nz. (
> 2000021800 ; serial
> 360000 ; refresh
> 3600 ; retry
> 3600000 ; expire
> 360000 ; minimum
> )
> IN NS ns1.akl.adv.net.nz.
> IN NS ns2.akl.adv.net.nz.
> IN NS ns1.wlg.adv.net.nz.
> IN NS ns2.wlg.adv.net.nz.
> 10 IN PTR scottie.akl.adv.net.nz.
> 17 IN PTR scottie.akl.adv.net.nz.
> 18 IN PTR spock.akl.adv.net.nz.
> 19 IN PTR bones.akl.adv.net.nz.
> 20 IN PTR sulu.akl.adv.net.nz.
> ---------- End master zone file ----------
>
> ---------- Zone file from slave ----------
> ; BIND version named 8.2.2-P3 Thu Nov 11 00:04:50 EST 1999
> ; BIND version root at porky.devel.redhat.com:/usr/src/bs/BUILD/bind-
> 8.2.2_P3/src/bin/named
> ; zone '64.20.202.in-addr.arpa' first transfer
> ; from 202.20.64.17:53 (local 202.20.64.18) using AXFR at Mon Feb 21
> 10:06:25 2000
> $ORIGIN 20.202.in-addr.arpa.
> 64 172800 IN SOA adv.net.nz. soa.adv.net.nz. (
> 2000021800 360000 3600 3600000 360000 )
> 172800 IN NS ns1.akl.adv.net.nz.
> 172800 IN NS ns2.akl.adv.net.nz.
> 172800 IN NS ns1.wlg.adv.net.nz.
> 172800 IN NS ns2.wlg.adv.net.nz.
> $ORIGIN 64.20.202.in-addr.arpa.
> 20 172800 IN PTR sulu.akl.adv.net.nz.
> 18 172800 IN PTR spock.akl.adv.net.nz.
> 10 172800 IN PTR scottie.akl.adv.net.nz.
> 19 172800 IN PTR bones.akl.adv.net.nz.
> 17 172800 IN PTR scottie.akl.adv.net.nz.
> ---------- End slave zone file ----------
> ------- End of forwarded message -------
>
>
--
Mark Andrews, Nominum Inc. / Internet Software Consortium
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742 INTERNET: Mark.Andrews at nominum.com
More information about the bind-users
mailing list