resoled: dnssec - don't refuse to verify answer due to too many unrelated RRs
authorTom Gundersen <teg@jklm.no>
Mon, 28 Dec 2015 18:05:59 +0000 (19:05 +0100)
committerTom Gundersen <teg@jklm.no>
Fri, 1 Jan 2016 15:48:52 +0000 (16:48 +0100)
Let VERIFY_RRS_MAX be about the max number of RRs in an RRSet that we
actually try to verify, not about the total number of RRs in the RRSet.

src/resolve/resolved-dns-dnssec.c

index 6a6aabc..552fd48 100644 (file)
@@ -525,9 +525,6 @@ int dnssec_verify_rrset(
         if (md_algorithm < 0)
                 return md_algorithm;
 
-        if (a->n_rrs > VERIFY_RRS_MAX)
-                return -E2BIG;
-
         r = dnssec_rrsig_expired(rrsig, realtime);
         if (r < 0)
                 return r;
@@ -552,6 +549,9 @@ int dnssec_verify_rrset(
                         return r;
 
                 list[n++] = rr;
+
+                if (n > VERIFY_RRS_MAX)
+                        return -E2BIG;
         }
 
         if (n <= 0)