diff --git a/ChangeLog b/ChangeLog index eaa088613..0c64fb306 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-04-04 Badlop + + * src/ejabberd_c2s.erl (process_presence_probe): Don't route a + presence probe to oneself (EJAB-498) + 2008-04-02 Badlop * src/ejabberd_config.erl: Add support to include additional diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl index 7239829e5..54b56c98e 100644 --- a/src/ejabberd_c2s.erl +++ b/src/ejabberd_c2s.erl @@ -1419,7 +1419,13 @@ process_presence_probe(From, To, StateData) -> allow -> Pid=element(2, StateData#state.sid), ejabberd_hooks:run(presence_probe_hook, StateData#state.server, [From, To, Pid]), - ejabberd_router:route(To, From, Packet) + %% Don't route a presence probe to oneself + case From == To of + false -> + ejabberd_router:route(To, From, Packet); + true -> + ok + end end; Cond2 -> ejabberd_router:route(To, From,