Annotate

mod_discoitems/mod_discoitems.lua @ 6111: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
parent 78:ae91c98b7e4c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
78
ae91c98b7e4c mod_discoitems: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
1 -- mod_discoitems.lua
ae91c98b7e4c mod_discoitems: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
2 --
ae91c98b7e4c mod_discoitems: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
3 -- In the config, you can add:
ae91c98b7e4c mod_discoitems: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
4 --
ae91c98b7e4c mod_discoitems: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
5 -- disco_items = {
ae91c98b7e4c mod_discoitems: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
6 -- {"proxy.eu.jabber.org", "Jabber.org SOCKS5 service"};
ae91c98b7e4c mod_discoitems: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
7 -- {"conference.jabber.org", "The Jabber.org MUC"};
ae91c98b7e4c mod_discoitems: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
8 -- };
ae91c98b7e4c mod_discoitems: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
9 --
ae91c98b7e4c mod_discoitems: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
10
ae91c98b7e4c mod_discoitems: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
11 local st = require "util.stanza";
ae91c98b7e4c mod_discoitems: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
12
ae91c98b7e4c mod_discoitems: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
13 local result_query = st.stanza("query", {xmlns="http://jabber.org/protocol/disco#items"});
ae91c98b7e4c mod_discoitems: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
14 for _, item in ipairs(module:get_option("disco_items") or {}) do
ae91c98b7e4c mod_discoitems: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
15 result_query:tag("item", {jid=item[1], name=item[2]}):up();
ae91c98b7e4c mod_discoitems: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
16 end
ae91c98b7e4c mod_discoitems: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
17
ae91c98b7e4c mod_discoitems: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
18 module:hook('iq/host/http://jabber.org/protocol/disco#items:query', function(event)
ae91c98b7e4c mod_discoitems: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
19 local stanza = event.stanza;
ae91c98b7e4c mod_discoitems: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
20 local query = stanza.tags[1];
ae91c98b7e4c mod_discoitems: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
21 if stanza.attr.type == 'get' and not query.attr.node then
ae91c98b7e4c mod_discoitems: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
22 event.origin.send(st.reply(stanza):add_child(result_query));
ae91c98b7e4c mod_discoitems: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
23 return true;
ae91c98b7e4c mod_discoitems: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
24 end
ae91c98b7e4c mod_discoitems: Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
25 end, 100);