BIND 8.2.7 master ixfr to 9.2.2 slave

Mike Mitchell Mike.Mitchell at sas.com
Fri Apr 29 14:16:11 UTC 2005


Mayer () gis ! Net writes:

> Don't use IXFR on BIND 8. It never quite worked right and it got
> rewritten
> 3 times. It works correctly in BIND 9.

> Danny

That response is similar to

Patient:  Doctor, it hurts when I do this.
Doctor:   Don't do it.

I'll admit that their might be bugs in BIND 8's implementation
of IXFR, but they shouldn't cause BIND 9 to blow away it's zone
information.  This smells like a small bug in BIND 8 tickling
a large bug in BIND 9.

I've diff'd the bin/named/ns_ixfr.c and bin/named/ns_xfr.c code
between 8.2.7 and 8.4.6 and the only change of significance I
saw was the code sequence "db_freedata(rp->r_dp); rp->r_dp =3D NULL;"
in 8.2.7 was replaced in 8.4.6 with "db_detach(&rp->r_dp);".
"db_detach()" maintains a reference count to the data and calls
"db_freedata()" when the count reaches zero.  It also sets the
pointer to NULL, so it's equivalent to the old "db_freedata(rp->rdp);
rp->rdp =3D NULL;" sequence.

The other changes are minor portability changes and support for IPv6,
With the exception of the bug fix for bug #1490.  That bug fix
(which I wrote) only affects truncating the IXFR log when it
exceeds maximum size, not responding to IXFR requests.

It looks to me like the bug in 8.2.7 (if there is one) is still
present in 8.4.6, and would therefore affect bind 9.2.2 slaves.
My question is if the bug in 9.2.2 has been fixed in 9.2.5.

Mike Mitchell
Mike.Mitchell at sas.com



More information about the bind-users mailing list