Software /
code /
prosody-modules
File
mod_measure_conn_buffers/mod_measure_conn_buffers.lua @ 6193: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 |
parent | 6050:81805f11263c |
line wrap: on
line source
module:set_global(); local measure_total_pending_tx = module:measure("total_pending_tx", "amount"); local server = require "net.server"; if server.get_backend() ~= "epoll" or not server.loop.fds then module:log_status("error", "This module is not compatible with your network_backend, only epoll is supported"); return; end local fds = server.loop.fds; module:hook("stats-update", function () local pending_tx = 0; for _, conn in pairs(fds) do local buffer = conn.writebuffer; if buffer then if type(buffer) == "string" then pending_tx = pending_tx + #buffer; elseif buffer._length then -- dbuffer pending_tx = pending_tx + buffer._length; else -- simple table for i = 1, #buffer do pending_tx = pending_tx + #buffer[i]; end end end end measure_total_pending_tx(pending_tx); end);