bind9/lib/dns
Ondřej Surý 9596a03d21 Reject an RRSIG that covers a signature type
An RRSIG whose Type-Covered field is RRSIG is not a meta-type, so it
passed the message parser, and for an insecure domain the resolver
cached it as a standalone signature. The QP cache pairs every RRSIG
header with the non-signature header it covers and never expects the
covered type to itself be a signature, so a signature covering a
signature broke that invariant and aborted named on a crafted response.
Reject the record in the parser, and tighten the cache precondition so
a positive signature header must cover a non-signature type.
2026-07-02 13:26:48 +02:00
..
include Add DNS_PRIVATE_BUFFERSIZE and use it 2026-07-02 10:08:52 +10:00
rdata Consume the preference before reading the locator in NID/L64/L32 tostruct 2026-07-02 12:16:27 +02:00
.gitignore Add support for User Statically Defined Tracing (USDT) probes 2023-08-21 18:39:53 +02:00
acl.c Replace void* data pointers with match enum in radix nodes 2026-07-01 06:42:09 +02:00
acl_p.h Move the library init and shutdown to executables 2025-02-22 16:19:00 +01:00
adb.c Disable UPDATE and NOTIFY for non-IN classes 2026-05-07 13:32:15 +02:00
badcache.c Fix use-after-free when destroying the bad and unreachable caches 2026-06-04 15:54:21 +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 Replace the shared work pool with per-loop, per-lane worker threads 2026-06-17 19:07:08 +02: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 Free the slabheader proofs in its destructor 2026-06-22 13:45:05 +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 Introduce min/max TTL bounds for delegations 2026-07-01 08:40:05 +02:00
diff.c Remove name boundary optimization 2026-05-29 09:50:11 +02:00
dispatch.c Add the tcp-reuse-timeout option 2026-06-24 13:52:46 +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 Fix spelling typos in comments and code 2026-06-01 16:58:16 +02:00
dnssec.c Remove CDs/CDNSKEY records on reconfig 2026-06-19 08:34:54 +00:00
dnstap.c validate query and response time nanosecs when parsing dnstap 2026-06-30 12:08:29 +03:00
ds.c switch isc_md_type_t to a proper enum 2026-02-02 11:12:55 +03:00
dst_api.c Replace u_char remnants with uint8_t 2026-07-01 08:04:48 +02:00
dst_internal.h Enforce strict RSA DNSKEY shape during DNSSEC validation 2026-06-08 18:00:27 +02: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 GeoIP2 metro and metrocode 2026-06-18 07:23:31 +02:00
gssapi_link.c Deprecate max-rsa-exponent-size, always use 4096 instead 2025-05-21 00:50:08 +02:00
gssapictx.c Check GSS_C_REPLAY_FLAG in client-side ret_flags validation 2026-05-07 13:32:15 +02: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 Replace void* data pointers with match enum in radix nodes 2026-07-01 06:42:09 +02: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 Serialize zone maintenance requests 2026-06-30 12:36:46 +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 Replace the shared work pool with per-loop, per-lane worker threads 2026-06-17 19:07:08 +02:00
masterdump.c Remove the ANCIENT slabheader attribute and statistics counter 2026-06-22 13:45:18 +02:00
meson.build Add DTrace support for resolver queries 2026-06-04 13:55:56 +02:00
message.c Reject an RRSIG that covers a signature type 2026-07-02 13:26:48 +02:00
name.c Fix spelling typos in comments and code 2026-06-01 16:58:16 +02:00
nametree.c Fix formatting after refactor 2025-12-10 11:28:10 +01:00
ncache.c Check for secure data before caching CD=1 NXDOMAIN 2026-07-01 23:56:50 -07:00
notify.c Limit the number of addresses returned per ADB find 2026-05-07 13:32:15 +02:00
nsec.c Check that an NSEC signer is at or above the name to be validated 2026-06-24 21:03:45 +00:00
nsec3.c Add DNS_PRIVATE_BUFFERSIZE and use it 2026-07-02 10:08:52 +10: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 Enforce strict RSA DNSKEY shape during DNSSEC validation 2026-06-08 18:00:27 +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 Generate Ed25519/Ed448 keys via PKCS#11 when a label is set 2026-05-26 11:18:56 +00:00
opensslrsa_link.c Enforce strict RSA DNSKEY shape during DNSSEC validation 2026-06-08 18:00:27 +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 support for resolver queries 2026-06-04 13:55:56 +02:00
qp.c Fix spelling typos in comments and code 2026-06-01 16:58:16 +02:00
qp_p.h Fix stdc_count_zeros/stdc_count_ones polyfill mismatch 2026-06-02 10:18:13 +02:00
qpcache.c Reject an RRSIG that covers a signature type 2026-07-02 13:26:48 +02:00
qpcache_p.h Remove the heap memory context from QPcache 2026-03-30 21:46:44 +02:00
qpzone.c Remove dead code warnings found by scan-build 2026-06-29 10:00:17 +00: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 Small update to patch 2026-06-29 10:00:17 +00:00
rdataslab_p.h Remove the ANCIENT slabheader attribute and statistics counter 2026-06-22 13:45:18 +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 Check for secure data before caching CD=1 NXDOMAIN 2026-07-01 23:56:50 -07: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 Replace the shared work pool with per-loop, per-lane worker threads 2026-06-17 19:07:08 +02:00
rriterator.c Apply the dns_rdataset_cleanup patch through the codebase 2025-12-17 15:19:55 +01:00
rrl.c Fix spelling typos in comments and code 2026-06-01 16:58:16 +02:00
sdlz.c dns_rdataset_* const parameters 2026-01-30 19:33:42 +01:00
skr.c Replace u_char remnants with uint8_t 2026-07-01 08:04:48 +02: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 Remove the ANCIENT slabheader attribute and statistics counter 2026-06-22 13:45:18 +02: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 Merge tag 'v9.21.22' 2026-05-20 10:26:28 +00:00
transport.c switch to CHECK where it wasn't being used 2025-12-03 13:45:42 -08:00
tsig.c Use SIEVE for TSIG generated-key LRU 2026-06-16 14:40:49 +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 Fix use-after-free when destroying the bad and unreachable caches 2026-06-04 15:54:21 +02:00
update.c Stop leaking DNSSEC keys past the zone key limit 2026-07-01 16:45:56 +10:00
validator.c Check that an NSEC signer is at or above the name to be validated 2026-06-24 21:03:45 +00:00
view.c Disallow configuration of user-defined non-IN class views 2026-06-08 17:50:15 +02:00
xfrin.c Replace the shared work pool with per-loop, per-lane worker threads 2026-06-17 19:07:08 +02:00
zone.c Split inline sync state into a separate struct 2026-06-30 12:36:46 +00:00
zone_p.h Split inline sync state into a separate struct 2026-06-30 12:36:46 +00:00
zonefetch.c Guard parent-NS walk against running off the root 2026-05-01 08:18:36 +02:00
zonemgr.c Refactor zone timer time handling 2026-06-30 12:36:46 +00:00
zoneproperties.c Refactor zone timer time handling 2026-06-30 12:36:46 +00:00
zoneverify.c Check wildcard signer and NOQNAME signer match 2026-06-18 10:01:29 -07:00
zt.c Move zone set/get properties to own source file 2026-04-02 15:50:07 +02:00