diff options
author | Paweł Chmielowski <pchmielowski@process-one.net> | 2019-02-18 12:37:29 +0100 |
---|---|---|
committer | Paweł Chmielowski <pchmielowski@process-one.net> | 2019-02-18 12:37:42 +0100 |
commit | b30775a357b276e3ed33d9026af55f88f23259e5 (patch) | |
tree | aed197c9553ef48c901cb229188ad81f26d57ed2 | |
parent | mod_push: Improve notification error handling (diff) |
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.
-rw-r--r-- | src/mod_shared_roster.erl | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/mod_shared_roster.erl b/src/mod_shared_roster.erl index ee1aa8cf0..d80258db7 100644 --- a/src/mod_shared_roster.erl +++ b/src/mod_shared_roster.erl @@ -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)). |