BIND 10 #2503: Problem in inmem NSEC3 denial of existence handling
BIND 10 Development
do-not-reply at isc.org
Fri Nov 23 15:25:20 UTC 2012
#2503: Problem in inmem NSEC3 denial of existence handling
-------------------------------------+-------------------------------------
Reporter: jelte | Owner:
Type: | Status: new
defect | Milestone: New Tasks
Priority: | Resolution:
medium | Sensitive: 0
Component: data | Sub-Project: DNS
source | Estimated Difficulty: 0
Keywords: | Total Hours: 0
Defect Severity: N/A |
Feature Depending on Ticket: |
Add Hours to Ticket: 0 |
Internal?: 0 |
-------------------------------------+-------------------------------------
Comment (by jinmei):
Replying to [ticket:2503 jelte]:
> Normal digs/drills for this data work, but for an NXDOMAIN or
NOERROR/NODATA, it returns SERVFAIL.
>
> The output log shows:
> {{{
> 2012-11-22 22:25:00.912 ERROR [b10-auth.auth] AUTH_PROCESS_FAIL message
processing failure: findNSEC3 attempt but zone has no NSEC3 RRs:
ok.ok.ok.ok.nsec3.tjeb.nl./IN
> }}}
>
> note, this exception text occurs twice, I've confirmed it is the second
case (trying to find origin node); loading itself works fine:
And I suspect the second one is a copy-paste bug. In any case the
message isn't really helpful in diagnose.
In this setup the NSEC3 domain tree has only one node for the owner
name of the only NSEC3 RR, so find(origin) wouldn't return an EXACTMATCH
as
the code expects:
{{{#!cpp
ZoneTree::Result result =
tree.find<void*>(origin_ls, &node, orig_chain, NULL, NULL);
if (result != ZoneTree::EXACTMATCH) {
// If the origin node doesn't exist, simply fail.
isc_throw(DataSourceError,
"findNSEC3 attempt but zone has no NSEC3 RRs: " <<
origin_ls << "/" << getClass());
}
}}}
Normally we have more than one NSEC3 RRs of different owner names
(different hashes), so the tree has an (empty) node for the origin
name.
I think what we should do is to explicitly insert the origin name to
the nsec3 tree, just like we do so for the normal zone tree.
--
Ticket URL: <http://bind10.isc.org/ticket/2503#comment:1>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list