]> git.ipfire.org Git - thirdparty/bind9.git/commit
Populate the delegation DB from referrals answers
authorColin Vidal <colin@isc.org>
Thu, 22 Jan 2026 10:07:01 +0000 (11:07 +0100)
committerColin Vidal <colin@isc.org>
Mon, 30 Mar 2026 18:41:13 +0000 (20:41 +0200)
commitc7b75f448f4f9c6c7d46cc7be4e42d18cb9945cc
tree9c5947b0cb0cfa7d8f485cbe6f8bb3b619dfc230
parent1b5f7570844e6b2684710e657b7f4f08a491b27b
Populate the delegation DB from referrals answers

The resolver now caches NS records and their A/AAAA glues from referral
answers into the delegation database.

A new `cache_delegns()` function extracts NS names and associated glue
addresses from the authority/additional sections of a referral answer
and use those informations to build a delegation set, which is then
inserted into the delegation database.

The created delegation set contains a delegation per NS RR. If the NS RR
has matching A/AAAA RR, the delegation only store the addresses and not
the name. (Note this is technically possible to group all NS RR which
doesn't have glues into a single delegation, and the implementation can
be changed in that way in the future).

Each view has its own instance of the delegation database (they are
never shared between views), but a server restart/reload preserve the
delegation database state.
bin/named/server.c
lib/dns/include/dns/view.h
lib/dns/resolver.c
lib/dns/view.c