bind9/lib/dns
Mark Andrews 80316efdd2 Remove determinist selection of nameserver
When selecting nameserver addresses to be looked up we where
always selecting them in dnssec name order from the start of
the nameserver rrset.  This could lead to resolution failure
despite there being address that could be resolved for the
other names.  Use a random starting point when selecting which
names to lookup.

(cherry picked from commit b78052119a)
2026-02-25 10:18:46 +01:00
..
include Enforce NSEC3 record consistency 2026-02-24 17:10:52 +01:00
rdata Remove invalid REQUIRE in NSEC3 fromstruct method 2026-02-24 17:10:52 +01:00
.gitignore Add support for User Statically Defined Tracing (USDT) probes 2023-08-21 18:39:53 +02:00
acl.c Use ControlStatementsExceptControlMacros for SpaceBeforeParens 2025-08-19 08:08:23 +02:00
adb.c fetch loop detection improvements 2026-02-20 18:11:29 +01:00
badcache.c Improve the badcache cleaning by adding LRU and using RCU 2024-11-27 17:07:03 +00:00
byaddr.c Use clang-format-20 to update formatting 2025-06-25 13:32:08 +10:00
cache.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
callbacks.c add setup/commit functions to rdatacallbacks 2024-03-08 15:36:56 -08:00
catz.c Make catalog zones' entry names case-insensitive 2026-01-12 13:01:53 +00:00
client.c Fix read UAF in BIND9 dns_client_resolve() via DNAME Response 2026-02-20 19:18:30 +01:00
clientinfo.c refactor dns_clientinfo_init(); use separate function to set ECS 2023-02-07 23:48:22 -08:00
compress.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
db.c Fix formatting 2026-02-02 10:32:38 +01:00
db_p.h Rewrite the GLUE cache in QP zone database 2025-01-06 14:00:47 +01:00
dbiterator.c Implement dns_dbiterator_seek3 2025-12-11 13:53:25 +01:00
diff.c Fix formatting 2026-02-02 10:32:38 +01:00
dispatch.c Rename isc_net_getudpportrange() to isc_net_getportrange() 2026-02-20 17:02:45 +01:00
dlz.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
dns64.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
dnsrps.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
dnssec.c standardize CHECK and RETERR macros 2025-12-03 19:17:20 -08:00
dnstap.c Record query time for all dnstap responses 2026-02-06 14:40:59 +00:00
dnstap.proto Update the dnstap protobuf definition 2024-04-26 16:08:46 +03:00
ds.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
dst_api.c standardize CHECK and RETERR macros 2025-12-03 19:17:20 -08:00
dst_internal.h Minor refactor of dst code 2025-10-01 12:26:40 +00:00
dst_openssl.h Report file and line when converting OpenSSL errors 2023-04-03 12:06:04 +10:00
dst_parse.c Use isc__zero_or_more when calling isc_base64_tobuffer 2026-01-28 08:02:06 +11:00
dst_parse.h Remove TKEY Mode 2 (Diffie-Hellman) 2023-03-08 08:36:25 +01:00
dyndb.c standardize CHECK and RETERR macros 2025-12-03 19:17:20 -08:00
ecs.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
ede.c Don't copy EDE codes if source is same as destination 2025-04-02 16:42:23 +00:00
fixedname.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
forward.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
gen.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
geoip2.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
gssapi_link.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
gssapictx.c Release gnamebuf also on the error path 2026-02-06 18:36:58 +01:00
hmac_link.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
ipkeylist.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
iptable.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
journal.c standardize CHECK and RETERR macros 2025-12-03 19:17:20 -08:00
kasp.c Implement named-checkconf -k (check keys) 2025-09-29 15:13:26 +02:00
key.c Don't check DNS_KEYFLAG_NOAUTH 2025-03-24 23:52:02 -07:00
keydata.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
keymgr.c Make keymgr state machine more robust 2025-12-05 13:22:00 +01:00
keystore.c Allow keystore.c to compile on Solaris 2025-05-30 06:37:09 +00:00
keytable.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
log.c remove {root-}delegation-only 2023-03-23 12:57:01 -07:00
Makefile.am Add support for parsing DSYNC scheme mnemonics 2025-08-06 13:13:34 +10:00
master.c Fix formatting 2026-02-02 10:32:38 +01:00
masterdump.c standardize CHECK and RETERR macros 2025-12-03 19:17:20 -08:00
message.c Retry lookups with unsigned DNAME over TCP 2025-10-02 12:58:54 +02:00
name.c Optimize memory layout of core structs 2024-12-09 09:04:28 +01:00
nametree.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
ncache.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
nsec.c Drop single-use RETERR macro 2024-12-10 08:47:25 +00:00
nsec3.c Don't create NSEC3 nodes for unsigned delegations 2025-12-11 13:53:25 +01:00
nta.c Detect resolution loops between fetches 2025-11-28 09:32:53 +01:00
openssl_link.c standardize CHECK and RETERR macros 2025-12-03 19:17:20 -08:00
openssl_shim.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
openssl_shim.h Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
opensslecdsa_link.c standardize CHECK and RETERR macros 2025-12-03 19:17:20 -08:00
openssleddsa_link.c standardize CHECK and RETERR macros 2025-12-03 19:17:20 -08:00
opensslrsa_link.c standardize CHECK and RETERR macros 2025-12-03 19:17:20 -08:00
order.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
peer.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
private.c standardize CHECK and RETERR macros 2025-12-03 19:17:20 -08:00
probes.d Do not destroy IXFR journal in xfrin_end() 2023-12-20 17:21:14 +01:00
qp.c Fix dns_qpmulti_memusage() on empty dns_qpmulti_t instance 2025-09-17 14:01:44 +02:00
qp_p.h Tune min and max chunk size 2025-08-05 12:48:19 +02:00
qpcache.c Implement dns_dbiterator_seek3 2025-12-11 13:53:25 +01:00
qpcache_p.h rename qpdb to qpcache 2024-03-08 15:36:56 -08:00
qpzone.c Do not update the case on unchanged rdatasets 2026-02-24 13:04:19 +01:00
qpzone_p.h stub dns_qpmulti-based zone database implementation 2024-03-06 20:57:31 -08:00
rbt-cachedb.c standardize CHECK and RETERR macros 2025-12-03 19:17:20 -08:00
rbt-zonedb.c Fix formatting 2026-02-02 10:32:38 +01:00
rbt.c standardize CHECK and RETERR macros 2025-12-03 19:17:20 -08:00
rbtdb.c Implement dns_dbiterator_seek3 2025-12-11 13:53:25 +01:00
rbtdb_p.h Expand the usage of mark_ancient() helper functions 2025-02-03 15:53:34 +01:00
rcode.c standardize CHECK and RETERR macros 2025-12-03 19:17:20 -08:00
rdata.c standardize CHECK and RETERR macros 2025-12-03 19:17:20 -08:00
rdatalist.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
rdataset.c Move setresign to rdataset.c and rename it 2026-01-29 09:13:02 +01:00
rdatasetiter.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
rdataslab.c Remove dns_rdataset_equals as unneeded 2025-09-10 17:09:14 +10:00
remote.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
request.c Fix assertion failure when sending notify fails over UDP 2026-02-20 10:50:19 +01:00
resconf.c standardize CHECK and RETERR macros 2025-12-03 19:17:20 -08:00
resolver.c Remove determinist selection of nameserver 2026-02-25 10:18:46 +01:00
result.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
rootns.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
rpz.c RPZ canonical warning displays zone entry incorrectly 2025-09-02 23:43:40 +00:00
rriterator.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
rrl.c Use clang-format-20 to update formatting 2025-06-25 13:32:08 +10:00
sdlz.c Implement dns_dbiterator_seek3 2025-12-11 13:53:25 +01:00
skr.c Importing invalid SKR file might overflow the stack buffer 2026-02-24 18:45:41 +00:00
soa.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
ssu.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
ssu_external.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
stats.c Use clang-format-20 to update formatting 2025-06-25 13:32:08 +10:00
tests Move all the unit tests to /tests/<libname>/ 2022-05-28 14:53:02 -07:00
time.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
tkey.c standardize CHECK and RETERR macros 2025-12-03 19:17:20 -08:00
transport.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
tsig.c Prevent assertion when processing TSIG algorithm 2025-05-07 13:45:48 +02:00
tsig_p.h remove dns__tsig_algallocated() 2023-06-14 08:14:38 +00:00
ttl.c standardize CHECK and RETERR macros 2025-12-03 19:17:20 -08:00
update.c standardize CHECK and RETERR macros 2025-12-03 19:17:20 -08:00
validator.c Invalid NSEC3 can cause OOB read of the isdelegation() stack 2026-02-24 17:10:52 +01:00
view.c standardize CHECK and RETERR macros 2025-12-03 19:17:20 -08:00
xfrin.c Handle databases with no update methods 2026-02-02 10:32:38 +01:00
zone.c Don't retry notify over TCP if it could not successed 2026-02-20 10:50:19 +01:00
zone_p.h Refactor findzonekeys 2024-01-25 14:48:07 +01:00
zonekey.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
zoneverify.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
zt.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00