The cachedb was missing piece of code (already found in zonedb) that
would make lookups in the slabheaders to miss the RRSIGs for CNAME if
the order of CNAME and RRSIG(CNAME) was reversed in the node->data.
(cherry picked from commit
5070c7f5c74a143f74775515d65fad01f398ecd1)
*/
found = header;
if (header->type == dns_rdatatype_cname &&
- cname_ok &&
- cnamesig != NULL) {
+ cname_ok) {
/*
* If we've already got the
* CNAME RRSIG, use it.
*/
- foundsig = cnamesig;
+ if (cnamesig != NULL) {
+ foundsig = cnamesig;
+ } else {
+ sigtype =
+ RBTDB_RDATATYPE_SIGCNAME;
+ }
}
} else if (header->type == sigtype) {
/*