aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ejabberd_auth_anonymous.erl1
-rw-r--r--src/mod_offline.erl4
-rw-r--r--src/mod_offline_odbc.erl4
-rw-r--r--src/mod_roster.erl4
-rw-r--r--src/mod_roster_odbc.erl4
5 files changed, 17 insertions, 0 deletions
diff --git a/src/ejabberd_auth_anonymous.erl b/src/ejabberd_auth_anonymous.erl
index 5090a353c..c3c4ed0c4 100644
--- a/src/ejabberd_auth_anonymous.erl
+++ b/src/ejabberd_auth_anonymous.erl
@@ -136,6 +136,7 @@ register_connection(SID, #jid{luser = LUser, lserver = LServer}) ->
%% Remove an anonymous user from the anonymous users table
unregister_connection(SID, #jid{luser = LUser, lserver = LServer}) ->
+ ejabberd_hooks:run(anonymous_purge_hook, jlib:nameprep(LServer), [LUser, LServer]),
remove_connection(SID, LUser, LServer).
%% ---------------------------------
diff --git a/src/mod_offline.erl b/src/mod_offline.erl
index 425406c9d..0f5f89935 100644
--- a/src/mod_offline.erl
+++ b/src/mod_offline.erl
@@ -41,6 +41,8 @@ start(Host, _Opts) ->
?MODULE, pop_offline_messages, 50),
ejabberd_hooks:add(remove_user, Host,
?MODULE, remove_user, 50),
+ ejabberd_hooks:add(anonymous_purge_hook, Host,
+ ?MODULE, remove_user, 50),
register(gen_mod:get_module_proc(Host, ?PROCNAME),
spawn(?MODULE, init, [])).
@@ -85,6 +87,8 @@ stop(Host) ->
?MODULE, pop_offline_messages, 50),
ejabberd_hooks:delete(remove_user, Host,
?MODULE, remove_user, 50),
+ ejabberd_hooks:delete(anonymous_purge_hook, Host,
+ ?MODULE, remove_user, 50),
Proc = gen_mod:get_module_proc(Host, ?PROCNAME),
exit(whereis(Proc), stop),
{wait, Proc}.
diff --git a/src/mod_offline_odbc.erl b/src/mod_offline_odbc.erl
index e3ac67104..30c0f2bb5 100644
--- a/src/mod_offline_odbc.erl
+++ b/src/mod_offline_odbc.erl
@@ -32,6 +32,8 @@ start(Host, _Opts) ->
?MODULE, pop_offline_messages, 50),
ejabberd_hooks:add(remove_user, Host,
?MODULE, remove_user, 50),
+ ejabberd_hooks:add(anonymous_purge_hook, Host,
+ ?MODULE, remove_user, 50),
register(gen_mod:get_module_proc(Host, ?PROCNAME),
spawn(?MODULE, init, [Host])).
@@ -94,6 +96,8 @@ stop(Host) ->
?MODULE, pop_offline_messages, 50),
ejabberd_hooks:delete(remove_user, Host,
?MODULE, remove_user, 50),
+ ejabberd_hooks:delete(anonymous_purge_hook, Host,
+ ?MODULE, remove_user, 50),
Proc = gen_mod:get_module_proc(Host, ?PROCNAME),
exit(whereis(Proc), stop),
ok.
diff --git a/src/mod_roster.erl b/src/mod_roster.erl
index 793892bdc..9d3974ac7 100644
--- a/src/mod_roster.erl
+++ b/src/mod_roster.erl
@@ -47,6 +47,8 @@ start(Host, Opts) ->
?MODULE, get_jid_info, 50),
ejabberd_hooks:add(remove_user, Host,
?MODULE, remove_user, 50),
+ ejabberd_hooks:add(anonymous_purge_hook, Host,
+ ?MODULE, remove_user, 50),
ejabberd_hooks:add(resend_subscription_requests_hook, Host,
?MODULE, get_in_pending_subscriptions, 50),
gen_iq_handler:add_iq_handler(ejabberd_sm, Host, ?NS_ROSTER,
@@ -65,6 +67,8 @@ stop(Host) ->
?MODULE, get_jid_info, 50),
ejabberd_hooks:delete(remove_user, Host,
?MODULE, remove_user, 50),
+ ejabberd_hooks:delete(anonymous_purge_hook, Host,
+ ?MODULE, remove_user, 50),
ejabberd_hooks:delete(resend_subscription_requests_hook, Host,
?MODULE, get_in_pending_subscriptions, 50),
gen_iq_handler:remove_iq_handler(ejabberd_sm, Host, ?NS_ROSTER).
diff --git a/src/mod_roster_odbc.erl b/src/mod_roster_odbc.erl
index ed79edef7..ff076dc5c 100644
--- a/src/mod_roster_odbc.erl
+++ b/src/mod_roster_odbc.erl
@@ -41,6 +41,8 @@ start(Host, Opts) ->
?MODULE, get_jid_info, 50),
ejabberd_hooks:add(remove_user, Host,
?MODULE, remove_user, 50),
+ ejabberd_hooks:add(anonymous_purge_hook, Host,
+ ?MODULE, remove_user, 50),
ejabberd_hooks:add(resend_subscription_requests_hook, Host,
?MODULE, get_in_pending_subscriptions, 50),
gen_iq_handler:add_iq_handler(ejabberd_sm, Host, ?NS_ROSTER,
@@ -59,6 +61,8 @@ stop(Host) ->
?MODULE, get_jid_info, 50),
ejabberd_hooks:delete(remove_user, Host,
?MODULE, remove_user, 50),
+ ejabberd_hooks:delete(anonymous_purge_hook, Host,
+ ?MODULE, remove_user, 50),
ejabberd_hooks:delete(resend_subscription_requests_hook, Host,
?MODULE, get_in_pending_subscriptions, 50),
gen_iq_handler:remove_iq_handler(ejabberd_sm, Host, ?NS_ROSTER).