Don't perform roster push for non-local contacts in mod_shared_roster

If group have member with jid from external server we tried to make
mod_roster sent roster push to it, and it sometimes didn't like to get
bogus data like that, so let's check if it's local user before doing this.
This commit is contained in:
Paweł Chmielowski 2019-02-18 12:37:29 +01:00
parent abdbc5df13
commit b30775a357
1 changed files with 7 additions and 2 deletions

View File

@ -662,8 +662,13 @@ push_user_to_group(LUser, LServer, Group, Host,
when (U == LUser) and (S == LServer) ->
ok;
({U, S}) ->
push_roster_item(U, S, LUser, LServer, GroupName,
Subscription)
case lists:member(S, ejabberd_config:get_myhosts()) of
true ->
push_roster_item(U, S, LUser, LServer, GroupName,
Subscription);
_ ->
ok
end
end,
get_group_users(Host, Group)).