aboutsummaryrefslogtreecommitdiff
path: root/src/acl.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/acl.erl')
-rw-r--r--src/acl.erl10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/acl.erl b/src/acl.erl
index c7ffb874c..61c997f88 100644
--- a/src/acl.erl
+++ b/src/acl.erl
@@ -102,7 +102,15 @@ match_rule(Host, Rule, JID) ->
undefined ->
match_acls(GACLs, JID, Host);
ACLs ->
- match_acls(GACLs ++ ACLs, JID, Host)
+ case lists:reverse(GACLs) of
+ [{allow, all} | Rest] ->
+ match_acls(
+ lists:reverse(Rest) ++ ACLs ++
+ [{allow, all}],
+ JID, Host);
+ _ ->
+ match_acls(GACLs ++ ACLs, JID, Host)
+ end
end
end
end.