aboutsummaryrefslogtreecommitdiff
path: root/src/mod_pubsub/mod_pubsub.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/mod_pubsub/mod_pubsub.erl')
-rw-r--r--src/mod_pubsub/mod_pubsub.erl10
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);
_ ->