aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ejabberd_auth.erl13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/ejabberd_auth.erl b/src/ejabberd_auth.erl
index dfe3f534a..7d6591135 100644
--- a/src/ejabberd_auth.erl
+++ b/src/ejabberd_auth.erl
@@ -613,7 +613,10 @@ db_user_exists(User, Server, Mod) ->
case Mod:user_exists(User, Server) of
true -> {ok, exists};
false -> error;
- {error, _} = Err -> Err
+ {error, _} = Err -> Err;
+ {CacheTag, true} -> {CacheTag, {ok, exists}};
+ {CacheTag, false} -> {CacheTag, error};
+ {_, {error, _}} = Err -> Err
end
end) of
{ok, _} ->
@@ -643,10 +646,10 @@ db_check_password(User, AuthzId, Server, ProvidedPassword,
fun() ->
case Mod:check_password(
User, AuthzId, Server, ProvidedPassword) of
- true ->
- {ok, ProvidedPassword};
- false ->
- error
+ true -> {ok, ProvidedPassword};
+ false -> error;
+ {CacheTag, true} -> {CacheTag, {ok, ProvidedPassword}};
+ {CacheTag, false} -> {CacheTag, error}
end
end) of
{ok, _} ->