Mercurial > prosody-modules
view mod_secure_interfaces/mod_secure_interfaces.lua @ 6165:e977174082ee
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:24:30 +0000 |
| parents | 6c806a99f802 |
| children |
line wrap: on
line source
local secure_interfaces = module:get_option_set("secure_interfaces", { "127.0.0.1", "::1" }); module:hook("stream-features", function (event) local session = event.origin; if session.type ~= "c2s_unauthed" then return; end local socket = session.conn:socket(); if not socket.getsockname then module:log("debug", "Unable to determine local address of incoming connection"); return; end local localip = socket:getsockname(); if secure_interfaces:contains(localip) then module:log("debug", "Marking session from %s to %s as secure", session.ip or "[?]", localip); session.secure = true; session.conn.starttls = false; else module:log("debug", "Not marking session from %s to %s as secure", session.ip or "[?]", localip); end end, 2500);
