bind9/lib
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
..
bind9 Clarify error message about missing inline-signing & dnssec-policy 2022-10-06 10:26:30 +02:00
dns Call dns_resolver_createfetch() asynchronously in zone_refreshkeys() 2022-10-31 14:34:12 -07:00
irs Move all the unit tests to /tests/<libname>/ 2022-05-28 14:53:02 -07:00
isc isc_async_run() runs events in reverse order 2022-10-31 05:43:45 -07:00
isccc Convert DST_ALG defines to enum and group HMAC algorithms 2022-09-27 16:54:36 +02:00
isccfg Add check-svcb to named 2022-10-29 00:22:54 +11:00
ns Add check-svcb to named 2022-10-29 00:22:54 +11:00
.gitignore The isc/platform.h header has been completely removed 2021-07-06 05:33:48 +00:00
Makefile.am move samples/resolve.c to bin/tests/system 2021-04-16 14:29:43 +02:00