bind9/lib/dns
Aram Sargsyan 716b936045 Implement sig0key-checks-limit and sig0message-checks-limit
Previously a hard-coded limitation of maximum two key or message
verification checks were introduced when checking the message's
SIG(0) signature. It was done in order to protect against possible
DoS attacks. The logic behind choosing the number two was that more
than one key should only be required only during key rotations, and
in that case two keys are enough. But later it became apparent that
there are other use cases too where even more keys are required, see
issue number #5050 in GitLab.

This change introduces two new configuration options for the views,
sig0key-checks-limit and sig0message-checks-limit, which define how
many keys are allowed to be checked to find a matching key, and how
many message verifications are allowed to take place once a matching
key has been found. The latter protects against expensive cryptographic
operations when there are keys with colliding tags and algorithm
numbers, with default being 2, and the former protects against a bit
less expensive key parsing operations and defaults to 16.
2025-02-20 13:35:14 +00:00
..
include Implement sig0key-checks-limit and sig0message-checks-limit 2025-02-20 13:35:14 +00:00
rdata Fix a bug in generic_totext_in_svcb() 2025-02-17 17:33:43 +00:00
.gitignore Add support for User Statically Defined Tracing (USDT) probes 2023-08-21 18:39:53 +02:00
acl.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
adb.c Set PENDINGOK if STARTATZONE is set 2025-02-03 00:24:34 +00:00
badcache.c Improve the badcache cleaning by adding LRU and using RCU 2024-11-27 17:44:53 +01:00
byaddr.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
cache.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
callbacks.c Convert all categories and modules into static lists 2024-08-20 12:50:39 +00:00
catz.c clean up uses of ISC_R_NOMEMORY 2025-01-23 15:54:57 -08:00
client.c Split and simplify the use of EDE list implementation 2025-01-30 11:52:53 +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 12:27:22 +01:00
db.c use more generic log module name for 'logtoomanyrecords' 2024-11-26 04:06:58 +00:00
db_p.h Remove db_nodelock_t in favor of reference counted qpdb 2025-01-30 16:43:02 +01:00
dbiterator.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
diff.c Incrementally apply AXFR transfer 2024-11-22 15:00:55 +01:00
dispatch.c Use a suitable response in tcp_connected() when initiating a read 2025-01-22 13:40:45 +00:00
dlz.c clean up uses of ISC_R_NOMEMORY 2025-01-23 15:54:57 -08:00
dns64.c clean up uses of ISC_R_NOMEMORY 2025-01-23 15:54:57 -08:00
dnssec.c dnssec-signzone retain signature if key is offline 2025-01-23 09:43:07 +00:00
dnstap.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
dnstap.proto Update the dnstap protobuf definition 2024-04-26 16:08:46 +03:00
ds.c clean up uses of ISC_R_NOMEMORY 2025-01-23 15:54:57 -08:00
dst_api.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
dst_internal.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
dst_openssl.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
dst_parse.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
dst_parse.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
dyndb.c clean up uses of ISC_R_NOMEMORY 2025-01-23 15:54:57 -08:00
ecs.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
ede.c detect dup EDE with bitmap and store next pos 2025-01-30 11:52:53 +01:00
fixedname.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
forward.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
gen.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
geoip2.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
gssapi_link.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
gssapictx.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
hmac_link.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
ipkeylist.c clean up uses of ISC_R_NOMEMORY 2025-01-23 15:54:57 -08:00
iptable.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
journal.c clean up uses of ISC_R_NOMEMORY 2025-01-23 15:54:57 -08:00
kasp.c clean up uses of ISC_R_NOMEMORY 2025-01-23 15:54:57 -08:00
key.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
keydata.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
keymgr.c Fix possible truncation in dns_keymgr_status() 2025-01-23 09:31:00 +01:00
keystore.c clean up uses of ISC_R_NOMEMORY 2025-01-23 15:54:57 -08:00
keytable.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
Makefile.am Split and simplify the use of EDE list implementation 2025-01-30 11:52:53 +01:00
master.c clean up uses of ISC_R_NOMEMORY 2025-01-23 15:54:57 -08:00
masterdump.c Print the expiration time of the stale records (not ancient) 2025-02-03 15:47:06 +01:00
message.c Implement sig0key-checks-limit and sig0message-checks-limit 2025-02-20 13:35:14 +00:00
name.c Optimize memory layout of core structs 2024-11-27 16:04:25 +01:00
nametree.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
ncache.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
nsec.c Drop single-use RETERR macro 2024-12-10 08:46:22 +00:00
nsec3.c dns_nsec3_addnsec3() can fail when iterating back 2025-01-09 17:04:08 -08:00
nta.c Split and simplify the use of EDE list implementation 2025-01-30 11:52:53 +01:00
openssl_link.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
openssl_shim.h Move the dst__openssl_toresult to isc_tls unit 2024-08-08 11:59:41 +02:00
opensslecdsa_link.c disable deterministic ecdsa for fips builds 2024-12-09 10:33:01 +00:00
openssleddsa_link.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
opensslrsa_link.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
order.c clean up uses of ISC_R_NOMEMORY 2025-01-23 15:54:57 -08:00
peer.c clean up uses of ISC_R_NOMEMORY 2025-01-23 15:54:57 -08:00
private.c Apply more SET_IF_NOT_NULL() changes 2024-12-13 13:52:52 +01:00
probes.d Do not destroy IXFR journal in xfrin_end() 2023-12-20 17:21:14 +01:00
qp.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
qp_p.h Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
qpcache.c Remove the "raw" version of the dns_slabheader API 2025-02-19 15:00:15 -08:00
qpcache_p.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
qpzone.c dns_slabheader_fromrdataset() -> dns_rdataset_getheader() 2025-02-19 14:58:32 -08:00
qpzone_p.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
rcode.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
rdata.c Parse the URI template and check for a dns variable 2024-11-26 12:38:49 +11:00
rdatalist.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
rdataset.c Check whether a rejected rrset is different 2025-02-19 17:25:20 -08:00
rdatasetiter.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
rdataslab.c Check whether a rejected rrset is different 2025-02-19 17:25:20 -08:00
remote.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
request.c Separate the connect and the read timeouts in dispatch 2025-01-22 11:57:52 +00:00
resconf.c Remove artificial search limit from libirs 2024-12-10 00:51:56 +00:00
resolver.c Check whether a rejected rrset is different 2025-02-19 17:25:20 -08:00
result.c clean up result codes that are never used 2025-01-23 15:54:57 -08:00
rootns.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
rpz.c clean up log module names 2024-12-11 17:11:32 +00:00
rriterator.c Remove fixed value for the rrset-order option 2024-12-09 13:09:26 +01:00
rrl.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
sdlz.c clean up uses of ISC_R_NOMEMORY 2025-01-23 15:54:57 -08:00
skr.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
soa.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
ssu.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
ssu_external.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
stats.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01: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 12:27:22 +01:00
tkey.c clean up uses of ISC_R_NOMEMORY 2025-01-23 15:54:57 -08:00
transport.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
tsig.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
tsig_p.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
ttl.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
update.c Revert "Attach dnssecsignstats, rcvquerystats, and requeststats" 2024-12-06 19:46:39 +01:00
validator.c Re-fetch pending records that failed validation 2025-02-17 08:57:58 +11:00
view.c clean up uses of ISC_R_NOMEMORY 2025-01-23 15:54:57 -08:00
xfrin.c Expose the incoming transfers' rates in the statistics channel 2025-02-20 09:32:55 +00:00
zone.c Implement the min-transfer-rate-in configuration option 2025-02-20 09:32:55 +00:00
zone_p.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
zonekey.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
zoneverify.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
zt.c Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00