fcdb24
From 7b4c1e28b3e64f7cd075599472e349510f8d33da Mon Sep 17 00:00:00 2001
fcdb24
From: =?UTF-8?q?Petr=20Men=C5=A1=C3=ADk?= <pemensik@redhat.com>
fcdb24
Date: Wed, 14 Sep 2022 17:10:11 +0200
fcdb24
Subject: [PATCH] Modify empty zone conflicts under exclusive mode
fcdb24
fcdb24
Does not accept new request when exclusive mode is active. Zone table
fcdb24
can be modified even after main fwd entries have been added. Ensure
fcdb24
empty zones handling keeps exclusive mode active.
fcdb24
fcdb24
Exclusive mode were mentioned as the only protection it had by bind
fcdb24
maintainer:
fcdb24
https://gitlab.isc.org/isc-projects/bind9/-/merge_requests/6637#note_308928
fcdb24
---
fcdb24
 src/fwd.c | 4 +++-
fcdb24
 1 file changed, 3 insertions(+), 1 deletion(-)
fcdb24
fcdb24
diff --git a/src/fwd.c b/src/fwd.c
fcdb24
index 24f6e53..0a3c673 100644
fcdb24
--- a/src/fwd.c
fcdb24
+++ b/src/fwd.c
fcdb24
@@ -595,10 +595,12 @@ fwd_configure_zone(const settings_set_t *set, ldap_instance_t *inst,
fcdb24
 		  dns_result_totext(result));
fcdb24
 
fcdb24
 	/* Handle collisions with automatic empty zones. */
fcdb24
-	if (isconfigured == true)
fcdb24
+	if (isconfigured == true) {
fcdb24
+		run_exclusive_enter(inst, &lock_state);
fcdb24
 		CHECK(empty_zone_handle_conflicts(name,
fcdb24
 						  view->zonetable,
fcdb24
 						  (fwdpolicy == dns_fwdpolicy_first)));
fcdb24
+	}
fcdb24
 
fcdb24
 cleanup:
fcdb24
 	run_exclusive_exit(inst, lock_state);
fcdb24
-- 
fcdb24
2.37.3
fcdb24