bind9/tests/dns
Evan Hunt 31c53235dd Call dns_resolver_createfetch() asynchronously in zone_refreshkeys()
Because dns_resolver_createfetch() locks the view, it was necessary
to unlock the zone in zone_refreshkeys() before calling it in order
to maintain the lock order, and relock afterward. this permitted a race
with dns_zone_synckeyzone().

This commit moves the call to dns_resolver_createfetch() into a separate
function which is called asynchronously after the zone has been
unlocked.

The keyfetch object now attaches to the zone to ensure that
it won't be shut down before the asynchronous call completes.

This necessitated refactoring dns_zone_detach() so it always runs
unlocked. For managed zones it now schedules zone_shutdown() to
run asynchronously, and for unmanaged zones, it requires the last
dns_zone_detach() to be run without loopmgr running.
2022-10-31 14:34:12 -07:00
..
comparekeys Move all the unit tests to /tests/<libname>/ 2022-05-28 14:53:02 -07:00
testdata Update "dns" unit test's test data .gitignore file 2022-08-09 08:19:51 +00:00
testkeys Move all the unit tests to /tests/<libname>/ 2022-05-28 14:53:02 -07:00
.gitignore Update netmgr, tasks, and applications to use isc_loopmgr 2022-08-26 09:09:24 +02:00
acl_test.c Move all the unit tests to /tests/<libname>/ 2022-05-28 14:53:02 -07:00
db_test.c dns_rdatalist_tordataset() and dns_rdatalist_fromrdataset() can not fail 2022-08-09 08:19:51 +00:00
dbdiff_test.c Properly adjust the srcdir vs builddir paths 2022-06-01 17:08:37 +02:00
dbiterator_test.c Properly adjust the srcdir vs builddir paths 2022-06-01 17:08:37 +02:00
dbversion_test.c dns_rdatalist_tordataset() and dns_rdatalist_fromrdataset() can not fail 2022-08-09 08:19:51 +00:00
dh_test.c Properly adjust the srcdir vs builddir paths 2022-06-01 17:08:37 +02:00
dispatch_test.c Test TLS transport in dispatch_test.c 2022-09-19 16:36:28 +00:00
dns64_test.c dns_rdatalist_tordataset() and dns_rdatalist_fromrdataset() can not fail 2022-08-09 08:19:51 +00:00
dnstap_test.c Simplify and speed up DNS name compression 2022-10-17 08:45:44 +02:00
dst_test.c Properly adjust the srcdir vs builddir paths 2022-06-01 17:08:37 +02:00
geoip_test.c Move all the unit tests to /tests/<libname>/ 2022-05-28 14:53:02 -07:00
Kdh.+002+18602.key Move all the unit tests to /tests/<libname>/ 2022-05-28 14:53:02 -07:00
keytable_test.c Resolve violation of weak referencing dns_view 2022-10-05 11:59:36 -07:00
Krsa.+008+29238.key Check if RSASHA1 is supported by the OS 2022-08-09 16:22:19 +02:00
Makefile.am Check if RSASHA1 is supported by the OS 2022-08-09 16:22:19 +02:00
master_test.c dns_rdatalist_tordataset() and dns_rdatalist_fromrdataset() can not fail 2022-08-09 08:19:51 +00:00
mkraw.pl Move all the unit tests to /tests/<libname>/ 2022-05-28 14:53:02 -07:00
name_test.c Test compression context hash set collisions 2022-10-17 08:45:44 +02:00
nsec3_test.c Properly adjust the srcdir vs builddir paths 2022-06-01 17:08:37 +02:00
nsec3param_test.c Properly adjust the srcdir vs builddir paths 2022-06-01 17:08:37 +02:00
peer_test.c Move all the unit tests to /tests/<libname>/ 2022-05-28 14:53:02 -07:00
private_test.c Update clang to version 14 2022-06-16 17:21:11 +02:00
rbt_test.c Move all the unit tests to /tests/<libname>/ 2022-05-28 14:53:02 -07:00
rbtdb_test.c Move all the unit tests to /tests/<libname>/ 2022-05-28 14:53:02 -07:00
rdata_test.c Simplify and speed up DNS name compression 2022-10-17 08:45:44 +02:00
rdataset_test.c Move all the unit tests to /tests/<libname>/ 2022-05-28 14:53:02 -07:00
rdatasetstats_test.c Use the semantic patch to do the unsigned -> unsigned int change 2022-09-19 15:56:02 +02:00
resolver_test.c Update netmgr, tasks, and applications to use isc_loopmgr 2022-08-26 09:09:24 +02:00
rsa_test.c Check if RSASHA1 is supported by the OS 2022-08-09 16:22:19 +02:00
sigs_test.c Properly adjust the srcdir vs builddir paths 2022-06-01 17:08:37 +02:00
time_test.c Move all the unit tests to /tests/<libname>/ 2022-05-28 14:53:02 -07:00
tsig_test.c Simplify and speed up DNS name compression 2022-10-17 08:45:44 +02:00
update_test.c Move all the unit tests to /tests/<libname>/ 2022-05-28 14:53:02 -07:00
zonemgr_test.c Call dns_resolver_createfetch() asynchronously in zone_refreshkeys() 2022-10-31 14:34:12 -07:00
zt_test.c Update netmgr, tasks, and applications to use isc_loopmgr 2022-08-26 09:09:24 +02:00