BIND 10 #221: review: Refactoring auth server and merge the axfr and notify logic into it
BIND 10 Development
do-not-reply at isc.org
Sat Jul 10 19:54:23 UTC 2010
#221: review: Refactoring auth server and merge the axfr and notify logic into it
------------------------------+---------------------------------------------
Reporter: hanfeng | Owner: jinmei
Type: enhancement | Status: accepted
Priority: major | Milestone: 06. 4th Incremental Release
Component: b10-auth | Resolution:
Keywords: | Sensitive: 0
Estimatedhours: | Hours:
Billable: 1 | Totalhours:
Internal: 0 |
------------------------------+---------------------------------------------
Changes (by jinmei):
* internal: => 0
* billable: => 1
Comment:
branches/trac221b is ready for review.
The diff from the branch point can be retrieved by
{{{
svn diff -r2462 svn+ssh://bind10.isc.org/svn/bind10/branches/trac221b
}}}
This branch actually consists of two (mostly) independent sets of changes:
- refactoring ASIO link to separate xfr/notify logic from the ASIO
interface. detailed documentation and tests are also provided.
- support for incoming AXFR and NOTIFY messages, including detailed tests
The following files are modified for the first set of changes:
- src/bin/auth/main.cc
- src/bin/auth/asio_link.cc
- src/bin/auth/asio_link.h
- src/bin/auth/tests/asio_link_unittest.cc
- src/lib/cc/session.h (just for minor editorial changes + comments)
and these are for the second set of changes:
- src/lib/xfr/xfrout_client.cc
- src/lib/xfr/xfrout_client.h
- src/bin/auth/auth_srv.cc
- src/bin/auth/auth_srv.h
- src/bin/xfrin/tests/xfrin_test.py
- src/bin/xfrin/xfrin.py.in
The size of entire diff is pretty big, so we might want to assign two
reviewers to separate the review task. Or, if it's desirable we could
make another supplemental branch for the first set of changes before
getting the second reviewed. I'd leave it to the reviewer and/or
Shane.
For convenience, an HTML version of the ASIO link documentation is
available at:
http://bind10.isc.org/~jinmei/bind10/cpp/namespaceasio__link.html
I should also note that I disabled the code in xfrin.py that starts
xfrin triggered by a notify for security reasons (see the comment). I
guess we have to wait for the zone manager implementation that can
handle incoming notifies in a securer way. Nevertheless the code is
provided as a proof of concept.
Suggested !ChangeLog entry is as follows:
{{{
75.? [func] feng, jinmei
Refactored the ASIO link interfaces to move incoming XFR and
NOTIFY processing to the auth server class. Wrapper classes for
ASIO specific concepts were also provided, so that other BIND 10
modules can (eventually) use the interface without including the
ASIO header file directly. On top of these changes, AXFR and
NOTIFY processing was massively improved in terms of message
validation and protocol conformance. Detailed tests were provided
to confirm the behavior.
Note: Right now, NOTIFY doesn't actually trigger subsequent zone
transfer due to security reasons. (Trac #221, rTBD)
}}}
--
Ticket URL: <http://bind10.isc.org/ticket/221#comment:23>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list