diff options
author | Alexey Shchepin <alexey@process-one.net> | 2015-10-19 20:16:04 +0300 |
---|---|---|
committer | Alexey Shchepin <alexey@process-one.net> | 2015-10-19 20:16:04 +0300 |
commit | 7c1e7e5b5f0342326e38451abe4bc3ca48e3d13c (patch) | |
tree | 3e15169c06578089b59bb48a82c5b1f12009560f /src/ejabberd_commands.erl | |
parent | Fix access_commands option handling (diff) |
Improve access_commands option backward compatibility
Diffstat (limited to 'src/ejabberd_commands.erl')
-rw-r--r-- | src/ejabberd_commands.erl | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/ejabberd_commands.erl b/src/ejabberd_commands.erl index ba604a07..9f55035d 100644 --- a/src/ejabberd_commands.erl +++ b/src/ejabberd_commands.erl @@ -226,6 +226,7 @@ -include("ejabberd.hrl"). -include("logger.hrl"). +-define(POLICY_ACCESS, '$policy'). init() -> ets:new(ejabberd_commands, [named_table, set, public, @@ -483,7 +484,7 @@ check_auth(_Command, {User, Server, Password, _}) when is_binary(Password) -> _ -> throw({error, invalid_account_data}) end. -check_access(Command, all, _) +check_access(Command, ?POLICY_ACCESS, _) when Command#ejabberd_commands.policy == open -> true; check_access(_Command, _Access, admin) -> @@ -491,7 +492,7 @@ check_access(_Command, _Access, admin) -> check_access(_Command, _Access, {_User, _Server, _, true}) -> false; check_access(Command, Access, Auth) - when Access =/= all; + when Access =/= ?POLICY_ACCESS; Command#ejabberd_commands.policy == open; Command#ejabberd_commands.policy == user -> case check_auth(Command, Auth) of @@ -503,6 +504,8 @@ check_access(Command, Access, Auth) check_access(_Command, _Access, _Auth) -> false. +check_access2(?POLICY_ACCESS, _User, _Server) -> + true; check_access2(Access, User, Server) -> %% Check this user has access permission case acl:match_rule(Server, Access, jlib:make_jid(User, Server, <<"">>)) of @@ -536,9 +539,11 @@ tag_arguments(ArgsDefs, Args) -> Args). +get_access_commands(unrestricted) -> + []; get_access_commands(undefined) -> Cmds = get_commands(), - [{all, Cmds, []}]; + [{?POLICY_ACCESS, Cmds, []}]; get_access_commands(AccessCommands) -> AccessCommands. |