Mercurial > prosody-hg
view plugins/mod_motd.lua @ 13888:0dd82a8f1913 13.0 13.0.2
MUC: Ensure allow MUC PM setting has valid value (fixes #1933)
In case allow PM is set to "affiliated" or something other than a valid
role name, but the user is not affiliated, the valid_roles lookup would
return nil, triggering a comparison error.
This ensures that the setting is validated going in and out of the
database and that the "affiliated" case proceeds correctly.
Also adds a compat mapping for the value "anyone", used in XEP-0045 and
submitted by default by Gajim.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sun, 25 May 2025 15:36:17 +0200 |
| parents | 74b9e05af71e |
| children |
line wrap: on
line source
-- Prosody IM -- Copyright (C) 2008-2010 Matthew Wild -- Copyright (C) 2008-2010 Waqas Hussain -- Copyright (C) 2010 Jeff Mitchell -- -- This project is MIT/X11 licensed. Please see the -- COPYING file in the source package for more information. -- local host = module:get_host(); local motd_text = module:get_option_string("motd_text"); local motd_jid = module:get_option_string("motd_jid", host); if not motd_text then return; end local st = require "prosody.util.stanza"; motd_text = motd_text:gsub("^%s*(.-)%s*$", "%1"):gsub("\n[ \t]+", "\n"); -- Strip indentation from the config module:hook("presence/initial", function (event) local session = event.origin; local motd_stanza = st.message({ to = session.full_jid, from = motd_jid }) :tag("body"):text(motd_text); module:send(motd_stanza); module:log("debug", "MOTD send to user %s", session.full_jid); end, 1);
