BIND 10 #999: Integrate ACLs into b10-resolver

BIND 10 Development do-not-reply at isc.org
Tue Jun 21 08:05:43 UTC 2011


#999: Integrate ACLs into b10-resolver
-------------------------------------+-------------------------------------
                   Reporter:         |                 Owner:  jinmei
  vorner                             |                Status:  accepted
                       Type:  task   |             Milestone:
                   Priority:  major  |  Sprint-20110628
                  Component:         |            Resolution:
  Unclassified                       |             Sensitive:  0
                   Keywords:         |           Sub-Project:  DNS
            Defect Severity:  N/A    |  Estimated Difficulty:  4.0
Feature Depending on Ticket:         |           Total Hours:  0
        Add Hours to Ticket:  0      |
                  Internal?:  0      |
-------------------------------------+-------------------------------------

Comment (by vorner):

 Hello

 Replying to [comment:6 jinmei]:
 > I've been thinking about the same concept for #999 and tentatively
 > defined a class named "Client":

 I didn't find the trac999 in git, so I couldn't have a look. But, do we
 really need accessor methods for something that just holds some data
 together? Anyway, it's not the main problem.

 I believe we need to integrate the two branches together sometime,
 otherwise registration of all the various checks will be problematic. I
 don't really care much about which class/struct is used as the context, I
 just put there the simplest think that looked it should work.

 > It's not a very strong opinion, but I suspect "Packet" sounds a bit
 > too generic in that it could be either incoming/outgoing
 > request/response, while this class seems to focus on the incoming
 > side, e.g., from this:

 I expected it to be incoming. The local port and address are there,
 because we accept them on some and user might want to distinguish at which
 interface it came. But that wouldn't be too common I guess.

 > I (again tentatively) define the "Client" class in lib/server_common.

 I don't think server_common is the place to go. That one is for
 implementation/technical stuff we have for our servers. The ACL should be
 a generally-available library I believe (with python bindings, etc). I
 thought of putting it as dns::acl as well, which would make some sense as
 well, but server_common feels odd.

 > I'm not sure how many things that depend on specific contexts would be
 > reasonably defined under the acl namespace.  Also, the concept of
 > "Packet" itself is not necessarily tied to access control.  By
 > defining Client, I'd envision we'll eventually use it as a higher
 > level interface between ASIO and actual (auth/resolver) server
 > classes, that is, instead of getting a set of io_message,
 > query_message, ... etc. in Resolver::processMessage(), we'd pass a
 > "Client" object that encloses these types of parameters.

 Surely a good goal, I'm not against having the „context“ out of the ACL
 thing. I'd like to have a place where we put all the TSIG checks, etc,
 which is both ACL-related and DNS-related. The important part now is, I
 believe, using the singleton loader. As you mentioned, you expect to have
 this ready for review soon, this would be one of the TBD?

 Thanks

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


More information about the bind10-tickets mailing list