Software /
code /
prosody-modules
File
mod_muc_restrict_nick/mod_muc_restrict_nick.lua @ 6191:94399ad6b5ab
mod_invites_register_api: Use set_password() for password resets
Previously the code relied on the (weird) behaviour of create_user(), which
would update the password for a user account if it already existed. This has
several issues, and we plan to deprecate this behaviour of create_user().
The larger issue is that this route does not trigger the user-password-changed
event, which can be a security problem. For example, it did not disconnect
existing user sessions (this occurs in mod_c2s in response to the event).
Switching to set_password() is the right thing to do.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Thu, 06 Feb 2025 10:13:39 +0000 |
parent | 4588:e7b126161e7b |
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);