bind9/lib/dns
Ondřej Surý 28483b3b73
Drop in-domain NS without glue from the delegation set
Pull the dns_message_findname() lookups into cache_delegglue() and
cache_delegglue6() so each helper now owns its glue lookup and returns
the number of addresses cached.  cache_delegns() splits referrals into
two cases: in-domain (the NS name is below the delegation point) and
sibling/in-bailiwick.

An in-domain NS without glue is unresolvable by definition - the
resolver would have to ask the very server it's trying to find.  Log
"missing mandatory glue" at notice level and skip the deleg entirely
rather than leaving an unusable entry in the set.  A new
dns_delegset_freedeleg() undoes a fresh dns_delegset_allocdeleg() so
the rest of the delegation set is preserved.
2026-05-15 07:26:38 +02:00
..
include Drop in-domain NS without glue from the delegation set 2026-05-15 07:26:38 +02:00
rdata Remove remaining RFC 3445 KEY flags 2026-05-05 10:17:31 +02:00
.gitignore Add support for User Statically Defined Tracing (USDT) probes 2023-08-21 18:39:53 +02:00
acl.c switch to RETERR where it wasn't being used 2025-12-03 13:45:43 -08:00
acl_p.h Move the library init and shutdown to executables 2025-02-22 16:19:00 +01:00
adb.c Assert adb find loop-affinity invariant at lifetime entry points 2026-05-01 07:50:29 +02:00
badcache.c Apply the changes from updated set_if_not_null semantic patch 2025-10-08 17:44:50 +02:00
byaddr.c Share reverse (ARPA) domain names 2025-10-01 12:16:05 +02:00
cache.c Remove the dead dns_expire_ttl code path and deletettl stats counter 2026-03-30 21:46:44 +02:00
callbacks.c Convert all categories and modules into static lists 2024-08-20 12:50:39 +00:00
catz.c Fix a bug in catz_process_apl() 2026-05-06 19:35:23 +00:00
client.c Add switch to disable cookie checking in delv 2026-03-26 11:18:26 +11:00
clientinfo.c refactor dns_clientinfo_init(); use separate function to set ECS 2023-02-07 23:48:22 -08:00
compress.c remove the 'name_coff' parameter in dns_name_towire() 2025-02-25 12:53:25 -08:00
db.c Fix assertion failure in dns_db_findrdataset() for SIG records 2026-04-17 16:09:39 +02:00
db_p.h Make dns_glue_t private to qpzone 2026-05-11 10:22:25 +02:00
dbiterator.c Implement dns_dbiterator_seek3 2025-12-10 14:18:52 +01:00
deleg.c Drop in-domain NS without glue from the delegation set 2026-05-15 07:26:38 +02:00
diff.c Fix dropped covers field for SIG records in dns_diff_apply 2026-04-17 16:09:39 +02:00
dispatch.c Switch UDP fetches to TCP on the first response with a wrong query id 2026-05-14 15:56:18 +02:00
dlz.c Move zone set/get properties to own source file 2026-04-02 15:50:07 +02:00
dlz_p.h Move the library init and shutdown to executables 2025-02-22 16:19:00 +01:00
dns64.c switch to RETERR where it wasn't being used 2025-12-03 13:45:43 -08:00
dnssec.c Remove remaining RFC 3445 KEY flags 2026-05-05 10:17:31 +02:00
dnstap.c Take 'env' reference before async calling perform_reopen() 2026-03-18 16:10:07 +00:00
ds.c switch isc_md_type_t to a proper enum 2026-02-02 11:12:55 +03:00
dst_api.c Remove remaining RFC 3445 KEY flags 2026-05-05 10:17:31 +02:00
dst_internal.h Separate isc_hmac between pre and post OpenSSL 3.0 2026-02-02 11:50:14 +03:00
dst_openssl.h move openssl error reporting to isc/ossl_wrap 2026-02-02 11:50:14 +03:00
dst_parse.c Use isc__zero_or_more when calling isc_base64_tobuffer 2026-01-28 00:25:04 +11:00
dst_parse.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
dyndb.c Move zonemgr to own source file 2026-04-08 14:24:17 +02:00
dyndb_p.h Move the library init and shutdown to executables 2025-02-22 16:19:00 +01:00
ecs.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
ede.c add dns_message API to add EDNS options 2025-11-21 11:13:18 -08:00
fixedname.c Simplify dns_name_init() 2025-02-25 12:17:34 +01:00
forward.c Fix formatting after refactor 2025-12-10 11:28:10 +01:00
gen.c Silence "may be truncated" warnings 2025-08-04 15:38:17 +02:00
geoip2.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
gssapi_link.c Deprecate max-rsa-exponent-size, always use 4096 instead 2025-05-21 00:50:08 +02:00
gssapictx.c Release gnamebuf also on the error path 2026-02-06 18:33:44 +01:00
hmac_link.c Size HMAC key generation buffers to the maximum block size 2026-04-29 19:21:20 +02:00
ipkeylist.c Simplify dns_name_init() 2025-02-25 12:17:34 +01:00
iptable.c switch to RETERR where it wasn't being used 2025-12-03 13:45:43 -08:00
journal.c use a standard CLEANUP macro 2025-12-03 13:45:43 -08:00
kasp.c Refactor dns_kasp_attach/detach 2026-01-23 09:59:52 +00:00
key.c Remove remaining RFC 3445 KEY flags 2026-05-05 10:17:31 +02:00
keydata.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
keymgr.c Fix setting retire in dns_keymgr_key_init 2026-03-05 10:14:45 +00:00
keystore.c Fix log level bug in keystore 2026-02-25 11:34:07 +01:00
keytable.c Fix rwlock type mismatch in delete_ds() error path 2026-03-17 16:05:11 +01:00
lib.c Replace lock keyfile hashmap with lock pool 2026-03-06 12:31:24 +01:00
master.c Fix data race in async master dump/load context publication 2026-05-14 08:51:39 +02:00
masterdump.c Fix data race in async master dump/load context publication 2026-05-14 08:51:39 +02:00
meson.build Add DTRACE probes to dns_delegdb 2026-04-20 13:14:19 +02:00
message.c Apply the dns_rdataset_cleanup patch through the codebase 2025-12-17 15:19:55 +01:00
name.c dns_name_totext() can now resize dynamic buffers 2025-12-09 12:26:30 -08:00
nametree.c Fix formatting after refactor 2025-12-10 11:28:10 +01:00
ncache.c dns_rdataset_* const parameters 2026-01-30 19:33:42 +01:00
notify.c Remove unneccesary functions 2026-04-02 15:50:09 +02:00
nsec.c Lower case the NSEC next owner name when signing 2026-01-23 11:52:59 +00:00
nsec3.c Change NSEC3 and NSEC3PARAM struct fields to use isc_region_t 2026-04-02 16:53:18 +02:00
nta.c Hold a reference to the NTA table for the lifetime of each NTA 2026-05-05 22:27:39 +02:00
openssl_link.c use a standard CLEANUP macro 2025-12-03 13:45:43 -08:00
openssl_shim.h Move the dst__openssl_toresult to isc_tls unit 2024-08-08 11:59:41 +02:00
opensslecdsa_link.c expose isc__crypto_md in isc/ossl_wrap.h 2026-02-02 11:50:14 +03:00
openssleddsa_link.c cleanup unused header in isc/md.h 2026-02-02 11:50:14 +03:00
opensslrsa_link.c Reject RSA DNSKEYs with degenerate modulus at parse time 2026-04-30 15:50:32 +02:00
order.c Use ControlStatementsExceptControlMacros for SpaceBeforeParens 2025-08-19 07:58:33 +02:00
peer.c switch to RETERR where it wasn't being used 2025-12-03 13:45:43 -08:00
private.c Apply the dns_rdataset_cleanup patch through the codebase 2025-12-17 15:19:55 +01:00
probes-dns.d Add DTRACE probes to dns_delegdb 2026-04-20 13:14:19 +02:00
qp.c Fix formatting after refactor 2025-12-10 11:28:10 +01:00
qp_p.h Fix formatting after refactor 2025-12-10 11:28:10 +01:00
qpcache.c Remove the dead dns_expire_ttl code path and deletettl stats counter 2026-03-30 21:46:44 +02:00
qpcache_p.h Remove the heap memory context from QPcache 2026-03-30 21:46:44 +02:00
qpzone.c Clean up comments 2026-05-11 10:28:20 +02:00
qpzone_p.h Delay binding glue to rdataset 2026-05-11 10:28:20 +02:00
rcode.c standardize CHECK and RETERR macros 2025-12-03 13:26:28 -08:00
rdata.c use a standard CLEANUP macro 2025-12-03 13:45:43 -08:00
rdatalist.c dns_rdataset_* const parameters 2026-01-30 19:33:42 +01:00
rdataset.c dns_rdataset_* const parameters 2026-01-30 19:33:42 +01:00
rdatasetiter.c add DNS_DBITERATOR_FOREACH and DNS_RDATASETITER_FOREACH 2025-05-27 21:08:09 -07:00
rdataslab.c Reject oversized RRsets at slab/vec construction 2026-05-05 18:14:40 +02:00
rdataslab_p.h Use ISC_UxxTOyy_BE macros for {peek,get,put}_uint16 macros 2025-08-18 12:36:47 +02:00
rdatavec.c Delay binding glue to rdataset 2026-05-11 10:28:20 +02:00
rdatavec_p.h Fix formatting 2025-12-10 12:18:34 +01:00
remote.c simplify code around isc_mem_put() and isc_mem_free() 2025-05-28 17:22:32 -07:00
request.c Use sequential per-dispatch message IDs for TCP 2026-04-14 17:48:21 +02:00
resconf.c use a standard CLEANUP macro 2025-12-03 13:45:43 -08:00
resolver.c Drop in-domain NS without glue from the delegation set 2026-05-15 07:26:38 +02:00
result.c clean up result codes that are never used 2025-01-23 15:54:57 -08:00
rootns.c Rename view->hints to view->rootdb and rearm priming 2026-04-16 13:39:18 +02:00
rpz.c Fix a bug in rpz.c:del_name() 2026-03-14 13:01:55 +01:00
rriterator.c Apply the dns_rdataset_cleanup patch through the codebase 2025-12-17 15:19:55 +01:00
rrl.c Use a keyed hash for the RRL bucket table 2026-05-04 13:39:01 +02:00
sdlz.c dns_rdataset_* const parameters 2026-01-30 19:33:42 +01:00
skr.c Importing invalid SKR file might overflow the stack buffer 2026-02-24 19:44:57 +01:00
soa.c Simplify dns_name_init() 2025-02-25 12:17:34 +01:00
ssu.c Use ControlStatementsExceptControlMacros for SpaceBeforeParens 2025-08-19 07:58:33 +02:00
ssu_external.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
stats.c Add low contention stats counter 2026-03-26 10:19:25 +01:00
tests Move all the unit tests to /tests/<libname>/ 2022-05-28 14:53:02 -07:00
time.c Use clang-format-22 to update formatting 2026-03-04 10:56:41 +01:00
tkey.c Fix GSS context leak on error paths in process_gsstkey() 2026-04-01 07:04:40 +02:00
transport.c switch to CHECK where it wasn't being used 2025-12-03 13:45:42 -08:00
tsig.c Remove remaining RFC 3445 KEY flags 2026-05-05 10:17:31 +02:00
tsig_p.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
ttl.c standardize CHECK and RETERR macros 2025-12-03 13:26:28 -08:00
unreachcache.c Change the loopmgr to be singleton 2025-07-23 22:44:16 +02:00
update.c Move zone set/get properties to own source file 2026-04-02 15:50:07 +02:00
validator.c check for val->name == NULL when adding EDE text 2026-05-06 20:47:43 +00:00
view.c Rename view->hints to view->rootdb and rearm priming 2026-04-16 13:39:18 +02:00
xfrin.c Implement seamless TCP connection reuse in dns_dispatch 2026-04-14 17:48:13 +02:00
zone.c Remove remaining RFC 3445 KEY flags 2026-05-05 10:17:31 +02:00
zone_p.h Rename private zone functions 2026-04-08 14:24:17 +02:00
zonefetch.c Guard parent-NS walk against running off the root 2026-05-01 08:18:36 +02:00
zonemgr.c Move dns_zone_next/dns_zone_first to zonemgr 2026-04-08 14:27:06 +02:00
zoneproperties.c Fix case-sensitivity bug in zone filename token-parsing 2026-04-16 11:37:02 +00:00
zoneverify.c Use the correct maximal compressed bit map buffer size 2026-04-10 15:45:01 +10:00
zt.c Move zone set/get properties to own source file 2026-04-02 15:50:07 +02:00