aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_auth.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/ejabberd_auth.erl')
-rw-r--r--src/ejabberd_auth.erl14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/ejabberd_auth.erl b/src/ejabberd_auth.erl
index 004023fc4..1503f7193 100644
--- a/src/ejabberd_auth.erl
+++ b/src/ejabberd_auth.erl
@@ -202,7 +202,12 @@ remove_user(User) ->
F = fun() ->
mnesia:delete({passwd, LUser})
end,
- mnesia:transaction(F).
+ mnesia:transaction(F),
+ catch mod_roster:remove_user(User),
+ catch mod_offline:remove_user(User),
+ catch mod_last:remove_user(User),
+ catch mod_vcard:remove_user(User),
+ catch mod_private:remove_user(User).
remove_user(User, Password) ->
LUser = jlib:nodeprep(User),
@@ -218,6 +223,13 @@ remove_user(User, Password) ->
end
end,
case mnesia:transaction(F) of
+ {atomic, ok} ->
+ catch mod_roster:remove_user(User),
+ catch mod_offline:remove_user(User),
+ catch mod_last:remove_user(User),
+ catch mod_vcard:remove_user(User),
+ catch mod_private:remove_user(User),
+ ok;
{atomic, Res} ->
Res;
_ ->