From: Nick Rosbrook Date: Fri, 10 Oct 2025 19:56:34 +0000 (-0400) Subject: resolve: add all protocol modes to DNSConfiguration X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ed4d43f88fdf71db242fe22bdf6afaa25608a148;p=thirdparty%2Fsystemd.git 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. --- diff --git a/src/resolve/resolved-manager.c b/src/resolve/resolved-manager.c index 36c78eaf048..b3af9ce4e32 100644 --- a/src/resolve/resolved-manager.c +++ b/src/resolve/resolved-manager.c @@ -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); } diff --git a/src/shared/varlink-io.systemd.Resolve.Monitor.c b/src/shared/varlink-io.systemd.Resolve.Monitor.c index df76510cf65..622975e5de7 100644 --- a/src/shared/varlink-io.systemd.Resolve.Monitor.c +++ b/src/shared/varlink-io.systemd.Resolve.Monitor.c @@ -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));