BIND 10 #1836: delegation + DO often results in exception->SERVFAIL
BIND 10 Development
do-not-reply at isc.org
Mon Mar 26 07:46:11 UTC 2012
#1836: delegation + DO often results in exception->SERVFAIL
-------------------------------------+-------------------------------------
Reporter: jinmei | Owner:
Type: defect | Status: new
Priority: high | Milestone: Next-
Component: b10-auth | Sprint-Proposed
Sensitive: 0 | Keywords:
Sub-Project: DNS | Defect Severity: N/A
Estimated Difficulty: 0 | Feature Depending on Ticket:
Total Hours: 0 | Add Hours to Ticket: 0
| Internal?: 0
-------------------------------------+-------------------------------------
I've noticed b10-auth returns SERVFAIL when delegation to a child zone
is expected if the query has DO bit on and it's not a secure
delegation (including the case where parent zone isn't signed at all).
It's due to this:
{{{#!c++
void
Query::addDS(ZoneFinder& finder, const Name& dname) {
ConstZoneFinderContextPtr ds_context =
finder.find(dname, RRType::DS(), dnssec_opt_);
if (ds_context->code == ZoneFinder::SUCCESS) {
authorities_.push_back(ds_context->rrset);
} else if (ds_context->code == ZoneFinder::NXRRSET &&
ds_context->isNSECSigned()) {
addNXRRsetProof(finder, *ds_context);
} else if (ds_context->code == ZoneFinder::NXRRSET &&
ds_context->isNSEC3Signed()) {
// Add no DS proof with NSEC3 as specified in RFC 5155 Section
7.2.7.
addClosestEncloserProof(finder, dname, true);
} else {
// Any other case should be an error
isc_throw(BadDS, "Unexpected result for DS lookup for
delegation");
}
}
}}}
I think it's pretty critical because many deployed resolvers set the
DO bit by default, while many zones are actually not even signed at
all. Also, it should be easy to fix (one line patch + test
adjustments, I guess), so I propose this to be included in the current
sprint.
(But for now I'm pushing it to the next-sprint-proposed queue)
--
Ticket URL: <http://bind10.isc.org/ticket/1836>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list