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