]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
resolvectl: output nice error message if we can't JSONify RR
authorLennart Poettering <lennart@poettering.net>
Mon, 4 Mar 2024 09:00:05 +0000 (10:00 +0100)
committerLuca Boccassi <luca.boccassi@gmail.com>
Mon, 4 Mar 2024 19:49:21 +0000 (19:49 +0000)
Some RR types we don't have a mapping to JSON for. Handle this
reasonably.

src/resolve/resolvectl.c

index 580913b94e4b8e7636f824a2e476bb37b970edfe..405e8ec215d1b763e6045c6a0a059f7d7916dd25 100644 (file)
@@ -454,6 +454,9 @@ static int output_rr_packet(const void *d, size_t l, int ifindex) {
                 if (r < 0)
                         return log_error_errno(r, "Failed to convert RR to JSON: %m");
 
+                if (!j)
+                        return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), "JSON formatting for records of type %s (%u) not available.", dns_type_to_string(rr->key->type), rr->key->type);
+
                 r = json_variant_dump(j, arg_json_format_flags, NULL, NULL);
                 if (r < 0)
                         return r;