Mercurial > prosody-modules
annotate mod_carbons_adhoc/mod_carbons_adhoc.lua @ 5383:df11a2cbc7b7
mod_http_oauth2: Implement RFC 7628 Proof Key for Code Exchange
Likely to become mandatory in OAuth 2.1.
Backwards compatible since the default 'plain' verifier would compare
nil with nil if the relevant parameters are left out.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 29 Apr 2023 13:09:46 +0200 |
parents | a6c51f380777 |
children |
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); |