diff --git a/src/dnssec.c b/src/dnssec.c index 7a77636..ec1e6c1 100644 --- a/src/dnssec.c +++ b/src/dnssec.c @@ -1335,7 +1335,7 @@ size_t dnssec_generate_query(struct dns_header *header, char *end, char *name, i unsigned char *p; char types[20]; - querystr("dnssec", types, type); + querystr("dnssec-query", types, type); if (addr->sa.sa_family == AF_INET) log_query(F_DNSSEC | F_IPV4, name, (struct all_addr *)&addr->in.sin_addr, types); diff --git a/src/rfc1035.c b/src/rfc1035.c index 429acbe..3c88070 100644 --- a/src/rfc1035.c +++ b/src/rfc1035.c @@ -1609,11 +1609,20 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen, while ((crecp = cache_find_by_name(crecp, name, now, F_DNSKEY | F_DS))) if (crecp->uid == qclass && (qtype == T_RRSIG || (sec_reqd && crecp->addr.sig.type_covered == qtype)) && !dryrun && - (keydata = blockdata_retrieve(crecp->addr.sig.keydata, crecp->addr.sig.keylen, NULL)) && - add_resource_record(header, limit, &trunc, nameoffset, &ansp, - crec_ttl(crecp, now), &nameoffset, - T_RRSIG, qclass, "t", crecp->addr.sig.keylen, keydata)) - anscount++; + (keydata = blockdata_retrieve(crecp->addr.sig.keydata, crecp->addr.sig.keylen, NULL))) + { + if (qtype == T_RRSIG) + { + char types[20]; + querystr("rrsig", types, crecp->addr.sig.type_covered); + log_query(F_RRNAME, name, NULL, types); + } + if ((keydata = blockdata_retrieve(crecp->addr.sig.keydata, crecp->addr.sig.keylen, NULL)) && + add_resource_record(header, limit, &trunc, nameoffset, &ansp, + crec_ttl(crecp, now), &nameoffset, + T_RRSIG, qclass, "t", crecp->addr.sig.keylen, keydata)) + anscount++; + } } } }