From: Remi Gacogne Date: Thu, 12 Jun 2025 10:40:31 +0000 (+0200) Subject: dnsdist: Apply generic YAML configuration items early X-Git-Tag: dnsdist-2.0.0-beta1~17^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=73c447f1f74b2103dabd5175418c3e8f1048dac6;p=thirdparty%2Fpdns.git dnsdist: Apply generic YAML configuration items early 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 --- diff --git a/pdns/dnsdistdist/dnsdist-configuration-yaml.cc b/pdns/dnsdistdist/dnsdist-configuration-yaml.cc index 87180fb859..3e9291b1bb 100644 --- a/pdns/dnsdistdist/dnsdist-configuration-yaml.cc +++ b/pdns/dnsdistdist/dnsdist-configuration-yaml.cc @@ -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();