]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
resolve: add formatted address string to DNSServer
authorNick Rosbrook <enr0n@ubuntu.com>
Fri, 10 Oct 2025 20:06:47 +0000 (16:06 -0400)
committerNick Rosbrook <enr0n@ubuntu.com>
Thu, 6 Nov 2025 10:17:59 +0000 (05:17 -0500)
Although the JSON output is mostly intended to be machine readable,
humans also consume the output through logs and scripts.

Add an addressString field to DNSServer to improve human-readability.

src/resolve/resolved-dns-server.c
src/shared/varlink-io.systemd.Resolve.Monitor.c

index 787ffccc78470effef741c9336483e6645ce4e7c..f8123bbb9f43503f3c9b2a9a6d277673f4889c89 100644 (file)
@@ -1373,6 +1373,7 @@ int dns_server_dump_configuration_to_json(DnsServer *server, sd_json_variant **r
 
         return sd_json_buildo(
                         ret,
+                        JSON_BUILD_PAIR_STRING_NON_EMPTY("addressString", dns_server_string(server)),
                         JSON_BUILD_PAIR_IN_ADDR("address", &server->address, server->family),
                         SD_JSON_BUILD_PAIR_INTEGER("family", server->family),
                         SD_JSON_BUILD_PAIR_UNSIGNED("port", dns_server_port(server)),
index a7ab279b5cf279f114cfacc7e541fe68f1dbbd2c..bd514145fc01ad268d1aa5a690697fe0f7db1d78 100644 (file)
@@ -118,6 +118,8 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE(
                 DNSServer,
                 SD_VARLINK_FIELD_COMMENT("IPv4 or IPv6 address of the server."),
                 SD_VARLINK_DEFINE_FIELD(address, SD_VARLINK_INT, SD_VARLINK_ARRAY),
+                SD_VARLINK_FIELD_COMMENT("IPv4 or IPv6 address of the server, formatted as a human-readable string."),
+                SD_VARLINK_DEFINE_FIELD(addressString, SD_VARLINK_STRING, SD_VARLINK_NULLABLE),
                 SD_VARLINK_FIELD_COMMENT("Address family of the server, one of AF_INET or AF_INET6."),
                 SD_VARLINK_DEFINE_FIELD(family, SD_VARLINK_INT, 0),
                 SD_VARLINK_FIELD_COMMENT("Port number of the server."),