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