]> 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>
Mon, 16 Mar 2026 14:18:39 +0000 (15:18 +0100)
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().

bin/named/server.c

index 8d857eaa60c1826aa5660cf6cd224b843c5a8288..dcc2cfe40f1d58c975a24182e845eddbdf38e600 100644 (file)
@@ -6250,7 +6250,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.
@@ -13057,7 +13059,7 @@ do_modzone(named_server_t *server, dns_view_t *view, dns_name_t *name,
        dns_view_thaw(view);
        result = configure_zone(server->effectiveconfig, zoneobj,
                                view->newzone.vconfig, view, &server->viewlist,
-                               &server->kasplist, server->aclctx, true, false,
+                               &server->kasplist, server->aclctx, false, false,
                                false, true);
        dns_view_freeze(view);