From: JINMEI Tatuya Date: Thu, 9 Feb 2012 19:25:56 +0000 (-0800) Subject: [master] Merge branch 'trac1570' X-Git-Tag: trac2351_base~263 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2858b2098a10a8cc2d34bf87463ace0629d3670e;p=thirdparty%2Fkea.git [master] Merge branch 'trac1570' --- 2858b2098a10a8cc2d34bf87463ace0629d3670e diff --cc src/bin/auth/query.cc index 7fe085e5ba,62e4b8278b..1ba0a52812 --- a/src/bin/auth/query.cc +++ b/src/bin/auth/query.cc @@@ -389,9 -413,17 +413,17 @@@ Query::process() } break; case ZoneFinder::DELEGATION: + // If a DS query resulted in delegation, we also need to check + // if we are an authority of the child, too. If so, we need to + // complete the process in the child as specified in Section + // 2.2.1.2. of RFC3658. + if (qtype_ == RRType::DS() && processDSAtChild()) { + return; + } + response_.setHeaderFlag(Message::HEADERFLAG_AA, false); response_.addRRset(Message::SECTION_AUTHORITY, - boost::const_pointer_cast(db_result.rrset), + boost::const_pointer_cast(db_result.rrset), dnssec_); // If DNSSEC is requested, see whether there is a DS // record for this delegation.