diff --git a/resources/prosody-plugins/mod_filter_iq_jibri.lua b/resources/prosody-plugins/mod_filter_iq_jibri.lua index 8df669fdee..0a36c471ed 100644 --- a/resources/prosody-plugins/mod_filter_iq_jibri.lua +++ b/resources/prosody-plugins/mod_filter_iq_jibri.lua @@ -38,7 +38,6 @@ module:hook("pre-iq/full", function(event) local is_allowed = is_feature_allowed( feature, session.jitsi_meet_context_features, - session.granted_jitsi_meet_context_features, occupant.role == 'moderator'); if jibri.attr.action == 'start' or jibri.attr.action == 'stop' then diff --git a/resources/prosody-plugins/mod_filter_iq_rayo.lua b/resources/prosody-plugins/mod_filter_iq_rayo.lua index dbeb0a8793..2f6f875edb 100644 --- a/resources/prosody-plugins/mod_filter_iq_rayo.lua +++ b/resources/prosody-plugins/mod_filter_iq_rayo.lua @@ -107,7 +107,6 @@ module:hook("pre-iq/full", function(event) local is_session_allowed = is_feature_allowed( feature, session.jitsi_meet_context_features, - session.granted_jitsi_meet_context_features, room:get_affiliation(stanza.attr.from) == 'owner'); if roomName == nil diff --git a/resources/prosody-plugins/mod_jitsi_permissions.lua b/resources/prosody-plugins/mod_jitsi_permissions.lua index 7a761ffd95..309dfc71a7 100644 --- a/resources/prosody-plugins/mod_jitsi_permissions.lua +++ b/resources/prosody-plugins/mod_jitsi_permissions.lua @@ -71,7 +71,7 @@ function process_set_affiliation(event) end if previous_affiliation == 'none' and affiliation == 'owner' then - occupant_session.granted_jitsi_meet_context_features = actor_session.jitsi_meet_context_features; + occupant_session.jitsi_meet_context_features = actor_session.jitsi_meet_context_features; if actor_session.jitsi_meet_context_user then occupant_session.granted_jitsi_meet_context_user_id = actor_session.jitsi_meet_context_user['id'] or actor_session.granted_jitsi_meet_context_user_id; @@ -79,7 +79,6 @@ function process_set_affiliation(event) occupant_session.granted_jitsi_meet_context_group_id = actor_session.jitsi_meet_context_group or actor_session.granted_jitsi_meet_context_group_id; elseif previous_affiliation == 'owner' and ( affiliation == 'member' or affiliation == 'none' ) then - occupant_session.granted_jitsi_meet_context_features = nil; occupant_session.granted_jitsi_meet_context_user_id = nil; occupant_session.granted_jitsi_meet_context_group_id = nil; @@ -154,22 +153,16 @@ function filter_stanza(stanza, session) session.force_permissions_update = false; - local permissions_to_send - = session.jitsi_meet_context_features or session.granted_jitsi_meet_context_features or default_permissions; + if not session.jitsi_meet_context_features then + session.jitsi_meet_context_features = default_permissions; + end room.send_default_permissions_to[bare_to] = nil; - if not session.granted_jitsi_meet_context_features and not session.jitsi_meet_context_features then - session.jitsi_meet_context_features = {}; - end - stanza:tag('permissions', { xmlns='http://jitsi.org/jitmeet' }); - for k, v in pairs(permissions_to_send) do + for k, v in pairs(session.jitsi_meet_context_features) do local val = tostring(v); stanza:tag('p', { name = k, val = val }):up(); - if session.jitsi_meet_context_features then - session.jitsi_meet_context_features[k] = val; - end end stanza:up(); diff --git a/resources/prosody-plugins/mod_short_lived_token.lua b/resources/prosody-plugins/mod_short_lived_token.lua index 7993cf1b1d..115b5ca5b7 100644 --- a/resources/prosody-plugins/mod_short_lived_token.lua +++ b/resources/prosody-plugins/mod_short_lived_token.lua @@ -69,7 +69,7 @@ function generateToken(session, audience, room, occupant) email = presence:get_child_text("email") or nil, nick = jid.resource(occupant.nick) }, - features = session.jitsi_meet_context_features or session.granted_jitsi_meet_context_features + features = session.jitsi_meet_context_features }, room = session.jitsi_web_query_room, meeting_id = room._data.meetingId, diff --git a/resources/prosody-plugins/util.lib.lua b/resources/prosody-plugins/util.lib.lua index 32fde7486a..452855ef24 100644 --- a/resources/prosody-plugins/util.lib.lua +++ b/resources/prosody-plugins/util.lib.lua @@ -259,13 +259,10 @@ end -- Utility function to check whether feature is present and enabled. Allow -- a feature if there are features present in the session(coming from -- the token) and the value of the feature is true. --- If features are missing but we have granted_features check that -- if features are missing from the token we check whether it is moderator -function is_feature_allowed(ft, features, granted_features, is_moderator) +function is_feature_allowed(ft, features, is_moderator) if features then return features[ft] == "true" or features[ft] == true; - elseif granted_features then - return granted_features[ft] == "true" or granted_features[ft] == true; else return is_moderator; end