annotate mod_private_adhoc/mod_private_adhoc.lua @ 6083:ffd0184cd478

mod_compliance_latest: New module that depends on and therefore loads the latest compliance tester mod. diff --git a/mod_compliance_latest/README.md b/mod_compliance_latest/README.md new file mode 100644 --- /dev/null +++ b/mod_compliance_latest/README.md @@ -0,0 +1,25 @@ +--- +summary: XMPP Compliance Suites self-test +labels: +- Stage-Beta +rockspec: + dependencies: + - mod_compliance_2023 +... + +# Introduction + +This module will always require and load to the lastest compliance tester we have in the community modules. +Currently this is [mod_compliance_2023]. + +# Configuration + +Just load this module as any other module and it will automatically install [mod_compliance_2023] if you use the Prosody plugin installer. +See the linked module for further details. + +# Compatibility + + Prosody-Version Status + --------------- ---------------------- + trunk Works as of 2024-12-22 + 0.12 Works diff --git a/mod_compliance_latest/mod_compliance_latest.lua b/mod_compliance_latest/mod_compliance_latest.lua new file mode 100644 --- /dev/null +++ b/mod_compliance_latest/mod_compliance_latest.lua @@ -0,0 +1,1 @@ +module:depends("compliance_2023");
author Menel <menel@snikket.de>
date Sun, 22 Dec 2024 18:12:42 +0100
parents deb79c2357bb
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1461
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
1 -- Prosody IM
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
2 -- Copyright (C) 2008-2010 Matthew Wild
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
3 -- Copyright (C) 2008-2010 Waqas Hussain
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
4 --
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
5 -- This project is MIT/X11 licensed. Please see the
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
6 -- COPYING file in the source package for more information.
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
7 --
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
8
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
9 -- Module by Thomas Raschbacher 2014
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
10 -- lordvan@lordvan.com
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
11
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
12 module:depends"adhoc";
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
13 local dataforms_new = require "util.dataforms".new;
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
14 local st = require "util.stanza";
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
15 local jid_split = require "util.jid".split;
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
16
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
17 local private_storage = module:open_store("private");
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
18
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
19 local private_adhoc_result_layout = dataforms_new{
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
20 { name = "FORM_TYPE", type = "hidden", value = "http://jabber.org/protocol/admin" };
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
21 { name = "privatexmldata", type = "text-multi", label = "Private XML data" };
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
22 };
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
23
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
24
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
25 function private_adhoc_command_handler (self, data, state)
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
26 local username, hostname = jid_split(data.from);
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
27 local data, err = private_storage:get(username);
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
28 local dataString = "";
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
29 if not data then
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
30 dataString = "No data found.";
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
31 if err then dataString = dataString..err end;
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
32 else
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
33 for key,value in pairs(data) do
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
34 dataString = dataString..tostring(st.deserialize(value)):gsub("><",">\n<")
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
35 dataString = dataString.."\n\n";
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
36 end
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
37 end
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
38 return { status = "completed", result= { layout = private_adhoc_result_layout, values = {privatexmldata=dataString.."\n"}} };
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
39 end
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
40
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
41 local adhoc_new = module:require "adhoc".new;
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
42 local descriptor = adhoc_new("Query private data", "private_adhoc", private_adhoc_command_handler, "local_user");
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
43 module:add_item ("adhoc", descriptor);
deb79c2357bb mod_private_adhoc: initial commit of new module
Thomas Raschbacher <lordvan@lordvan.com>
parents:
diff changeset
44