BIND 10 #1810: support NO_WILDCARD option in InMemoryZoneFinder::find().
BIND 10 Development
do-not-reply at isc.org
Thu May 10 17:11:25 UTC 2012
#1810: support NO_WILDCARD option in InMemoryZoneFinder::find().
-------------------------------------+-------------------------------------
Reporter: | Owner: jinmei
jinmei | Status: reviewing
Type: task | Milestone:
Priority: | Sprint-20120515
medium | Resolution:
Component: data | Sensitive: 0
source | Sub-Project: DNS
Keywords: | Estimated Difficulty: 3
Defect Severity: N/A | Total Hours: 0
Feature Depending on Ticket: in- |
memory NSEC |
Add Hours to Ticket: 0 |
Internal?: 0 |
-------------------------------------+-------------------------------------
Comment (by jinmei):
Replying to [comment:8 jelte]:
> The change looks simple & okay.
>
> I am wondering if there is a hidden semantical conflict with 1808 though
:) Or maybe just an oversight; the DATASRC_MEM_NXRRSET either also needs
some form of NO_WILDCARD check, or maybe it simply should never rename its
result; when I merge all branches together I get a wildcard-expanded NSEC
record in my responses.
Do you mean what if `rename` is true while NO_WILDCARD is specified?
{{{#!cpp
const bool rename = ((node_result.flags &
ZoneData::FindNodeResult::FIND_WILDCARD) !=
0);
}}}
This should be impossible, because findNode() should never set the
FIND_WILDCARD flag if NO_WILDCARD is specified. It's a bit indirect,
but I guess it's pretty clear from the findNode() implementation.
But we could also make that 100% sure by explicitly asserting it:
{{{#!cpp
const bool rename = ((node_result.flags &
ZoneData::FindNodeResult::FIND_WILDCARD) !=
0);
// findNode() must ensure wildcard isn't explored with NO_WILDCARD
assert((options & ZoneFinder::NO_WILDCARD) == 0 || !rename);
}}}
Would you like to do that?
--
Ticket URL: <http://bind10.isc.org/ticket/1810#comment:9>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list