aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPaweł Chmielowski <pchmielowski@process-one.net>2016-06-21 12:28:53 +0200
committerPaweł Chmielowski <pchmielowski@process-one.net>2016-06-21 12:28:53 +0200
commit52d45604ba705bdf029eda6c7b39622b8f2a8ebe (patch)
treead46a4ec333e78ca93559abad75063d92e7f88eb /src
parentAdd acl:{access,shaper}_rules_validator for use in {mod_}opt_type() (diff)
Use new access_rules_validator in couple places
Diffstat (limited to '')
-rw-r--r--src/ejabberd_commands.erl5
-rw-r--r--src/mod_http_api.erl5
2 files changed, 4 insertions, 6 deletions
diff --git a/src/ejabberd_commands.erl b/src/ejabberd_commands.erl
index 1b7d777e6..9d41f50c2 100644
--- a/src/ejabberd_commands.erl
+++ b/src/ejabberd_commands.erl
@@ -761,7 +761,7 @@ is_admin(Name, Auth, Extra) ->
end,
AdminAccess = ejabberd_config:get_option(
commands_admin_access,
- fun(A) when is_atom(A) -> A end,
+ fun(V) -> V end,
none),
case acl:access_matches(AdminAccess, ACLInfo, Server) of
allow ->
@@ -773,8 +773,7 @@ is_admin(Name, Auth, Extra) ->
deny -> false
end.
-opt_type(commands_admin_access) ->
- fun(A) when is_atom(A) -> A end;
+opt_type(commands_admin_access) -> fun acl:access_rules_validator/1;
opt_type(commands) ->
fun(V) when is_list(V) -> V end;
opt_type(_) -> [commands, commands_admin_access].
diff --git a/src/mod_http_api.erl b/src/mod_http_api.erl
index 1962e1d0e..aadf09974 100644
--- a/src/mod_http_api.erl
+++ b/src/mod_http_api.erl
@@ -173,7 +173,7 @@ check_permissions2(_Request, Call, open) ->
{allowed, Call, noauth};
check_permissions2(#request{ip={IP, _Port}}, Call, _Policy) ->
Access = gen_mod:get_module_opt(global, ?MODULE, admin_ip_access,
- mod_opt_type(admin_ip_access),
+ fun(V) -> V end,
none),
Res = acl:match_rule(global, Access, IP),
case Res of
@@ -502,6 +502,5 @@ log(Call, Args, {Addr, Port}) ->
log(Call, Args, IP) ->
?INFO_MSG("API call ~s ~p (~p)", [Call, Args, IP]).
-mod_opt_type(admin_ip_access) ->
- fun(Access) when is_atom(Access) -> Access end;
+mod_opt_type(admin_ip_access) -> fun acl:access_rules_validator/1;
mod_opt_type(_) -> [admin_ip_access].