aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog2
-rw-r--r--src/acl.erl10
2 files changed, 11 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 105d1f405..9412e948a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
2005-07-15 Alexey Shchepin <alexey@sevcom.net>
+ * src/acl.erl: Slightly changed "access" option processing
+
* src/mod_disco.erl: Fixed processing of host features and
extra_domains option
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.