diff --git a/doc/Changelog b/doc/Changelog index 1492a023c..b429b8ee5 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,3 +1,6 @@ +5 November 2010: Wouter + - do not synthesize a CNAME message from cache for qtype DS. + 4 November 2010: Wouter - Use central entropy to seed threads. diff --git a/services/cache/dns.c b/services/cache/dns.c index 3270982ef..4f3eee8cb 100644 --- a/services/cache/dns.c +++ b/services/cache/dns.c @@ -630,8 +630,10 @@ dns_cache_lookup(struct module_env* env, lock_rw_unlock(&rrset->entry.lock); } - /* see if we have CNAME for this domain */ - if( (rrset=rrset_cache_lookup(env->rrset_cache, qname, qnamelen, + /* see if we have CNAME for this domain, + * but not for DS records (which are part of the parent) */ + if( qtype != LDNS_RR_TYPE_DS && + (rrset=rrset_cache_lookup(env->rrset_cache, qname, qnamelen, LDNS_RR_TYPE_CNAME, qclass, 0, now, 0))) { struct dns_msg* msg = rrset_msg(rrset, region, now, &k); if(msg) {