Software /
code /
prosody-modules
Annotate
mod_traceback/mod_traceback.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 | 5875:dde9d21a599f |
rev | line source |
---|---|
2773
7a4e8dbbd30d
mod_traceback: Write current stack trace to file on SIGUSR1
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
1 module:set_global(); |
7a4e8dbbd30d
mod_traceback: Write current stack trace to file on SIGUSR1
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
2 |
7a4e8dbbd30d
mod_traceback: Write current stack trace to file on SIGUSR1
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
3 local traceback = require "util.debug".traceback; |
7a4e8dbbd30d
mod_traceback: Write current stack trace to file on SIGUSR1
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
4 |
5875
dde9d21a599f
mod_traceback: Hook signal via event instead of directly
Kim Alvefur <zash@zash.se>
parents:
2773
diff
changeset
|
5 local signal = module:get_option_string(module.name, "SIGUSR1"); |
dde9d21a599f
mod_traceback: Hook signal via event instead of directly
Kim Alvefur <zash@zash.se>
parents:
2773
diff
changeset
|
6 module:hook("signal/" .. signal, function() |
dde9d21a599f
mod_traceback: Hook signal via event instead of directly
Kim Alvefur <zash@zash.se>
parents:
2773
diff
changeset
|
7 module:log("info", "Received %s, writing traceback", signal); |
dde9d21a599f
mod_traceback: Hook signal via event instead of directly
Kim Alvefur <zash@zash.se>
parents:
2773
diff
changeset
|
8 local f = io.open(prosody.paths.data .. "/traceback.txt", "a+"); |
2773
7a4e8dbbd30d
mod_traceback: Write current stack trace to file on SIGUSR1
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
9 f:write(traceback(), "\n"); |
7a4e8dbbd30d
mod_traceback: Write current stack trace to file on SIGUSR1
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
10 f:close(); |
7a4e8dbbd30d
mod_traceback: Write current stack trace to file on SIGUSR1
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
11 end); |
7a4e8dbbd30d
mod_traceback: Write current stack trace to file on SIGUSR1
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
12 |