Files
upstream-jitsi-meet/tests/prosody/docker/cfg/conference.cfg.lua
upstream-mirror 1d2bfcac0c
Some checks failed
Prosody Plugin Tests / test (push) Failing after 10m11s
Close stale issues and PRs / stale (push) Failing after 1s
snapshot of https://github.com/jitsi/jitsi-meet.git @ fd1749dd28f4138aa80234fc7f311b19aaffa0e7 (2026-09-15)
2026-09-15 15:56:32 +05:00

80 lines
4.0 KiB
Lua

-- conference.localhost fragment. See prosody.cfg.lua for the fragment layout.
--
-- Kept in its own fragment so that extending environments (e.g. the
-- jitsi-meet-branding private plugins) can skip this Include and re-declare
-- the component with extra modules appended. Keep this block self-contained:
-- everything conference.localhost needs must live in this file.
Component "conference.localhost" "muc"
-- Module order follows prod (conference.8x8.vc) so that same-priority hook
-- execution order matches production. Test-only modules are inserted at
-- sensible positions relative to the shared modules they interact with.
modules_enabled = {
"muc_hide_all";
"token_verification"; -- prod pos 2: gate check runs before meeting-id / password logic
"muc_max_occupants";
"muc_resource_validate"; -- test-only: occupant gate, alongside muc_max_occupants
"muc_password_whitelist";
"token_affiliation"; -- test-only: reads auth_token set by token_verification above
"muc_meeting_id"; -- prod pos 9: after gate checks
"muc_flip";
"test_observer"; -- test-only
"filter_messages";
"muc_displayname"; -- prod pos 21: after filter_messages
-- mod_muc_limit_messages registers its message/bare hook at priority -1
-- (below the default 0 used by filter_messages), so filter_messages
-- always fires first. Messages it blocks (return true) never reach
-- muc_limit_messages and do not count toward the per-room cap.
"muc_limit_messages";
-- Destroys a room after a short timeout when only Jibri/transcriber remain.
"muc_cleanup_backend_services";
}
anonymous_strict = true
-- Same as prod: only Prosody admins (jicofo, i.e. focus@auth.localhost) may
-- create a room. Regular clients (anonymous or JWT) can only join a room
-- that focus has already created.
restrict_room_creation = true
-- Used by mod_muc_max_occupants tests (2 occupants max).
muc_max_occupants = 2
-- Clients on whitelist.localhost bypass the occupant limit.
-- Clients on auth.localhost are the focus (jicofo) admin; they also bypass
-- the limit and are not counted against it.
-- Clients on recorder.localhost are Jibri/transcriber accounts; they bypass
-- token_verification (is_jibri / is_transcriber JID prefix checks still apply).
muc_access_whitelist = { "whitelist.localhost", "auth.localhost", "recorder.localhost" }
-- Used by mod_muc_password_whitelist tests: clients from whitelist.localhost
-- are injected with the room password and bypass the password check.
muc_password_whitelist = { "whitelist.localhost" }
-- Required by util.lib.lua domain-mapping helpers and mod_jitsi_permissions.
muc_mapper_domain_base = "localhost"
muc_mapper_domain_prefix = "conference"
-- focus@auth.localhost is a Prosody admin and is therefore exempt from
-- token_verification on both muc-room-pre-create and muc-occupant-pre-join,
-- mirroring production where jicofo is a Prosody admin.
-- mod_muc_cleanup_backend_services: short timeout so tests don't wait 20 s.
services_empty_meeting_timeout = 1
-- mod_time_restricted (loaded on demand by mod_time_restricted_spec, not in
-- modules_enabled, so it does not destroy other tests' rooms): a fractional
-- limit keeps the test fast — 0.125 min = 7.5 s to the limit, plus a 3 s
-- wrap-up grace before the room is actually destroyed.
conference_max_minutes = 0.125
conference_grace_seconds = 3
-- mod_muc_limit_messages: cap per room and honour auth tokens.
muc_limit_messages_count = 3
muc_limit_messages_check_token = true
-- Blocks unauthenticated users from sending room-owner config IQs
-- (muc#owner queries), which is how moderator status is granted to other
-- participants and how room configuration is changed.
token_verification_require_token_for_moderation = true