view mod_muc_restrict_nick/mod_muc_restrict_nick.lua @ 5277:a1055024b94e

mod_http_oauth2: Stricten check of urlencoded form data Because type(formdecode("string without equals sign")) == "string", so best avoid continuing in that case, even if strings mostly behave as tables as long as you don't hit one of the __index methods.
author Kim Alvefur <zash@zash.se>
date Sun, 26 Mar 2023 14:39:34 +0200
parents e7b126161e7b
children
line wrap: on
line source

local jid = require "util.jid";
local st = require "util.stanza";

local nick_pattern = module:get_option_string("muc_restrict_nick_pattern", "^%w+$");

module:hook("muc-occupant-pre-join", function (event)
	local nick = jid.resource(event.occupant.nick);
	if not nick:match(nick_pattern) then
		local reply = st.error_reply(event.stanza, "modify", "policy-violation", "Unacceptable nickname, please try another");
		module:send(reply);
		return true;
	end
end);