resolve: add all protocol modes to DNSConfiguration

This is one of several commits to expand the DNSConfiguration varlink
type to include the necessary information for resolvectl status output.
This commit is contained in:
Nick Rosbrook
2025-10-10 15:56:34 -04:00
parent 306375c368
commit ed4d43f88f
2 changed files with 28 additions and 0 deletions

View File

@@ -2050,6 +2050,10 @@ static int dns_configuration_json_append(
DnsSearchDomain *search_domains,
Set *negative_trust_anchors,
Set *dns_scopes,
DnssecMode dnssec_mode,
DnsOverTlsMode dns_over_tls_mode,
ResolveSupport llmnr_support,
ResolveSupport mdns_support,
sd_json_variant **configuration) {
_cleanup_(sd_json_variant_unrefp) sd_json_variant *dns_servers_json = NULL,
@@ -2138,6 +2142,10 @@ static int dns_configuration_json_append(
SD_JSON_BUILD_PAIR_CONDITION(!set_isempty(negative_trust_anchors),
"negativeTrustAnchors",
JSON_BUILD_STRING_SET(negative_trust_anchors)),
JSON_BUILD_PAIR_STRING_NON_EMPTY("dnssec", dnssec_mode_to_string(dnssec_mode)),
JSON_BUILD_PAIR_STRING_NON_EMPTY("dnsOverTLS", dns_over_tls_mode_to_string(dns_over_tls_mode)),
JSON_BUILD_PAIR_STRING_NON_EMPTY("llmnr", resolve_support_to_string(llmnr_support)),
JSON_BUILD_PAIR_STRING_NON_EMPTY("mDNS", resolve_support_to_string(mdns_support)),
JSON_BUILD_PAIR_VARIANT_NON_NULL("scopes", scopes_json));
}
@@ -2162,6 +2170,10 @@ static int global_dns_configuration_json_append(Manager *m, sd_json_variant **co
m->search_domains,
m->trust_anchor.negative_by_name,
scopes,
manager_get_dnssec_mode(m),
manager_get_dns_over_tls_mode(m),
m->llmnr_support,
m->mdns_support,
configuration);
}
@@ -2212,6 +2224,10 @@ static int link_dns_configuration_json_append(Link *l, sd_json_variant **configu
l->search_domains,
l->dnssec_negative_trust_anchors,
scopes,
link_get_dnssec_mode(l),
link_get_dns_over_tls_mode(l),
link_get_llmnr_support(l),
link_get_mdns_support(l),
configuration);
}
@@ -2236,6 +2252,10 @@ static int delegate_dns_configuration_json_append(DnsDelegate *d, sd_json_varian
d->search_domains,
/* negative_trust_anchors = */ NULL,
scopes,
/* dnssec_mode = */ _DNSSEC_MODE_INVALID,
/* dns_over_tls_mode = */ _DNS_OVER_TLS_MODE_INVALID,
/* llmnr_support = */ _RESOLVE_SUPPORT_INVALID,
/* mdns_support = */ _RESOLVE_SUPPORT_INVALID,
configuration);
}

View File

@@ -171,6 +171,14 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
SD_VARLINK_DEFINE_FIELD_BY_TYPE(searchDomains, SearchDomain, SD_VARLINK_ARRAY|SD_VARLINK_NULLABLE),
SD_VARLINK_FIELD_COMMENT("Array of configured DNSSEC negative trust anchors."),
SD_VARLINK_DEFINE_FIELD(negativeTrustAnchors, SD_VARLINK_STRING, SD_VARLINK_ARRAY|SD_VARLINK_NULLABLE),
SD_VARLINK_FIELD_COMMENT("DNSSEC mode."),
SD_VARLINK_DEFINE_FIELD(dnssec, SD_VARLINK_STRING, SD_VARLINK_NULLABLE),
SD_VARLINK_FIELD_COMMENT("DNSOverTLS mode."),
SD_VARLINK_DEFINE_FIELD(dnsOverTLS, SD_VARLINK_STRING, SD_VARLINK_NULLABLE),
SD_VARLINK_FIELD_COMMENT("LLMNR support."),
SD_VARLINK_DEFINE_FIELD(llmnr, SD_VARLINK_STRING, SD_VARLINK_NULLABLE),
SD_VARLINK_FIELD_COMMENT("mDNS support."),
SD_VARLINK_DEFINE_FIELD(mDNS, SD_VARLINK_STRING, SD_VARLINK_NULLABLE),
SD_VARLINK_FIELD_COMMENT("Array of current DNS scopes."),
SD_VARLINK_DEFINE_FIELD_BY_TYPE(scopes, DNSScope, SD_VARLINK_ARRAY|SD_VARLINK_NULLABLE));