resolved: when matching up DNSKEY and DS RRs, it's fine if we don't support the DNSKE...
authorLennart Poettering <lennart@poettering.net>
Wed, 9 Dec 2015 17:11:28 +0000 (18:11 +0100)
committerLennart Poettering <lennart@poettering.net>
Thu, 10 Dec 2015 10:35:52 +0000 (11:35 +0100)
As long as we support the digest we are good.

src/resolve/resolved-dns-dnssec.c

index af94565..8cfed27 100644 (file)
@@ -654,16 +654,14 @@ int dnssec_verify_dnskey(DnsResourceRecord *dnskey, DnsResourceRecord *ds) {
         if (dnskey->dnskey.protocol != 3)
                 return -EKEYREJECTED;
 
-        if (!dnssec_algorithm_supported(dnskey->dnskey.algorithm))
-                return -EOPNOTSUPP;
-        if (!dnssec_digest_supported(ds->ds.digest_type))
-                return -EOPNOTSUPP;
-
         if (dnskey->dnskey.algorithm != ds->ds.algorithm)
                 return 0;
         if (dnssec_keytag(dnskey) != ds->ds.key_tag)
                 return 0;
 
+        if (!dnssec_digest_supported(ds->ds.digest_type))
+                return -EOPNOTSUPP;
+
         switch (ds->ds.digest_type) {
 
         case DNSSEC_DIGEST_SHA1: