]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
dnsdist: Apply generic YAML configuration items early
authorRemi Gacogne <remi.gacogne@powerdns.com>
Thu, 12 Jun 2025 10:40:31 +0000 (12:40 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Thu, 12 Jun 2025 10:40:31 +0000 (12:40 +0200)
Some of these are used when more complicated objects (backends,
for example) are created, so we need them to be applied before
we start creating objects.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
pdns/dnsdistdist/dnsdist-configuration-yaml.cc

index 87180fb859d8341fc0ca6b6df58957ab46928bde..3e9291b1bbb87433f41ad79b82037837e19ae00f 100644 (file)
@@ -930,6 +930,14 @@ bool loadConfigurationFromFile(const std::string& fileName, [[maybe_unused]] boo
   try {
     auto globalConfig = dnsdist::rust::settings::from_yaml_string(*data);
 
+    dnsdist::configuration::updateImmutableConfiguration([&globalConfig](dnsdist::configuration::ImmutableConfiguration& config) {
+      convertImmutableFlatSettingsFromRust(globalConfig, config);
+    });
+
+    dnsdist::configuration::updateRuntimeConfiguration([&globalConfig](dnsdist::configuration::RuntimeConfiguration& config) {
+      convertRuntimeFlatSettingsFromRust(globalConfig, config);
+    });
+
     handleLoggingConfiguration(globalConfig.logging);
 
     if (!globalConfig.console.listen_address.empty()) {
@@ -1130,14 +1138,6 @@ bool loadConfigurationFromFile(const std::string& fileName, [[maybe_unused]] boo
       }
     }
 
-    dnsdist::configuration::updateImmutableConfiguration([&globalConfig](dnsdist::configuration::ImmutableConfiguration& config) {
-      convertImmutableFlatSettingsFromRust(globalConfig, config);
-    });
-
-    dnsdist::configuration::updateRuntimeConfiguration([&globalConfig](dnsdist::configuration::RuntimeConfiguration& config) {
-      convertRuntimeFlatSettingsFromRust(globalConfig, config);
-    });
-
     loadRulesConfiguration(globalConfig);
 
     s_registeredTypesMap.lock()->clear();