From: Paweł Chmielowski Date: Thu, 8 Dec 2016 17:07:41 +0000 (+0100) Subject: Improve handling on acl rules in api_permissions X-Git-Tag: 16.12~7 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a50247c20d70379e9535e5a1cd093da5c01f341a;p=ejabberd Improve handling on acl rules in api_permissions --- diff --git a/src/ejabberd_access_permissions.erl b/src/ejabberd_access_permissions.erl index 1939bcfa0..7aca2a8ef 100644 --- a/src/ejabberd_access_permissions.erl +++ b/src/ejabberd_access_permissions.erl @@ -266,7 +266,7 @@ matches_definition({_Name, {From, Who, What}}, Cmd, Module, Host, CallerInfo) -> lists:any( fun({access, Access}) when Scope == none -> acl:access_matches(Access, CallerInfo, Host) == allow; - ({acl, _} = Acl) when Scope == none -> + ({acl, Acl}) when Scope == none -> acl:acl_rule_matches(Acl, CallerInfo, Host); ({oauth, Scopes, List}) when Scope /= none -> case ejabberd_oauth:scope_in_scope_list(Scope, Scopes) of @@ -274,7 +274,7 @@ matches_definition({_Name, {From, Who, What}}, Cmd, Module, Host, CallerInfo) -> lists:any( fun({access, Access}) -> acl:access_matches(Access, CallerInfo, Host) == allow; - ({acl, _} = Acl) -> + ({acl, Acl} = Acl) -> acl:acl_rule_matches(Acl, CallerInfo, Host) end, List); _ -> @@ -407,7 +407,7 @@ parse_who(Name, Defs, ParseOauth) when is_list(Defs) -> {scope, ScopeList2} end; (Atom) when is_atom(Atom) -> - {acl, Atom}; + {acl, {acl, Atom}}; ([Other]) -> try acl:normalize_spec(Other) of Rule2 ->