From dc2b8bb1c970babe774dd32048ea182d74e8fb36 Mon Sep 17 00:00:00 2001 From: Aram Sargsyan Date: Tue, 21 Mar 2023 09:56:36 +0000 Subject: [PATCH 1/2] Hold a catz reference while the update process is running This should delay the catalog zone from being destroyed during shutdown, if the update process is still running. Doing this should not introduce significant shutdown delays, as the update function constantly checks the 'shuttingdown' flag and cancels the process if it is set. --- lib/dns/catz.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/dns/catz.c b/lib/dns/catz.c index 73d30b62a0..58cd369312 100644 --- a/lib/dns/catz.c +++ b/lib/dns/catz.c @@ -2124,6 +2124,7 @@ dns__catz_timer_cb(void *arg) { ISC_LOG_INFO, "catz: %s: reload start", domain); dns_catz_ref_catzs(catz->catzs); + dns_catz_ref_catz(catz); isc_work_enqueue(catz->loop, dns__catz_update_cb, dns__catz_done_cb, catz); @@ -2543,6 +2544,7 @@ dns__catz_done_cb(void *data) { ISC_LOG_INFO, "catz: %s: reload done: %s", dname, isc_result_totext(catz->updateresult)); + dns_catz_unref_catz(catz); dns_catz_unref_catzs(catz->catzs); } From aee14ee5d9eb4267106f7f4381e710ae6bda4f12 Mon Sep 17 00:00:00 2001 From: Aram Sargsyan Date: Tue, 21 Mar 2023 10:06:07 +0000 Subject: [PATCH 2/2] Add a CHANGES note for [GL #3955] --- CHANGES | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGES b/CHANGES index 008eb57119..35c751348d 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,9 @@ +6125. [bug] Hold a catz reference while the update process is + running, so that the catalog zone is not destroyed + during shutdown until the update process is finished or + properly canceled by the activated 'shuttingdown' flag. + [GL #3955] + 6124. [bug] When changing from a NSEC3 capable DNSSEC algorithm to an NSEC3 incapable DNSSEC algorithm using KASP the zone could sometimes be incompletely signed. [GL #3937]