BIND 10 #1462: check SOA serial in xfrout
BIND 10 Development
do-not-reply at isc.org
Fri Dec 30 07:29:22 UTC 2011
#1462: check SOA serial in xfrout
-------------------------------------+-------------------------------------
Reporter: | Owner: jinmei
jinmei | Status: reviewing
Type: task | Milestone:
Priority: major | Sprint-20120110
Component: | Resolution:
xfrout | Sensitive: 0
Keywords: | Sub-Project: DNS
Defect Severity: N/A | Estimated Difficulty: 3
Feature Depending on Ticket: AXFR- | Total Hours: 0
out |
Add Hours to Ticket: 0 |
Internal?: 0 |
-------------------------------------+-------------------------------------
Comment (by jinmei):
Replying to [comment:15 kevin_tes]:
> Hi jinmei, i am not so sure about it, thanks for the information
If you've not done it, maybe you want to take a look at
http://bind10.isc.org/wiki/CodeReviewProcedure
Some (most?) of it are outdated, but the general idea should still hold.
The changes don't seem to address my concerns. Rather than explaining
what's missing and running more develop-review cycle, I've directly
revised the branch with the changes I'd envision.
First, see 0f43276 and 8c0f14c. These are what I wanted to preserve
the original test scenarios.
Second, see 0fa9421. This kind of test confirms we really use serial
number arithmetic. Your previous test didn't fail even if I reverted
get_soa_serial() to the integer version:
{{{#!python
def get_soa_serial(soa_rdata):
return int(soa_rdata.to_text().split()[2])
#return Serial(int(soa_rdata.to_text().split()[2]))
}}}
and didn't actually test what should have been tested.
In general, if we add a test case for a bug fix, that test should fail
before applying the fix. Please make this sure for subsequent
changes.
If you agree with the changes I made, I'm okay with the branch.
Please feel free to merge.
As for the changelog entry:
> > Please also show proposed changelog entry.
> [func] kevin
> Add SOA serial check in xfrout. When an IXFR query with the newer
version
> number than that of the server is received, it is replied to with a
single
> SOA record of the server's current version.
> (Trac #1462, git d394e64f4c44f16027b1e62b4ac34e054b49221d)
I'd say it's a "bug" (fix). This is similar to changelog entry 338
(Trac #1299). Also, "add" is not entirely correct because we already
did some check (i.e, equality check). And, the git hash should be the
merge commit of the corresponding branch, which is not known yet. So
at the proposal phase we'd normally use a placeholder such as "TBD".
Considering these, I'd revise it to:
{{{
347.? [bug] kevin
Corrected SOA serial check in xfrout. It now compares the SOA
serial of an IXFR query with that of the server based serial
number arithmetic, and replies with a single SOA record of the
server's current version if the former is equal to or newer than
the latter.
(Trac #1462, git TBD)
}}}
(Don't forget updating "TBD" when you actually add this to the master)
--
Ticket URL: <http://bind10.isc.org/ticket/1462#comment:17>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list