BIND 10 #553: canceling wildcard match due to an empty non terminal

BIND 10 Development do-not-reply at isc.org
Sat Jan 29 07:59:57 UTC 2011


#553: canceling wildcard match due to an empty non terminal
-------------------------------------+-------------------------------------
           Reporter:  jinmei         |                      Owner:
               Type:  enhancement    |                     Status:  new
           Priority:  major          |                  Milestone:  A-Team-
          Component:  data source    |  Task-Backlog
          Sensitive:  0              |                   Keywords:
Add Hours to Ticket:  0              |  Estimated Number of Hours:  0
        Total Hours:  0              |                  Billable?:  1
                                     |                  Internal?:  0
-------------------------------------+-------------------------------------
 See the analysis ticket (#506) for the big picture.
 This is a substask for a corner case of find()ing (and canceling) a
 wildcard.

 This subtask depends on #552 (and #517).

 This process is details of step 4 of #551.
 It implements the following part of Section 4.3.3 of RFC1034:
 {{{
    - When the query name or a name between the wildcard domain and
      the query name is know to exist.
 }}}

 Specifically, when example.com has the wildcard name *.example.com and
 bar.foo.example.com, this process will reject aaa.foo.example.com
 and zzz.foo.example.com to be matched against the wildcard.
 The necessary steps are as follows:

  - get the existing previous node of the original query name, and the
    next node of the previous. For the query name of
    aaa.foo.example.com, they are *.example.com and
    bar.foo.example.com, respectively; for the query name of
    zzz.foo.example.com, they are bar.foo.example.com and something
    else (or none), respectively.
  - check if any ancestor name of the query name (including the qname
    itself) up to the node marked as "wild" (in this case example.com)
    is a super domain of either the previous and next node name. For
    aaa.foo.example.com, its 1-generation ancestor, foo.example.com is
    a super domain of the next, "bar.foo.example.com"; for
    zzz.foo.example.com, its 1-generation ancestor, again
    foo.example.com, is a super domain of the previous,
    "bar.foo.example.com". This means the query name is a subdomain of
    an empty non terminal under the "wild" node, foo.example.com, and
    should not allow wildcard match.

-- 
Ticket URL: <https://bind10.isc.org/ticket/553>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list