BIND 10 #2585: bugs in in-memory finder
BIND 10 Development
do-not-reply at isc.org
Thu Dec 27 22:30:06 UTC 2012
#2585: bugs in in-memory finder
-------------------------------------+-------------------------------------
Reporter: | Owner:
jinmei | Status: new
Type: | Milestone: Next-Sprint-
defect | Proposed
Priority: | Keywords:
medium | Sensitive: 0
Component: data | Sub-Project: DNS
source | Estimated Difficulty: 0
CVSS Scoring: | Total Hours: 0
Defect Severity: N/A |
Feature Depending on Ticket: |
Add Hours to Ticket: 0 |
Internal?: 0 |
-------------------------------------+-------------------------------------
#2480 revealed two bugs in the in-memory zone finder implementation:
{{{
TEST_P(QueryTest, exactAnyMatch) {
// there's a bug in the in-memory data source and this doesn't work
...
}
TEST_P(QueryTest, wildcardNxrrsetWithDuplicateNSEC) {
// TODO: this seems to be an in-memory specific bug
...
}
}}}
The first one because we substitute the owner name of RRsets for type
ANY queries unconditionally (which will confuse the isSameKind() check
later):
{{{
target->push_back(createTreeNodeRRset(node, cur_rds, rrclass_,
options, &name));
}}}
The second one is because we substitute the owner name of NSEC for
NXRRSET while we shouldn't:
{{{
// No exact match or CNAME. Get NSEC if necessary and return NXRRSET.
return (createFindResult(rrclass_, zone_data_, NXRRSET, node,
getNSECForNXRRSET(zone_data_, options, node),
options, wild, &name));
}}}
Fixing these should be easy, but they should have been caught in unit
tests for the zone finder in the first place, so we need such tests,
too. We should then also re-enable the disabled tests in query_unittest.
--
Ticket URL: <http://bind10.isc.org/ticket/2585>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list