Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/processone/ejabberd.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2010-03-17 17:47:13 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2010-03-17 17:47:13 +0300
commitd11a715eda0d2fa3c0cf4607da0ff2709620ae10 (patch)
tree298468278499b45a91bc0894373474750c97e120 /src/ejabberd_c2s.erl
parent6d9094ceca1652a593c15347ce6f3f932e9703d5 (diff)
- pass jid into feature_check_packet hook;
- bounce messages when closing c2s session; - implemented treap:to_list/1 and treap:from_list/1
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 cdb769717..95260fb37 100644
--- a/src/ejabberd_c2s.erl
+++ b/src/ejabberd_c2s.erl
@@ -1232,7 +1232,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},
@@ -1340,7 +1340,8 @@ terminate(_Reason, StateName, StateData) ->
presence_broadcast(
StateData, From, StateData#state.pres_i, Packet)
end
- end;
+ end,
+ bounce_messages();
_ ->
ok
end,
@@ -2111,3 +2112,12 @@ 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.