bind9/bin/tests/system/cacheclean
Michał Kępień 64367010f2
Fix "rndc flushname" for longer name server names
dns_adb_flushname() calls dns_name_hash() to determine the ADB bucket
number to search for the given name.  Meanwhile, all other functions in
lib/dns/adb.c call dns_name_fullhash() for determining the bucket number
instead.  This discrepancy causes dns_adb_flushname() to have virtually
no chances of actually removing the given name from the ADB if the
name is longer than 16 bytes (since dns_name_hash() only hashes the
first 16 bytes of the name provided to it) - more specifically, the
probability of success for names longer than 16 bytes is inversely
proportional to the number of ADB buckets in use, i.e. 1:1021 at best.

Fix by using dns_name_fullhash() instead of dns_name_hash() in
dns_adb_flushname(), so that the logic for determining the bucket number
that a given name belongs to is consistent throughout lib/dns/adb.c.
2025-01-30 07:44:18 +01:00
..
ns1 Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
ns2 Rename system test directory with common files to _common 2023-09-19 14:56:12 +02:00
dig.batch new test for exercising cache cleaning 2001-03-05 12:50:08 +00:00
knowngood.dig.out new test for exercising cache cleaning 2001-03-05 12:50:08 +00:00
setup.sh Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
tests.sh Fix "rndc flushname" for longer name server names 2025-01-30 07:44:18 +01:00
tests_sh_cacheclean.py Replace clean.sh files with extra_artifacts mark 2024-11-11 15:04:52 +01:00