]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
apply_configuration: bump config map before exclusive mode
authorColin Vidal <colin@isc.org>
Mon, 8 Sep 2025 09:07:29 +0000 (11:07 +0200)
committerColin Vidal <colin@isc.org>
Wed, 24 Sep 2025 08:54:50 +0000 (10:54 +0200)
Moving the config map building outside of the exclusive mode, and this
is local data only and no runtime object uses it.

bin/named/server.c

index a7602e95faf8f16af57213926ec4b11be41de905..ea955267ac72c13495606ebb8cb3243ae9c58905 100644 (file)
@@ -8141,6 +8141,18 @@ apply_configuration(cfg_parser_t *configparser, cfg_obj_t *config,
        ISC_LIST_INIT(cachelist);
        ISC_LIST_INIT(altsecrets);
 
+       /*
+        * Fill in the maps array, used for resolving defaults.
+        */
+       i = 0;
+       options = NULL;
+       result = cfg_map_get(config, "options", &options);
+       if (result == ISC_R_SUCCESS) {
+               maps[i++] = options;
+       }
+       maps[i++] = named_g_defaultoptions;
+       maps[i] = NULL;
+
        /* Ensure exclusive access to configuration data. */
        isc_loopmgr_pause();
 
@@ -8187,18 +8199,6 @@ apply_configuration(cfg_parser_t *configparser, cfg_obj_t *config,
        dns_zonemgr_set_tlsctx_cache(server->zonemgr,
                                     server->tlsctx_client_cache);
 
-       /*
-        * Fill in the maps array, used for resolving defaults.
-        */
-       i = 0;
-       options = NULL;
-       result = cfg_map_get(config, "options", &options);
-       if (result == ISC_R_SUCCESS) {
-               maps[i++] = options;
-       }
-       maps[i++] = named_g_defaultoptions;
-       maps[i] = NULL;
-
 #if HAVE_LIBNGHTTP2
        obj = NULL;
        result = named_config_get(maps, "http-port", &obj);