24
1
mirror of https://github.com/processone/ejabberd.git synced 2024-06-14 22:00:16 +02:00

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

View File

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