summaryrefslogtreecommitdiff
path: root/src/ejabberd_auth.erl
diff options
context:
space:
mode:
authorHolger Weiss <holger@zedat.fu-berlin.de>2018-05-03 00:31:33 +0200
committerHolger Weiss <holger@zedat.fu-berlin.de>2018-05-03 00:31:33 +0200
commit410db89167b3a209a2f84f7c544893804de6d925 (patch)
tree4b61d2765b3522409dfe8b9ebbdd319d8e8bebe1 /src/ejabberd_auth.erl
parentmod_blocking: Use #block_item{} record (diff)
ejabberd_auth: Don't use cache if it's disabled
Don't let the check whether a user exists use the cache if caching was disabled in the configuration.
Diffstat (limited to 'src/ejabberd_auth.erl')
-rw-r--r--src/ejabberd_auth.erl6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/ejabberd_auth.erl b/src/ejabberd_auth.erl
index 861d8f37..585b4a9b 100644
--- a/src/ejabberd_auth.erl
+++ b/src/ejabberd_auth.erl
@@ -545,8 +545,8 @@ db_user_exists(User, Server, Mod) ->
{ok, _} ->
true;
error ->
- case Mod:store_type(Server) of
- external ->
+ case {Mod:store_type(Server), use_cache(Mod, Server)} of
+ {external, true} ->
case ets_cache:lookup(
?AUTH_CACHE, {User, Server},
fun() ->
@@ -561,6 +561,8 @@ db_user_exists(User, Server, Mod) ->
error ->
false
end;
+ {external, false} ->
+ Mod:user_exists(User, Server);
_ ->
false
end