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