diff options
Diffstat (limited to 'src/ejabberd_auth.erl')
-rw-r--r-- | src/ejabberd_auth.erl | 14 |
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; _ -> |