aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_c2s.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/ejabberd_c2s.erl')
-rw-r--r--src/ejabberd_c2s.erl14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl
index 6df6766ca..ef4614aa2 100644
--- a/src/ejabberd_c2s.erl
+++ b/src/ejabberd_c2s.erl
@@ -1276,7 +1276,7 @@ handle_info({route, From, To, Packet}, StateName, StateData) ->
case ejabberd_hooks:run_fold(
feature_check_packet, StateData#state.server,
allow,
- [StateData#state.user,
+ [StateData#state.jid,
StateData#state.server,
StateData#state.pres_last,
{From, To, Packet},
@@ -1392,7 +1392,8 @@ terminate(_Reason, StateName, StateData) ->
presence_broadcast(
StateData, From, StateData#state.pres_i, Packet)
end
- end;
+ end,
+ bounce_messages();
_ ->
ok
end,
@@ -2185,6 +2186,15 @@ fsm_limit_opts(Opts) ->
end
end.
+bounce_messages() ->
+ receive
+ {route, From, To, El} ->
+ ejabberd_router:route(From, To, El),
+ bounce_messages()
+ after 0 ->
+ ok
+ end.
+
%%%----------------------------------------------------------------------
%%% JID Set memory footprint reduction code
%%%----------------------------------------------------------------------