]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
resolved: expand flags field in DNSKEY records
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 3 Feb 2015 04:49:49 +0000 (23:49 -0500)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 28 Jan 2016 23:35:02 +0000 (18:35 -0500)
src/resolve/resolved-dns-rr.c

index dd2ca2b06cb723d268337d775cb22114b35e80c8..83dce76565165a97ae808af74246f279b1b5f6dd 100644 (file)
@@ -971,14 +971,16 @@ const char *dns_resource_record_to_string(DnsResourceRecord *rr) {
 
         case DNS_TYPE_DNSKEY: {
                 _cleanup_free_ char *alg = NULL;
-                int n;
+                char *ss;
+                int n, n1;
 
                 r = dnssec_algorithm_to_string_alloc(rr->dnskey.algorithm, &alg);
                 if (r < 0)
                         return NULL;
 
-                r = asprintf(&s, "%s %u %u %s %n",
+                r = asprintf(&s, "%s %n%u %u %s %n",
                              k,
+                             &n1,
                              rr->dnskey.flags,
                              rr->dnskey.protocol,
                              alg,
@@ -992,6 +994,18 @@ const char *dns_resource_record_to_string(DnsResourceRecord *rr) {
                 if (r < 0)
                         return NULL;
 
+                r = asprintf(&ss, "%s\n"
+                             "%*s-- Flags:%s%s%s",
+                             s,
+                             n1, "",
+                             rr->dnskey.flags & DNSKEY_FLAG_SEP ? " SEP" : "",
+                             rr->dnskey.flags & DNSKEY_FLAG_REVOKE ? " REVOKE" : "",
+                             rr->dnskey.flags & DNSKEY_FLAG_ZONE_KEY ? " ZONE_KEY" : "");
+                if (r < 0)
+                        return NULL;
+                free(s);
+                s = ss;
+
                 break;
         }