From: Bert Hubert Date: Wed, 9 Jun 2010 21:26:50 +0000 (+0000) Subject: fix up SOA misunderstanding around CNAME referrals from UltraDNS. Thanks to 'marwood... X-Git-Tag: rec-3.3~74 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=bac969f064a61bca5e36917ae9647b3f22137c31;p=pdns fix up SOA misunderstanding around CNAME referrals from UltraDNS. Thanks to 'marwood' for reporting this. git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@1628 d19b8d6e-7fed-0310-83ef-9ca221ded41b --- diff --git a/pdns/syncres.cc b/pdns/syncres.cc index f24637ed3..146e21af0 100644 --- a/pdns/syncres.cc +++ b/pdns/syncres.cc @@ -1050,18 +1050,22 @@ int SyncRes::doResolveAt(set nameservers, string auth, else if(!done && i->d_place==DNSResourceRecord::AUTHORITY && dottedEndsOn(qname,i->qname) && i->qtype.getCode()==QType::SOA && lwr.d_rcode==RCode::NoError) { LOG<qtype.getName()+"'") <qname; - ne.d_ttd=d_now.tv_sec + min(s_maxnegttl, i->ttl); - ne.d_name=qname; - ne.d_qtype=qtype; - if(qtype.getCode()) { // prevents us from blacking out a whole domain - replacing_insert(t_sstorage->negcache, ne); + if(!newtarget.empty()) { + LOG<qname; + ne.d_ttd=d_now.tv_sec + min(s_maxnegttl, i->ttl); + ne.d_name=qname; + ne.d_qtype=qtype; + if(qtype.getCode()) { // prevents us from blacking out a whole domain + replacing_insert(t_sstorage->negcache, ne); + } + negindic=true; } - negindic=true; } }