diff options
Diffstat (limited to 'src/mod_mix.erl')
-rw-r--r-- | src/mod_mix.erl | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/mod_mix.erl b/src/mod_mix.erl index 6ee796fc6..edacd7b91 100644 --- a/src/mod_mix.erl +++ b/src/mod_mix.erl @@ -163,14 +163,14 @@ handle_call(_Request, _From, State) -> handle_cast(_Msg, State) -> {noreply, State}. -handle_info({route, From, To, Packet}, State) -> - case catch do_route(State, From, To, Packet) of +handle_info({route, Packet}, State) -> + case catch do_route(State, Packet) of {'EXIT', _} = Err -> try - ?ERROR_MSG("failed to route packet ~p from '~s' to '~s': ~p", - [Packet, jid:to_string(From), jid:to_string(To), Err]), + ?ERROR_MSG("failed to route packet:~n~s~nReason: ~p", + [xmpp:pp(Packet), Err]), Error = xmpp:err_internal_server_error(), - ejabberd_router:route_error(To, From, Packet, Error) + ejabberd_router:route_error(Packet, Error) catch _:_ -> ok end; @@ -204,12 +204,12 @@ code_change(_OldVsn, State, _Extra) -> %%%=================================================================== %%% Internal functions %%%=================================================================== -do_route(_State, From, To, #iq{} = Packet) -> - ejabberd_router:process_iq(From, To, Packet); -do_route(_State, From, To, #presence{type = unavailable}) +do_route(_State, #iq{} = Packet) -> + ejabberd_router:process_iq(Packet); +do_route(_State, #presence{from = From, to = To, type = unavailable}) when To#jid.luser /= <<"">> -> delete_presence(From, To); -do_route(_State, _From, _To, _Packet) -> +do_route(_State, _Packet) -> ok. subscribe_nodes(From, To, Nodes) -> |