summaryrefslogtreecommitdiff
path: root/src/ejabberd_auth.erl
diff options
context:
space:
mode:
authorEvgeny Khramtsov <ekhramtsov@process-one.net>2019-04-19 15:42:24 +0300
committerEvgeny Khramtsov <ekhramtsov@process-one.net>2019-04-19 15:42:24 +0300
commit7c45b52c86fb2673f5faa47c8cc163af938b09b1 (patch)
tree37a3f46d82f010d07e5688e54eefae1abb11d35e /src/ejabberd_auth.erl
parentAllow returning HTTP headers in REST responses (diff)
Correctly support cache tags in ejabberd_auth
Diffstat (limited to 'src/ejabberd_auth.erl')
-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 dfe3f534..7d659113 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, _} ->