]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
Your CDS RR is not signed with your KSK as specified in RFC7344
authorTony Finch <dot@dotat.at>
Fri, 9 Mar 2018 17:55:58 +0000 (17:55 +0000)
committerWillem Toorop <willem@nlnetlabs.nl>
Mon, 12 Mar 2018 09:38:38 +0000 (10:38 +0100)
Willem Toorop <willem@nlnetlabs.nl> wrote:

> Yes indeed!  I've created a bug report for it:
>
> https://www.nlnetlabs.nl/bugs-script/show_bug.cgi?id=3437

I think the following patch fixes it. (I don't have an account on your bugzilla)

dnssec_sign.c

index 4475b1b81a8a9f60041a0fd282defeca006f4da7..8403b6511dce83493d97afe4846dd33a2e57bb7d 100644 (file)
@@ -1257,12 +1257,15 @@ ldns_dnssec_zone_create_rrsigs_flg( ldns_dnssec_zone *zone
                                                                                        key_list,
                                                                                        func,
                                                                                        arg);
-                               if(!(flags&LDNS_SIGN_DNSKEY_WITH_ZSK) &&
-                                       cur_rrset->type == LDNS_RR_TYPE_DNSKEY)
-                                       ldns_key_list_filter_for_dnskey(key_list, flags);
-
-                               if(cur_rrset->type != LDNS_RR_TYPE_DNSKEY)
+                               if(cur_rrset->type == LDNS_RR_TYPE_DNSKEY ||
+                                  cur_rrset->type == LDNS_RR_TYPE_CDNSKEY ||
+                                  cur_rrset->type == LDNS_RR_TYPE_CDS) {
+                                       if(!(flags&LDNS_SIGN_DNSKEY_WITH_ZSK)) {
+                                               ldns_key_list_filter_for_dnskey(key_list, flags);
+                                       }
+                               } else {
                                        ldns_key_list_filter_for_non_dnskey(key_list, flags);
+                               }
 
                                /* TODO: just set count to zero? */
                                rr_list = ldns_rr_list_new();