Skip to content
Snippets Groups Projects
Commit de979a3b authored by Vladimír Čunát's avatar Vladimír Čunát
Browse files

dnssec/nsec: add a precaution when checking DS nodata

I just found it by accident when studying RFCs again.
Hmm, I'd like an operator for logical implication; I'm spoiled by Maths.
parent b29f002d
Branches
Tags
1 merge request!320dnssec/nsec: add a precaution when checking DS nodata
Pipeline #6887 canceled with stages
in 1 hour, 15 minutes, and 16 seconds
......@@ -237,7 +237,14 @@ static int no_data_response_check_rrtype(int *flags, const knot_rrset_t *nsec,
if (!kr_nsec_bitmap_contains_type(bm, bm_size, type)) {
/* The type is not listed in the NSEC bitmap. */
*flags |= FLG_NOEXIST_RRTYPE;
/* Security feature: in case of DS also check for SOA
* non-existence to be more certain that we don't hold
* a child-side NSEC by some mistake (e.g. when forwarding).
* See RFC4035 5.2, next-to-last paragraph. */
if (type != KNOT_RRTYPE_DS
|| !kr_nsec_bitmap_contains_type(bm, bm_size, KNOT_RRTYPE_SOA)) {
*flags |= FLG_NOEXIST_RRTYPE;
}
}
return kr_ok();
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment