BIND 10 #1455: Add prerequisite checks to the DDNS module

BIND 10 Development do-not-reply at isc.org
Wed May 23 09:56:15 UTC 2012


#1455: Add prerequisite checks to the DDNS module
-------------------------------------+-------------------------------------
                   Reporter:  jelte  |                 Owner:  UnAssigned
                       Type:  task   |                Status:  reviewing
                   Priority:         |             Milestone:
  medium                             |  Sprint-20120529
                  Component:  DDNS   |            Resolution:
                   Keywords:         |             Sensitive:  0
            Defect Severity:  N/A    |           Sub-Project:  DNS
Feature Depending on Ticket:  DDNS   |  Estimated Difficulty:  6
        Add Hours to Ticket:  0      |           Total Hours:  0
                  Internal?:  0      |
-------------------------------------+-------------------------------------
Changes (by jelte):

 * owner:  jelte => UnAssigned
 * status:  assigned => reviewing


Comment:

 OK, that took a bit, but it's ready for review.

 I implemented the algorithm as specified in RFC2136, except for the
 'individual rr collection', since that is already handled by the message
 parser. (I did include a test for it).

 The branch is branched from trac1512, I rebased it after the first round
 of review and before pushing, so I think that there will not be many
 conflicts (if at all).

 There are a few related changes in other parts of the code;
 - libdns++ needed support for empty RRsets. To make sure it doesn't
 interfere with rrsets that have not rdata, I copied the RFC2136 convention
 of only allowing empty RRsets for classes ANY and NONE.
 - Added a few namecomparison relation constants to pydnspp
 - Fixed the python wrapper for find_zone() to always return a 3-tuple (it
 sometimes dropped the third element and returned a 2-tuple)

 As for the implementation itself
 - there are a few methods that might be unnecessary; some prerequisites
 are essentially the reverse of another. I still have separate methods for
 those, since it looks nicer in the algorithm itself
 - logging of failed prereqs is mostly like in bind9, but with slightly
 different messages
 - the zone, class, and datasrc_client are currently passed to the
 check_prerequisites() method. I think they could just as well be set as
 members of the Session class, but for now they are passed. (no strong
 opinion here). But if the reviewer thinks so, we can probably remove them.

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


More information about the bind10-tickets mailing list