aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rebar.config2
-rw-r--r--src/ejabberd_auth.erl17
2 files changed, 10 insertions, 9 deletions
diff --git a/rebar.config b/rebar.config
index 6a87dbc28..83b67c8b7 100644
--- a/rebar.config
+++ b/rebar.config
@@ -20,7 +20,7 @@
{deps, [{lager, ".*", {git, "https://github.com/erlang-lager/lager", "3.6.7"}},
{p1_utils, ".*", {git, "https://github.com/processone/p1_utils", {tag, "1.0.14"}}},
- {cache_tab, ".*", {git, "https://github.com/processone/cache_tab", {tag, "1.0.18"}}},
+ {cache_tab, ".*", {git, "https://github.com/processone/cache_tab", "5079ca9"}},
{fast_tls, ".*", {git, "https://github.com/processone/fast_tls", {tag, "1.1.0"}}},
{stringprep, ".*", {git, "https://github.com/processone/stringprep", {tag, "1.0.15"}}},
{fast_xml, ".*", {git, "https://github.com/processone/fast_xml", {tag, "1.1.35"}}},
diff --git a/src/ejabberd_auth.erl b/src/ejabberd_auth.erl
index c27930140..dfe3f534a 100644
--- a/src/ejabberd_auth.erl
+++ b/src/ejabberd_auth.erl
@@ -553,7 +553,7 @@ db_try_register(User, Server, Password, Mod) ->
{error, _} = Err -> Err
end;
false ->
- Mod:try_register(User, Server, Password1)
+ ets_cache:untag(Mod:try_register(User, Server, Password1))
end;
false ->
{error, not_allowed}
@@ -576,7 +576,7 @@ db_set_password(User, Server, Password, Mod) ->
{error, _} = Err -> Err
end;
false ->
- Mod:set_password(User, Server, Password1)
+ ets_cache:untag(Mod:set_password(User, Server, Password1))
end;
false ->
{error, not_allowed}
@@ -597,7 +597,7 @@ db_get_password(User, Server, Mod) ->
?AUTH_CACHE, {User, Server},
fun() -> Mod:get_password(User, Server) end);
true ->
- Mod:get_password(User, Server)
+ ets_cache:untag(Mod:get_password(User, Server))
end.
db_user_exists(User, Server, Mod) ->
@@ -624,7 +624,7 @@ db_user_exists(User, Server, Mod) ->
Err
end;
{external, false} ->
- Mod:user_exists(User, Server);
+ ets_cache:untag(Mod:user_exists(User, Server));
_ ->
false
end
@@ -655,7 +655,8 @@ db_check_password(User, AuthzId, Server, ProvidedPassword,
false
end;
{external, false} ->
- Mod:check_password(User, AuthzId, Server, ProvidedPassword);
+ ets_cache:untag(
+ Mod:check_password(User, AuthzId, Server, ProvidedPassword));
_ ->
false
end
@@ -664,7 +665,7 @@ db_check_password(User, AuthzId, Server, ProvidedPassword,
db_remove_user(User, Server, Mod) ->
case erlang:function_exported(Mod, remove_user, 2) of
true ->
- case Mod:remove_user(User, Server) of
+ case ets_cache:untag(Mod:remove_user(User, Server)) of
ok ->
case use_cache(Mod, Server) of
true ->
@@ -683,7 +684,7 @@ db_remove_user(User, Server, Mod) ->
db_get_users(Server, Opts, Mod) ->
case erlang:function_exported(Mod, get_users, 2) of
true ->
- Mod:get_users(Server, Opts);
+ ets_cache:untag(Mod:get_users(Server, Opts));
false ->
case use_cache(Mod, Server) of
true ->
@@ -701,7 +702,7 @@ db_get_users(Server, Opts, Mod) ->
db_count_users(Server, Opts, Mod) ->
case erlang:function_exported(Mod, count_users, 2) of
true ->
- Mod:count_users(Server, Opts);
+ ets_cache:untag(Mod:count_users(Server, Opts));
false ->
case use_cache(Mod, Server) of
true ->