BIND 10 #2586: sqlite3 data source doesn't seem to handle escaped name correctly

BIND 10 Development do-not-reply at isc.org
Fri Feb 8 22:00:08 UTC 2013


#2586: sqlite3 data source doesn't seem to handle escaped name correctly
-------------------------------------+-------------------------------------
            Reporter:  jinmei        |                        Owner:
                Type:  defect        |  jinmei
            Priority:  medium        |                       Status:
           Component:  data source   |  accepted
            Keywords:                |                    Milestone:
           Sensitive:  0             |  Sprint-20130219
         Sub-Project:  DNS           |                   Resolution:
Estimated Difficulty:  4             |                 CVSS Scoring:
         Total Hours:  0             |              Defect Severity:  N/A
                                     |  Feature Depending on Ticket:
                                     |          Add Hours to Ticket:  0
                                     |                    Internal?:  0
-------------------------------------+-------------------------------------

Comment (by jinmei):

 trac2586 is ready for review.

 As I guessed, it was because of the use of escaped labels.  In the
 original test scenarios, it (correctly) assumed the test names were
 sorted in the following order:
 {{{
 mx.example.com. (exist)
 (.no.example.com. (qname, NXDOMAIN)
 ).no.example.com. (exist)
 *.no.example.com. (best possible wildcard, not exist)
 }}}

 But '(' and ')' are escaped in the sqlite3 DB file, and since the
 ascii code of '\' (92) is larger than that of '*' (42), the data
 source would sort them as follows:
 {{{
 mx.example.com. (exist)
 *.no.example.com. (best possible wildcard, not exist)
 \(.no.example.com. (qname, NXDOMAIN)
 \).no.example.com. (exist)
 }}}
 and produced the wrong result in identifying the "previous name" for
 finding negative proof records.

 As described in the ticket description, this is a fundamental (known)
 issue of the current design, and requires substantial changes.
 However, we can avoid the failure in the query test by choosing labels
 that are not escaped.  So I made such change in the branch and enable
 the tests for the SQLite3 data source, too.  Note that escape handling
 is not the subject of this test, so we are not hiding anything by
 doing so.

 This shouldn't need a changelog.

-- 
Ticket URL: <http://bind10.isc.org/ticket/2586#comment:4>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list