annotate mod_carbons_adhoc/mod_carbons_adhoc.lua @ 5519:83ebfc367169

mod_http_oauth2: Return Authentication Time per OpenID Core Section 2 Mandatory To Implement, either MUST include or OPTIONAL depending on things we don't look at, so might as well include it all the time. Since we do not persist authentication state with cookies or such, the authentication time will always be some point between the user being sent to the authorization endpoint and the time they are sent back to the client application.
author Kim Alvefur <zash@zash.se>
date Mon, 05 Jun 2023 22:32:44 +0200
parents a6c51f380777
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1343
7dbde05b48a9 all the things: Remove trailing whitespace
Florian Zeitz <florob@babelmonkeys.de>
parents: 890
diff changeset
1 -- Implement a Adhoc command which will show a user
890
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
2 -- the status of carbons generation in regard to his clients
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
3 --
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
4 -- Copyright (C) 2012 Michael Holzt
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
5 --
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
6 -- This file is MIT/X11 licensed.
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
7
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
8 local st = require "util.stanza";
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
9 local jid_bare = require "util.jid".bare;
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
10 local adhoc_new = module:require "adhoc".new;
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
11 local xmlns_carbons_v2 = "urn:xmpp:carbons:2";
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
12 local xmlns_carbons_v1 = "urn:xmpp:carbons:1";
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
13 local xmlns_carbons_v0 = "urn:xmpp:carbons:0";
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
14
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
15 local bare_sessions = bare_sessions;
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
16
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
17 local function adhoc_status(self, data, state)
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
18 local bare_jid = jid_bare(data.from);
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
19 local user_sessions = bare_sessions[bare_jid];
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
20
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
21 local result = "";
1343
7dbde05b48a9 all the things: Remove trailing whitespace
Florian Zeitz <florob@babelmonkeys.de>
parents: 890
diff changeset
22
890
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
23 user_sessions = user_sessions and user_sessions.sessions;
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
24 for _, session in pairs(user_sessions) do
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
25 if session.full_jid then
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
26 result = result .. session.full_jid .. ": " ..
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
27 ( (session.want_carbons == xmlns_carbons_v2 and "v2" ) or
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
28 (session.want_carbons == xmlns_carbons_v1 and "v1" ) or
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
29 (session.want_carbons == xmlns_carbons_v0 and "v0" ) or
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
30 "none" ) .. "\n";
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
31 end
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
32 end
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
33
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
34 return { info = result, status = "completed" };
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
35 end
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
36
1343
7dbde05b48a9 all the things: Remove trailing whitespace
Florian Zeitz <florob@babelmonkeys.de>
parents: 890
diff changeset
37 local status_desc = adhoc_new("Carbons: Get Status",
890
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
38 "mod_carbons_adhoc#status", adhoc_status);
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
39
7ac1b8a799be mod_carbons_adhoc: Initial commit.
Michael Holzt <kju@fqdn.org>
parents:
diff changeset
40 module:add_item("adhoc", status_desc);