diff options
author | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2010-03-17 17:47:13 +0300 |
---|---|---|
committer | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2010-03-17 17:47:13 +0300 |
commit | d11a715eda0d2fa3c0cf4607da0ff2709620ae10 (patch) | |
tree | 298468278499b45a91bc0894373474750c97e120 /src/ejabberd_c2s.erl | |
parent | 6d9094ceca1652a593c15347ce6f3f932e9703d5 (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.erl | 14 |
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. |