Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

IXFR and lost (?) updates of a TTL

5 views
Skip to first unread message

Stephane Bortzmeyer

unread,
Apr 24, 2006, 6:16:57 AM4/24/06
to
We experienced a curious BIND bug on slave machines which use IXFR to
transfer from a BIND master. The TTL on the NS records were
changed. While the master had:

$TTL 172800
wf IN SOA nsmaster.nic.fr. hostmaster.nic.fr. (
2006022800
3600
1800
3600000
5400
)
NS a.ext.nic.fr.
NS a.nic.fr.
NS b.ext.nic.fr.
NS b.nic.fr.
NS c.nic.fr.
NS d.ext.nic.fr.
NS e.ext.nic.fr.
NS e.nic.fr.

The IXFR slaves had:

$ORIGIN .
$TTL 172800 ; 2 days
wf IN SOA nsmaster.nic.fr. hostmaster.nic.fr. (
2006022800 ; serial
3600 ; refresh (1 hour)
1800 ; retry (30 minutes)
3600000 ; expire (5 weeks 6 days 16 hours)
5400 ; minimum (1 hour 30 minutes)
)
$TTL 345600 ; 4 days
NS a.ext.nic.fr.
NS a.nic.fr.
NS b.ext.nic.fr.
NS b.nic.fr.
NS c.nic.fr.
NS d.ext.nic.fr.
NS e.ext.nic.fr.
NS e.nic.fr.
[Note the spurious $TTL.]

'rndc retransfer $ZONE' fixed the problem but I wonder if it may comes
back. Can ".jnl" files get corrupted? Any tool to scrutinize them?

The slaves which used AXFR (like a nsd box) were not affected.


Stefan Puiu

unread,
Apr 24, 2006, 6:32:38 AM4/24/06
to
On 4/24/06, Stephane Bortzmeyer <bortz...@nic.fr> wrote:
> 'rndc retransfer $ZONE' fixed the problem but I wonder if it may comes
> back. Can ".jnl" files get corrupted? Any tool to scrutinize them?

For checking journal files, you could try out journalprint under
bin/tests in the BIND source. At least on my machine it seems I have
to cd to that dir and 'make journalprint' (I have an unpacked BIND
9.3.2).

At least that's what I was using on a previous project, and I found it
pretty handy. It probably won't build under Windows - we needed to
work with that, too, but I had written a simple program that would
read in the journal anyway, and we'd use that on Win32 and
journalprint on UNIX.

Stefan.


Stephane Bortzmeyer

unread,
Apr 24, 2006, 6:45:34 AM4/24/06
to
On Mon, Apr 24, 2006 at 01:32:38PM +0300,
Stefan Puiu <stefa...@gmail.com> wrote
a message of 16 lines which said:

> For checking journal files, you could try out journalprint under
> bin/tests in the BIND source. At least on my machine it seems I have
> to cd to that dir and 'make journalprint'

Great! Very handy, indeed, thanks.


Stephane Bortzmeyer

unread,
Apr 24, 2006, 9:49:08 AM4/24/06
to
On Mon, Apr 24, 2006 at 12:16:57PM +0200,
Stephane Bortzmeyer <bortz...@nic.fr> wrote
a message of 48 lines which said:

> We experienced a curious BIND bug on slave machines which use IXFR to
> transfer from a BIND master. The TTL on the NS records were
> changed. While the master had:

Well, thanks to Jean-Philippe Pick and Stefan Puiu, we can now
reproduce the bug :-)

If, on the master, you just change the TTL of a RRset, this change is
not reflected in the journal file (as displayed by journalprint) and
obviously not propagated to IXFR clients (AXFR clients - and regular
DNS clients like dig - see the new TTL).

Our master is 9.3.1.


Chris Thompson

unread,
Apr 24, 2006, 12:31:28 PM4/24/06
to

Could this be:

1855. [bug] ixfr-from-differences was failing to detect changes
of ttl due to dns_diff_subtract() was ignoring the ttl
of records. [RT #14616]

fixed in 9.3.2? Your original post doesn't make it obvious whether you are
using ixfr-from-differences or not.

In any case, experiments with 9.3.2 seem to show that it constructs correct
IXFRs from changes of TTL (only), whether that is done via dynamic update
or via ixfr-from-differences.

--
Chris Thompson
Email: ce...@cam.ac.uk


Stephane Bortzmeyer

unread,
Apr 25, 2006, 3:13:36 AM4/25/06
to
On Mon, Apr 24, 2006 at 05:31:28PM +0100,
Chris Thompson <ce...@hermes.cam.ac.uk> wrote
a message of 36 lines which said:

> Could this be:

It certainly looks so. Thanks for the changelog-digging.


Stephane Bortzmeyer

unread,
Apr 25, 2006, 9:38:36 AM4/25/06
to
On Mon, Apr 24, 2006 at 05:31:28PM +0100,
Chris Thompson <ce...@hermes.cam.ac.uk> wrote
a message of 36 lines which said:

> 1855. [bug] ixfr-from-differences was failing to detect changes
> of ttl due to dns_diff_subtract() was ignoring the
> ttl
> of records. [RT #14616]
>
> fixed in 9.3.2?

Indeed, upgrading to 9.3.2 solved the problem (IXFR seems to trigger
interesting bugs). Thanks.

The journal file now shows "del" and subsequent "add" even if you just
change the TTLs.


Stefan Puiu

unread,
Apr 26, 2006, 2:36:01 AM4/26/06
to
On 4/25/06, Stephane Bortzmeyer <bortz...@nic.fr> wrote:
>
> The journal file now shows "del" and subsequent "add" even if you just
> change the TTLs.

IIIRc, that's what happens when you change any part of an RR - I can't
think of a way (using DDNS) to specify that a record was changed
without deleting the old one and adding the modified one. It also
happens when you change fields in the SOA - that's the most minimal
journal entry, I guess.

Stefan.

>
>
>


0 new messages