DISPATCH-990: integrate the pattern match with vhost lookups
Project: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/commit/f17631cb Tree: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/tree/f17631cb Diff: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/diff/f17631cb Branch: refs/heads/master Commit: f17631cbe7a695fb4492a4437289d82a1a89a1c0 Parents: f90c2a8 Author: Chuck Rolke <[email protected]> Authored: Fri May 11 11:10:49 2018 -0400 Committer: Chuck Rolke <[email protected]> Committed: Fri May 11 11:10:49 2018 -0400 ---------------------------------------------------------------------- python/qpid_dispatch_internal/policy/policy_local.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/f17631cb/python/qpid_dispatch_internal/policy/policy_local.py ---------------------------------------------------------------------- diff --git a/python/qpid_dispatch_internal/policy/policy_local.py b/python/qpid_dispatch_internal/policy/policy_local.py index cd62072..ce47e21 100644 --- a/python/qpid_dispatch_internal/policy/policy_local.py +++ b/python/qpid_dispatch_internal/policy/policy_local.py @@ -607,15 +607,24 @@ class PolicyLocal(object): """ try: # choose rule set based on incoming vhost or default vhost + # or potential vhost found by pattern matching vhost = vhost_in - if vhost_in not in self.rulesetdb: + if self.use_hostname_patterns: + agent = self._manager.get_agent() + vhost = agent.qd.qd_dispatch_policy_host_pattern_lookup(agent.dispatch, vhost) + if vhost not in self.rulesetdb: if self.default_vhost_enabled(): vhost = self._default_vhost else: self._manager.log_info( "DENY AMQP Open for user '%s', rhost '%s', vhost '%s': " - "No policy defined for vhost" % (user, rhost, vhost)) + "No policy defined for vhost" % (user, rhost, vhost_in)) return "" + if vhost != vhost_in: + self._manager.log_debug( + "AMQP Open for user '%s', rhost '%s', vhost '%s': " + "proceeds using vhost '%s' ruleset" % (user, rhost, vhost_in, vhost)) + ruleset = self.rulesetdb[vhost] # look up the stats --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
