Annotate

mod_audit_status/mod_audit_status.lua @ 5669:d67980d9e12d

mod_http_oauth2: Apply refresh token ttl to refresh token instead of grant The intent in 59d5fc50f602 was for refresh tokens to extend the lifetime of the grant, but the refresh token ttl was applied to the grant and mod_tokenauth does not change it, leading to the grant expiring regardless of refresh token usage. This makes grant lifetimes unlimited, which seems to be standard practice in the wild.
author Kim Alvefur <zash@zash.se>
date Mon, 11 Sep 2023 10:48:31 +0200
parent 5353:14b6397cd6de
child 5766:9944c6c3e914
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5320
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
1 module:depends("audit");
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
2
5324
18fd615c2733 mod_audit_status: Include shutdown reason in log entry
Matthew Wild <mwild1@gmail.com>
parents: 5320
diff changeset
3 local st = require "util.stanza";
18fd615c2733 mod_audit_status: Include shutdown reason in log entry
Matthew Wild <mwild1@gmail.com>
parents: 5320
diff changeset
4
5320
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
5 -- Suppress warnings about module:audit()
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
6 -- luacheck: ignore 143/module
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
7
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
8 local heartbeat_interval = module:get_option_number("audit_status_heartbeat_interval", 60);
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
9
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
10 local store = module:open_store(nil, "keyval+");
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
11
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
12 module:hook_global("server-started", function ()
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
13 local recorded_status = store:get();
5353
14b6397cd6de mod_audit_status: Fix error on first start
Kim Alvefur <zash@zash.se>
parents: 5324
diff changeset
14 if recorded_status and recorded_status.status == "started" then
5320
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
15 module:audit(nil, "server-crashed", { timestamp = recorded_status.heartbeat });
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
16 end
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
17 module:audit(nil, "server-started");
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
18 store:set_key(nil, "status", "started");
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
19 end);
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
20
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
21 module:hook_global("server-stopped", function ()
5324
18fd615c2733 mod_audit_status: Include shutdown reason in log entry
Matthew Wild <mwild1@gmail.com>
parents: 5320
diff changeset
22 module:audit(nil, "server-stopped", {
18fd615c2733 mod_audit_status: Include shutdown reason in log entry
Matthew Wild <mwild1@gmail.com>
parents: 5320
diff changeset
23 custom = {
18fd615c2733 mod_audit_status: Include shutdown reason in log entry
Matthew Wild <mwild1@gmail.com>
parents: 5320
diff changeset
24 prosody.shutdown_reason and st.stanza("note"):text(prosody.shutdown_reason);
18fd615c2733 mod_audit_status: Include shutdown reason in log entry
Matthew Wild <mwild1@gmail.com>
parents: 5320
diff changeset
25 };
18fd615c2733 mod_audit_status: Include shutdown reason in log entry
Matthew Wild <mwild1@gmail.com>
parents: 5320
diff changeset
26 });
5320
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
27 store:set_key(nil, "status", "stopped");
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
28 end);
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
29
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
30 if heartbeat_interval then
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
31 module:add_timer(0, function ()
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
32 store:set_key(nil, "heartbeat", os.time());
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
33 return heartbeat_interval;
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
34 end);
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
35 end