diff options
Diffstat (limited to 'src/ejabberd_auth.erl')
-rw-r--r-- | src/ejabberd_auth.erl | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/src/ejabberd_auth.erl b/src/ejabberd_auth.erl index 0267a2192..6b7f537c0 100644 --- a/src/ejabberd_auth.erl +++ b/src/ejabberd_auth.erl @@ -136,7 +136,7 @@ check_password(User, AuthzId, Server, Password, Digest, %% {true, AuthModule} | false %% where %% AuthModule = ejabberd_auth_anonymous | ejabberd_auth_external -%% | ejabberd_auth_internal | ejabberd_auth_ldap +%% | ejabberd_auth_mnesia | ejabberd_auth_ldap %% | ejabberd_auth_sql | ejabberd_auth_pam | ejabberd_auth_riak -spec check_password_with_authmodule(binary(), binary(), binary(), binary()) -> false | {true, atom()}. @@ -428,30 +428,21 @@ auth_modules() -> %% Return the list of authenticated modules for a given host auth_modules(Server) -> LServer = jid:nameprep(Server), - Default = case gen_mod:default_db(LServer) of - mnesia -> internal; - DBType -> DBType - end, + Default = ejabberd_config:default_db(LServer, ?MODULE), Methods = ejabberd_config:get_option( - {auth_method, LServer}, - fun(V) when is_list(V) -> - true = lists:all(fun is_atom/1, V), - V; - (V) when is_atom(V) -> - [V] - end, [Default]), + {auth_method, LServer}, opt_type(auth_method), [Default]), [jlib:binary_to_atom(<<"ejabberd_auth_", (jlib:atom_to_binary(M))/binary>>) || M <- Methods]. export(Server) -> - ejabberd_auth_internal:export(Server). + ejabberd_auth_mnesia:export(Server). import(Server) -> - ejabberd_auth_internal:import(Server). + ejabberd_auth_mnesia:import(Server). import(Server, mnesia, Passwd) -> - ejabberd_auth_internal:import(Server, mnesia, Passwd); + ejabberd_auth_mnesia:import(Server, mnesia, Passwd); import(Server, riak, Passwd) -> ejabberd_auth_riak:import(Server, riak, Passwd); import(_, _, _) -> @@ -459,7 +450,7 @@ import(_, _, _) -> opt_type(auth_method) -> fun (V) when is_list(V) -> - true = lists:all(fun is_atom/1, V), V; - (V) when is_atom(V) -> [V] + lists:map(fun(M) -> ejabberd_config:v_db(?MODULE, M) end, V); + (V) -> [ejabberd_config:v_db(?MODULE, V)] end; opt_type(_) -> [auth_method]. |