bind9/tests
Aram Sargsyan c7f79a0353
Add a quota for SIG(0) signature checks
In order to protect from a malicious DNS client that sends many
queries with a SIG(0)-signed message, add a quota of simultaneously
running SIG(0) checks.

This protection can only help when named is using more than one worker
threads. For example, if named is running with the '-n 4' option, and
'sig0checks-quota 2;' is used, then named will make sure to not use
more than 2 workers for the SIG(0) signature checks in parallel, thus
leaving the other workers to serve the remaining clients which do not
use SIG(0)-signed messages.

That limitation is going to change when SIG(0) signature checks are
offloaded to "slow" threads in a future commit.

The 'sig0checks-quota-exempt' ACL option can be used to exempt certain
clients from the quota requirements using their IP or network addresses.

The 'sig0checks-quota-maxwait-ms' option is used to define a maximum
amount of time for named to wait for a quota to appear. If during that
time no new quota becomes available, named will answer to the client
with DNS_R_REFUSED.
2024-06-10 17:33:08 +02:00
..
bench use a thread-local variable to get the current running loop 2024-04-02 10:35:56 +02:00
dns Use isc_queue to implement wait-free deadnodes queue 2024-06-05 09:19:56 +02:00
include/tests Clang-format header file changes 2024-05-17 16:03:21 -07:00
irs Include <inttypes.h> whenever including <cmocka.h> 2023-05-18 15:12:23 +02:00
isc complete removal of isc_loop_current() 2024-04-02 10:35:56 +02:00
isccfg Include <inttypes.h> whenever including <cmocka.h> 2023-05-18 15:12:23 +02:00
libtest Add a quota for SIG(0) signature checks 2024-06-10 17:33:08 +02:00
ns Change dns_message_create() function to accept memory pools 2023-09-24 18:07:40 +02:00
.gitignore Move all the unit tests to /tests/<libname>/ 2022-05-28 14:53:02 -07:00
Makefile.am Build libtest even if CMOCKA is not available 2023-03-29 02:29:18 +00:00
unit-test-driver.sh.in Reformat shell scripts with shfmt 2023-10-26 10:23:50 +02:00