]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Don't call dns_zone_setadded() on modify
authorMatthijs Mekking <matthijs@isc.org>
Fri, 13 Mar 2026 10:56:31 +0000 (11:56 +0100)
committerMatthijs Mekking <matthijs@isc.org>
Tue, 17 Mar 2026 09:51:18 +0000 (09:51 +0000)
If we are modifiying the zone, the zone must have been added before.
Don't overwrite this value on modifications.

Also it feels cleaner to pass added=false to configure_zone() in
do_modzone().

(cherry picked from commit 780872e07eaa735c215765da570d2f1f78bfade7)

bin/named/server.c

index d2ac553ffc6fa9f87bc1ceec8c06dc16e59eaa69..09cf436627aee574cb63297815e9794ea00d060e 100644 (file)
@@ -7026,7 +7026,9 @@ configure_zone(const cfg_obj_t *config, const cfg_obj_t *zconfig,
        /*
         * Mark whether the zone was originally added at runtime or not
         */
-       dns_zone_setadded(zone, added);
+       if (!modify) {
+               dns_zone_setadded(zone, added);
+       }
 
        /*
         * Determine if we need to set up inline signing.
@@ -14179,7 +14181,7 @@ do_modzone(named_server_t *server, ns_cfgctx_t *cfg, dns_view_t *view,
        dns_view_thaw(view);
        result = configure_zone(cfg->config, zoneobj, cfg->vconfig, view,
                                &server->viewlist, &server->kasplist,
-                               &server->keystorelist, cfg->actx, true, false,
+                               &server->keystorelist, cfg->actx, false, false,
                                false, true);
        dns_view_freeze(view);