]> granicus.if.org Git - ejabberd/commitdiff
* src/acl.erl: Slightly changed "access" option processing
authorAlexey Shchepin <alexey@process-one.net>
Thu, 14 Jul 2005 23:48:57 +0000 (23:48 +0000)
committerAlexey Shchepin <alexey@process-one.net>
Thu, 14 Jul 2005 23:48:57 +0000 (23:48 +0000)
SVN Revision: 377

ChangeLog
src/acl.erl

index 105d1f405c584dd24b923c12ed8a64c3710d107c..9412e948a9a49cf35fbc41a136e14859dce079c7 100644 (file)
--- 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
 
index c7ffb874c956acfd5ef67533849e9c50b46af043..61c997f88c6d634dcc54ce301eb48fd885effc53 100644 (file)
@@ -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.