diff options
Diffstat (limited to 'src/acl.erl')
-rw-r--r-- | src/acl.erl | 10 |
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. |