Software /
code /
prosody-modules
File
mod_measure_modules/mod_measure_modules.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 | 5691:ecfd7aece33b |
line wrap: on
line source
module:set_global(); local mm = require "core.modulemanager"; local sm = require "core.statsmanager"; local measure_status = sm.metric("gauge", "prosody_module_status", "", "Prosody module status", { "host"; "module" }); local status_priorities = { error = 3; warn = 2; info = 1; core = 0 }; function module.add_host(module) local measure = measure_status:with_partial_label(module.host); if module.global then measure = measure_status:with_partial_label(":global"); end -- Already loaded modules local modules = mm.get_modules(module.host); for name, mod in pairs(modules) do measure:with_labels(name):set(status_priorities[mod.module.status_type] or 0); end -- TODO hook module load and unload -- Future changes module:hook("module-status/updated", function(event) local mod = mm.get_module(event.name); measure:with_labels(event.name):set(status_priorities[mod and mod.module.status_type] or 0); end); end module:add_host(); -- Initialize global context