Browse Source

Fix mod_muc_max_occupants to properly ignore whitelisted users

In a typical Jitsi Meet setup, this plugin can be used to limit the number of
occupants in a meeting room, while ignoring "utility" users. Such a
configuration could be:

    muc_max_occupants = 2
    muc_access_whitelist = {
        "focus@auth.meet.jitsi";
    }

It would be expected that this configuration allows two users to attend the
meeting room, but in practice only one is allowed, because the whitelist is not
honoured.

This commit fixes it by actually updating the `user` and `domain` variables
being checked. After this change, the scenario above works just fine.
master
Steve Frécinaux 5 years ago
parent
commit
aff6d4b36d
1 changed files with 1 additions and 0 deletions
  1. 1
    0
      resources/prosody-plugins/mod_muc_max_occupants.lua

+ 1
- 0
resources/prosody-plugins/mod_muc_max_occupants.lua View File

46
 		-- For each person in the room that's not on the whitelist, subtract one
46
 		-- For each person in the room that's not on the whitelist, subtract one
47
 		-- from the count.
47
 		-- from the count.
48
 		for _, occupant in room:each_occupant() do
48
 		for _, occupant in room:each_occupant() do
49
+			user, domain, res = split_jid(occupant.bare_jid);
49
 			if not whitelist:contains(domain) and not whitelist:contains(user..'@'..domain) then
50
 			if not whitelist:contains(domain) and not whitelist:contains(user..'@'..domain) then
50
 				slots = slots - 1
51
 				slots = slots - 1
51
 			end
52
 			end

Loading…
Cancel
Save