]> git.ipfire.org Git - thirdparty/bind9.git/commit
Do not add glues from different parent in delegdb
authorColin Vidal <colin@isc.org>
Fri, 17 Apr 2026 11:09:56 +0000 (13:09 +0200)
committerColin Vidal <colin@isc.org>
Tue, 28 Apr 2026 18:17:39 +0000 (19:17 +0100)
commitaeee4c1c1d0b1abf431556a465e4c49fb23ca4e0
tree415ba52257b82c0e09dadbe8f9b265c82d281eab
parentd1e51f96bf845c7eb050fa5a1e67987d6688c4e3
Do not add glues from different parent in delegdb

When processing a referral, the `cache_delegns()` function was accepting
glues from a different parent. For instance:

```
AUTHORITY
test.example. NS ns.test.example.
test.example. NS ns.foo.example.
test.example. NS ns.bar.

ADDITIONAL
ns.bar. A 1.2.3.4
ns.foo.example. A 5.6.7.8
ns.test.example. A 9.8.7.6
```

In such situation, only the glues for `ns.foo.example.` and
`ns.test.example.` should be used, and the glue from `ns.bar.` should be
ignored as this is not either a sub-domain or a sibling domain, the
parent is different (`bar.` instead of `example.`). This is now fixed.

Sibling glue and cyclic sibling glues are defined in RFC 9471 section
2.2 and section 2.3.
lib/dns/resolver.c