diff options
Diffstat (limited to 'src/ejabberd_auth.erl')
-rw-r--r-- | src/ejabberd_auth.erl | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/ejabberd_auth.erl b/src/ejabberd_auth.erl index 23f9c4ba2..d937340f1 100644 --- a/src/ejabberd_auth.erl +++ b/src/ejabberd_auth.erl @@ -50,6 +50,7 @@ remove_user/2, remove_user/3, plain_password_required/1, + storage_type/1, entropy/1 ]). @@ -75,6 +76,21 @@ plain_password_required(Server) -> M:plain_password_required() end, auth_modules(Server)). +storage_type(Server) -> + lists:foldl( + fun(_, external) -> + external; + (M, scram) -> + case M:storage_type() of + external -> + external; + _Else -> + scram + end; + (M, plain) -> + M:storage_type() + end, plain, auth_modules(Server)). + %% @doc Check if the user and password can login in server. %% @spec (User::string(), Server::string(), Password::string()) -> %% true | false |