diff options
Diffstat (limited to 'src/mod_pubsub/mod_pubsub.erl')
-rw-r--r-- | src/mod_pubsub/mod_pubsub.erl | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/mod_pubsub/mod_pubsub.erl b/src/mod_pubsub/mod_pubsub.erl index 96f1f288..b2f21aff 100644 --- a/src/mod_pubsub/mod_pubsub.erl +++ b/src/mod_pubsub/mod_pubsub.erl @@ -461,15 +461,14 @@ handle_cast({presence, From, To, Packet}, State) -> on_sub_and_presence -> case is_caps_notify(ServerHost, Node, Caps) of true -> - AllowedGroups = get_option(Options, roster_groups_allowed), - {PresenceSubscription, RosterGroup} = get_roster_info( - To#jid.luser, To#jid.lserver, JID, AllowedGroups), Subscribed = case get_option(Options, access_model) of open -> true; - presence -> PresenceSubscription; + presence -> true; whitelist -> false; % subscribers are added manually authorize -> false; % likewise - roster -> RosterGroup + roster -> + Grps = get_option(Options, roster_groups_allowed), + element(2, get_roster_info(To#jid.luser, To#jid.lserver, JID, Grps)) end, if Subscribed -> send_last_item(PepKey, Node, JID); |