]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- do not synthesize a CNAME message from cache for qtype DS.
authorWouter Wijngaards <wouter@nlnetlabs.nl>
Fri, 5 Nov 2010 15:29:50 +0000 (15:29 +0000)
committerWouter Wijngaards <wouter@nlnetlabs.nl>
Fri, 5 Nov 2010 15:29:50 +0000 (15:29 +0000)
git-svn-id: file:///svn/unbound/trunk@2335 be551aaa-1e26-0410-a405-d3ace91eadb9

doc/Changelog
services/cache/dns.c

index 1492a023c8e5f21bfd85ee267c35ac076d58f57b..b429b8ee5cef4d3eabe3096784a25c07295825e6 100644 (file)
@@ -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.
 
index 3270982efeb0e0c5cd094c48a1269b8e52de662f..4f3eee8cbbd654829dfae577c9fcb20311f85db8 100644 (file)
@@ -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) {