bind9/lib/dns
Colin Vidal 4aedf7e9dd
Do not resend after BADCOOKIE answer on TCP
When an upstream server answers BADCOOKIE, no matter the transport used,
the resolver eventually resends the query using TCP. However, if the
upstream server responds with BADCOOKIE again over TCP, the resolver
would keep resending until the maximum query count is reached.

This is now fixed by stopping resending once the query has already been
sent over TCP.
2026-05-07 13:32:15 +02:00
..
include Remove remaining RFC 3445 KEY flags 2026-05-05 10:17:31 +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 Remove node and db pointer from dns_rdataset_t.vec 2026-03-31 16:22:56 +02:00
dbiterator.c Implement dns_dbiterator_seek3 2025-12-10 14:18:52 +01:00
deleg.c Add DTRACE probes to dns_delegdb 2026-04-20 13:14:19 +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 Include disptype and transport in dispatch hash key 2026-04-14 17:48:24 +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 Drop unused DNS_MASTER_NOINCLUDE and warn about untrusted zone text 2026-04-29 15:08:20 +02:00
masterdump.c Dispatch async work jobs from the correct loop 2026-03-14 06:32:54 +01: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 Fix a stack use-after-free in qpzone 2026-05-05 23:19:30 +00:00
qpzone_p.h Replace per-zone lock buckets with global buckets 2025-07-09 15:27:38 +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 Reject oversized RRsets at slab/vec construction 2026-05-05 18:14:40 +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 Do not resend after BADCOOKIE answer on TCP 2026-05-07 13:32:15 +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