BIND 10 #1457: use the difference normalizer in the DDNS module

BIND 10 Development do-not-reply at isc.org
Tue May 29 21:46:28 UTC 2012


#1457: use the difference normalizer in the DDNS module
-------------------------------------+-------------------------------------
                   Reporter:  jelte  |                 Owner:  UnAssigned
                       Type:  task   |                Status:  reviewing
                   Priority:         |             Milestone:
  medium                             |  Sprint-20120612
                  Component:  DDNS   |            Resolution:
                   Keywords:         |             Sensitive:  0
            Defect Severity:  N/A    |           Sub-Project:  DNS
Feature Depending on Ticket:  DDNS   |  Estimated Difficulty:  3
        Add Hours to Ticket:  0      |           Total Hours:  22
                  Internal?:  0      |
-------------------------------------+-------------------------------------
Changes (by jelte):

 * owner:  jelte => UnAssigned
 * status:  assigned => reviewing
 * totalhours:  0 => 22


Comment:

 Okay, hmm, be warned: the diff for this branch is even larger than the one
 for #1455 was (I'll stop doing that, I promise).

 One of the reasons is that as said, processing the update section is quite
 nontrivial. I also did a few refactors that made me change some code from
 #1455 again (mainly easier to read unit tests, and member variables in the
 session instead of passing zname, zclass and datasrc_client around all the
 time)

 Some notes:
 - I added a few local helper functions, which may be very useful in a more
 general sense, both in session.py and the unit tests. But for now I've
 left them local (especially the rrset-looper, which contains some python
 voodoo, for which there may be better python voodoo)
 - It may be controversial, but I thought the code is much better with the
 previously mentioned member variables; instead of returning (zname,
 zclass, datasrc_client), __get_update_zone() now sets them in the session.
 It also sets one ZoneFinder, instead of calling find_zone over and over
 again.
 - The 'prescan' functionality as described in RFC2136 keeps track of
 whether it has seen a SOA record;   this should make filling in the
 'update serial' code much easier.
 - another potentially controversial thing is that at some point it checks
 for a range of RRType values, to filter out the meta-types. Since we
 haven't implemented all of these (yet?) doing so by name isn't possible,
 but maybe there's a better way that I can't think of right now :)

-- 
Ticket URL: <http://bind10.isc.org/ticket/1457#comment:12>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list