diff options
Diffstat (limited to 'src/mod_pubsub/mod_pubsub.erl')
-rw-r--r-- | src/mod_pubsub/mod_pubsub.erl | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/mod_pubsub/mod_pubsub.erl b/src/mod_pubsub/mod_pubsub.erl index 266e4c775..2dd4cc0c7 100644 --- a/src/mod_pubsub/mod_pubsub.erl +++ b/src/mod_pubsub/mod_pubsub.erl @@ -3105,9 +3105,13 @@ broadcast_stanza({LUser, LServer, LResource}, Publisher, Node, NodeId, Type, Nod Contacts when is_list(Contacts) -> lists:foreach(fun({U, S, _}) -> spawn(fun() -> - lists:foreach(fun(To) -> - ejabberd_router:route(Sender, jlib:make_jid(To), StanzaToSend) - end, [{U, S, R} || R <- user_resources(U, S)]) + case lists:member(S, ?MYHOSTS) of + true -> + lists:foreach(fun(To) -> + ejabberd_router:route(Sender, jlib:make_jid(To), StanzaToSend) + end, [{U, S, R} || R <- user_resources(U, S)]); + false -> + ejabberd_router:route(Sender, jlib:make_jid(U, S, ""), StanzaToSend) end) end, Contacts); _ -> |