BIND 10 #2420: allow loading zones containing an orphan RRSIG
BIND 10 Development
do-not-reply at isc.org
Tue Nov 13 02:50:30 UTC 2012
#2420: allow loading zones containing an orphan RRSIG
-------------------------------------+-------------------------------------
Reporter: | Owner: jinmei
jinmei | Status: accepted
Type: | Milestone:
defect | Sprint-20121120
Priority: | Resolution:
medium | Sensitive: 0
Component: data | Sub-Project: DNS
source | Estimated Difficulty: 5
Keywords: | Total Hours: 0
Defect Severity: High |
Feature Depending on Ticket: |
Add Hours to Ticket: 0 |
Internal?: 0 |
-------------------------------------+-------------------------------------
Comment (by jinmei):
trac2420 is ready for review.
The main change is not big, but I needed to update various parts of
the implementation and add quite a few numbers of tests to catch
various different cases. So the entire diff is a bit big and changes
are scattered. Here's some suggested instruction for review in the
hope that it might reduce the pain:
- The first commit (89a6779) is a pure refactoring (no behavior
change), and only for the convenience of tests that are added later.
I suggest reviewing this commit separately and then forget it.
- commits from 1558c3b to 7eb7d5e are the main changes for the subject
of this ticket. Among these d805ae6 is probably the most important
change, and it's basically independent from others. So I suggest
reviewing this commit next, and separately.
- 798e61a is also an independent change, and was needed simply because
new test data caused an exception in a test for the old version of
in-memory data source. We should really deprecate this stuff soon,
but until then I suggest we live with this workaround.
- I think the rest of the changes between 1558c3b to 7eb7d5e is
reasonably understandable. There are many test cases to cover
various scenarios, but hopefully the comments help understand them.
- Finally, 9397bd5 is a totally independent, and unrelated fix. As
commented in the commit log, I noticed the current code could cause
an unexpected assert() failure for a half-broken zone that is
generally NSEC-signed but has no NSEC at the origin. We could
exclude this change from this ticket, but since it could be
potentially serious and the fix itself is small, I thought it might
make sense to piggy back the fix.
The suggested changelog entry is:
{{{
503.? [bug] jinmei
The in-memory data source now accepts an RRSIG provided without
a covered RRset in loading. A subsequent query for its owner name
of the covered type would generally result in NXRRSET; if the
covered RRset is of type NSEC3, the corresponding NSEC3 processing
would result in SERVFAIL.
(Trac #2420, git TBD)
}}}
--
Ticket URL: <http://bind10.isc.org/ticket/2420#comment:5>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list