BIND 10 #983: Python wrappers for ACLs

BIND 10 Development do-not-reply at isc.org
Thu Jul 7 22:35:19 UTC 2011


#983: Python wrappers for ACLs
-------------------------------------+-------------------------------------
                   Reporter:         |                 Owner:  jinmei
  vorner                             |                Status:  accepted
                       Type:  task   |             Milestone:
                   Priority:  major  |  Sprint-20110712
                  Component:         |            Resolution:
  Unclassified                       |             Sensitive:  0
                   Keywords:         |           Sub-Project:  DNS
            Defect Severity:  N/A    |  Estimated Difficulty:  5.0
Feature Depending on Ticket:  ACL    |           Total Hours:  0
        Add Hours to Ticket:  0      |
                  Internal?:  0      |
-------------------------------------+-------------------------------------

Comment (by jinmei):

 trac983 is ready for review.

 Probably the most controversial point is the module (package)
 organization.  I chose to make it a package, not a single module,
 consisting of __init__.py and some .so objects under the isc/acl
 directly.  I did it because it would be more consistent with the
 underlying C++ module (it has separate namespace for DNS related
 definitions).  On the other hand, it may look the module (package)
 unnecessarily complicated, especially because we currently only have
 DNS specific classes (and it's not clear if and when we expand it).

 Another possibly non-trivial point is the load_request_acl() function.
 It corresponds to getRequestLoader().load().  I didn't see the need
 for directly defining the singleton loader in the python binding,
 so I only exposed the interface of the top level load() function this
 way.

 One other thing is the trick made in configure.ac.  As commented
 there, I needed a separate variable to install all .py and .so under
 isc/acl/ directory.

 The organization and design issues aside, the implementation itself
 should be quite straightforward.  It's not so different from other
 common binding implementations.  Also, the ported interfaces are
 limited.

 This may not need a changelog entry, but this is a proposed one
 anyway:
 {{{
 269.    [func]          jinmei
         Added python bindings for ACLs using the DNS request as the
         context.  They are accessible via the isc.acl.dns module.
         (Trac #983, git TBD)
 }}}

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


More information about the bind10-tickets mailing list