static const DNSName cVersion("version");
// TODO: cleanup files if not in catalogzones?
-// TODO: notify to catzone (works but for #14506)
void CatalogZone::add(const DNSRecord& record, Logr::log_t logger)
{
possiblyConvertForwardsandAuths(includeDir, apiDir, log);
}
-static void addToAllowNotifyFor(Recursorsettings& settings, const rust::Vec<::pdns::rust::settings::rec::ForwardZone>& vec)
+template<typename T>
+static void addToAllowNotifyFor(Recursorsettings& settings, const rust::Vec<T>& vec)
{
for (const auto& item : vec) {
if (item.notify_allowed) {
// run --config, while they aren't actually there in any config file.
addToAllowNotifyFor(yamlstruct, yamlstruct.recursor.forward_zones);
addToAllowNotifyFor(yamlstruct, yamlstruct.recursor.forward_zones_recurse);
+ addToAllowNotifyFor(yamlstruct, yamlstruct.recursor.forwarding_catalog_zones);
yamlstruct.validate();
settings = std::move(yamlstruct);
return YamlSettingsStatus::OK;
ComboAddress combo = ComboAddress(std::string(address), 53);
fwcatz.d_params.primaries.emplace_back(combo.toStringWithPort());
}
- fwcatz.d_params.name = std::string(catz.name);
+ fwcatz.d_params.name = std::string(catz.zone);
fwcatz.d_params.zoneSizeHint = catz.xfr.zoneSizeHint;
assign(fwcatz.d_params.tsigtriplet, catz.xfr.tsig);
fwcatz.d_params.refreshFromConf = catz.xfr.refresh;
#[serde(deny_unknown_fields)]
pub struct ForwardingCatalogZone {
#[serde(default, skip_serializing_if = "crate::is_default")]
- name: String,
+ zone: String,
#[serde(default, skip_serializing_if = "crate::is_default")]
notify_allowed: bool,
#[serde(default, skip_serializing_if = "crate::is_default")]
// XXX INCOMPLETE
let seq = serde_yaml::Sequence::new();
let mut map = serde_yaml::Mapping::new();
- inserts(&mut map, "name", &self.name);
+ inserts(&mut map, "zone", &self.zone);
insertb(&mut map, "notify_allowed", self.notify_allowed);
insertseq(&mut map, "groups", &seq);
serde_yaml::Value::Mapping(map)
{
const std::string yaml = R"EOT(recursor:
forwarding_catalog_zones:
- - name: 'forward.invalid'
+ - zone: 'forward.invalid'
xfr:
addresses: [192.168.178.3:53]
groups:
auto settings = pdns::rust::settings::rec::parse_yaml_string(yaml);
settings.validate();
- BOOST_CHECK_EQUAL(std::string(settings.recursor.forwarding_catalog_zones[0].name), "forward.invalid");
+ BOOST_CHECK_EQUAL(std::string(settings.recursor.forwarding_catalog_zones[0].zone), "forward.invalid");
BOOST_CHECK_EQUAL(std::string(settings.recursor.forwarding_catalog_zones[0].xfr.addresses[0]), "192.168.178.3:53");
BOOST_CHECK_EQUAL(settings.recursor.forwarding_catalog_zones[0].groups[0].forwarders.size(), 1U);
BOOST_CHECK_EQUAL(std::string(settings.recursor.forwarding_catalog_zones[0].groups[0].forwarders[0]), "1.2.3.4");