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 ->
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].
{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
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].