summaryrefslogtreecommitdiff
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.erl9
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);