From: Matthijs Mekking Date: Thu, 19 Mar 2026 15:15:58 +0000 (+0100) Subject: Small refactor 'dns_zone_set*acl()' X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=af505bc44f1adda1b64c7851f16b3f746987ce6d;p=thirdparty%2Fbind9.git Small refactor 'dns_zone_set*acl()' The various 'dns_zone_set*acl()' functions can be refactored to call 'dns_zone_clear*acl()', to avoid code duplication. --- diff --git a/lib/dns/zoneproperties.c b/lib/dns/zoneproperties.c index 4b44f9139bb..f468489941a 100644 --- a/lib/dns/zoneproperties.c +++ b/lib/dns/zoneproperties.c @@ -1023,10 +1023,9 @@ void dns_zone_setqueryacl(dns_zone_t *zone, dns_acl_t *acl) { REQUIRE(DNS_ZONE_VALID(zone)); + dns_zone_clearqueryacl(zone); + LOCK_ZONE(zone); - if (zone->query_acl != NULL) { - dns_acl_detach(&zone->query_acl); - } dns_acl_attach(acl, &zone->query_acl); UNLOCK_ZONE(zone); } @@ -1035,10 +1034,9 @@ void dns_zone_setqueryonacl(dns_zone_t *zone, dns_acl_t *acl) { REQUIRE(DNS_ZONE_VALID(zone)); + dns_zone_clearqueryonacl(zone); + LOCK_ZONE(zone); - if (zone->queryon_acl != NULL) { - dns_acl_detach(&zone->queryon_acl); - } dns_acl_attach(acl, &zone->queryon_acl); UNLOCK_ZONE(zone); } @@ -1047,10 +1045,9 @@ void dns_zone_setupdateacl(dns_zone_t *zone, dns_acl_t *acl) { REQUIRE(DNS_ZONE_VALID(zone)); + dns_zone_clearupdateacl(zone); + LOCK_ZONE(zone); - if (zone->update_acl != NULL) { - dns_acl_detach(&zone->update_acl); - } dns_acl_attach(acl, &zone->update_acl); UNLOCK_ZONE(zone); } @@ -1059,10 +1056,9 @@ void dns_zone_setforwardacl(dns_zone_t *zone, dns_acl_t *acl) { REQUIRE(DNS_ZONE_VALID(zone)); + dns_zone_clearforwardacl(zone); + LOCK_ZONE(zone); - if (zone->forward_acl != NULL) { - dns_acl_detach(&zone->forward_acl); - } dns_acl_attach(acl, &zone->forward_acl); UNLOCK_ZONE(zone); } @@ -1071,10 +1067,9 @@ void dns_zone_setxfracl(dns_zone_t *zone, dns_acl_t *acl) { REQUIRE(DNS_ZONE_VALID(zone)); + dns_zone_clearxfracl(zone); + LOCK_ZONE(zone); - if (zone->xfr_acl != NULL) { - dns_acl_detach(&zone->xfr_acl); - } dns_acl_attach(acl, &zone->xfr_acl); UNLOCK_ZONE(zone); }