]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
resolved: calculate and print tags for DNSKEY records
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 4 Feb 2015 22:06:33 +0000 (17:06 -0500)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Fri, 29 Jan 2016 17:13:06 +0000 (12:13 -0500)
Makefile.am
src/resolve/resolved-dns-rr.c

index 90bc5d7ddc599dffaa73ab5f68462e2cc9eba22a..57cfe932c89fc9a8af577785aaa1df6d03911805 100644 (file)
@@ -5286,6 +5286,8 @@ lib_LTLIBRARIES += \
 
 systemd_resolve_SOURCES = \
        src/resolve/resolve-tool.c \
+       src/resolve/resolved-dns-dnssec.c \
+       src/resolve/resolved-dns-dnssec.h \
        src/resolve/resolved-dns-packet.c \
        src/resolve/resolved-dns-packet.h \
        src/resolve/resolved-dns-rr.c \
index 83dce76565165a97ae808af74246f279b1b5f6dd..6b3be2a80c9e8f0586df699d09398712824272fd 100644 (file)
@@ -25,6 +25,7 @@
 #include "dns-domain.h"
 #include "dns-type.h"
 #include "hexdecoct.h"
+#include "resolved-dns-dnssec.h"
 #include "resolved-dns-packet.h"
 #include "resolved-dns-rr.h"
 #include "string-table.h"
@@ -973,6 +974,9 @@ const char *dns_resource_record_to_string(DnsResourceRecord *rr) {
                 _cleanup_free_ char *alg = NULL;
                 char *ss;
                 int n, n1;
+                uint16_t key_tag;
+
+                key_tag = dnssec_keytag(rr, true);
 
                 r = dnssec_algorithm_to_string_alloc(rr->dnskey.algorithm, &alg);
                 if (r < 0)
@@ -995,12 +999,15 @@ const char *dns_resource_record_to_string(DnsResourceRecord *rr) {
                         return NULL;
 
                 r = asprintf(&ss, "%s\n"
-                             "%*s-- Flags:%s%s%s",
+                             "%*s-- Flags:%s%s%s\n"
+                             "%*s-- Key tag: %u",
                              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" : "");
+                             rr->dnskey.flags & DNSKEY_FLAG_ZONE_KEY ? " ZONE_KEY" : "",
+                             n1, "",
+                             key_tag);
                 if (r < 0)
                         return NULL;
                 free(s);