]> granicus.if.org Git - ejabberd/commitdiff
Use new access_rules_validator in couple places
authorPaweł Chmielowski <pchmielowski@process-one.net>
Tue, 21 Jun 2016 10:28:53 +0000 (12:28 +0200)
committerPaweł Chmielowski <pchmielowski@process-one.net>
Tue, 21 Jun 2016 10:28:53 +0000 (12:28 +0200)
src/ejabberd_commands.erl
src/mod_http_api.erl

index 1b7d777e64b0fd5bbe098bc547c71a3e202c0eda..9d41f50c2230be5bda402c5d63d3e9a132777c06 100644 (file)
@@ -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].
index 1962e1d0e95b74ebace460741a47cee9778cf199..aadf09974c9b8b5c4df0636555ff2c2e3dd61e99 100644 (file)
@@ -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].