Software / code / prosody-modules
File
mod_query_client_ver/mod_query_client_ver.lua @ 6258:86989059de5b
:multibe Readme.md: correct prosody 0.13 to 13
diff --git a/mod_muc_anonymize_moderation_actions/README.md b/mod_muc_anonymize_moderation_actions/README.md
--- a/mod_muc_anonymize_moderation_actions/README.md
+++ b/mod_muc_anonymize_moderation_actions/README.md
@@ -34,7 +34,7 @@ Component "muc.example.com" "muc"
------ ----------------------
trunk Works as of 25-05-12
- 0.13 Works
+ 13 Works
0.12 Works
------ ----------------------
diff --git a/mod_sasl2/README.md b/mod_sasl2/README.md
--- a/mod_sasl2/README.md
+++ b/mod_sasl2/README.md
@@ -32,6 +32,6 @@ This module requires Prosody **trunk** a
Prosody Version Status
----------------------- ----------------
trunk as of 2025-05-25 Works
- 0.13 Works
+ 13 Works
0.12 Does not work
----------------------- ----------------
diff --git a/mod_sasl2_bind2/README.md b/mod_sasl2_bind2/README.md
--- a/mod_sasl2_bind2/README.md
+++ b/mod_sasl2_bind2/README.md
@@ -17,5 +17,5 @@ This module depends on [mod_sasl2]. It e
Prosody-Version Status
--------------- ----------------------
trunk Works as of 2025-05-25
- 0.13 Works
+ 13 Works
0.12 Does not work
diff --git a/mod_sasl2_fast/README.md b/mod_sasl2_fast/README.md
--- a/mod_sasl2_fast/README.md
+++ b/mod_sasl2_fast/README.md
@@ -34,5 +34,5 @@ clients being logged out unexpectedly.
Prosody-Version Status
--------------- ----------------------
trunk Works as of 2025-05-25
- 0.13 Work
+ 13 Work
0.12 Does not work
diff --git a/mod_sasl2_sm/README.md b/mod_sasl2_sm/README.md
--- a/mod_sasl2_sm/README.md
+++ b/mod_sasl2_sm/README.md
@@ -18,5 +18,5 @@ configuration options.
Prosody-Version Status
--------------- ----------------------
trunk Works as of 2025-05-25
- 0.13 Work
+ 13 Work
0.12 Does not work
diff --git a/mod_sasl_ssdp/README.md b/mod_sasl_ssdp/README.md
--- a/mod_sasl_ssdp/README.md
+++ b/mod_sasl_ssdp/README.md
@@ -21,5 +21,5 @@ There are no configuration options for t
Prosody-Version Status
--------------- ----------------------
trunk Works as of 2025-05-25
- 0.13 Works
+ 13 Works
0.12 Does not work
diff --git a/mod_vcard_muc/README.md b/mod_vcard_muc/README.md
--- a/mod_vcard_muc/README.md
+++ b/mod_vcard_muc/README.md
@@ -23,7 +23,7 @@ modules_enabled = {
# Compatibility
------------------------- ----------------------------------------
- 0.13 Room avatar feature included in Prosody
+ 13 Room avatar feature included in Prosody
0.12 Works
------------------------- ----------------------------------------
diff --git a/mod_warn_legacy_tls/README.md b/mod_warn_legacy_tls/README.md
--- a/mod_warn_legacy_tls/README.md
+++ b/mod_warn_legacy_tls/README.md
@@ -44,5 +44,5 @@ legacy_tls_versions = { "TLSv1", "TLSv1.
Prosody-Version Status
--------------- ---------------------
trunk Works as of 25-05-25
-0.13 Works
+13 Works
0.12 Works
| author | Menel <menel@snikket.de> |
|---|---|
| date | Wed, 14 May 2025 23:32:04 +0200 |
| parent | 2993:1f8220f0c8bf |
line wrap: on
line source
-- Query and log client software local st = require"util.stanza"; local uuid = require"util.uuid".generate; local xmlns_iq_version = "jabber:iq:version"; local version_id = uuid(); local xmlns_disco_info = "http://jabber.org/protocol/disco#info"; local disco_id = uuid(); module:hook("presence/bare", function(event) local origin, stanza = event.origin, event.stanza; if origin.type == "c2s" and not origin.presence and not stanza.attr.to then module:add_timer(1, function() if origin.type ~= "c2s" then return end origin.log("debug", "Sending version query"); origin.send(st.iq({ id = version_id, type = "get", from = module.host, to = origin.full_jid }):query(xmlns_iq_version)); end); end end, 1); module:hook("iq-result/host/"..version_id, function(event) local origin, stanza = event.origin, event.stanza; local query = stanza:get_child("query", xmlns_iq_version); if query then local client = query:get_child_text("name"); if client then local version = query:get_child_text("version"); if version then client = client .. " version " .. version; end origin.log("info", "Running %s", client); end end return true; end); module:hook("iq-error/host/"..version_id, function(event) local origin, stanza = event.origin, event.stanza; origin.send(st.iq({ id = disco_id, type = "get", from = module.host, to = origin.full_jid }):query(xmlns_disco_info)); return true; end); module:hook("iq-result/host/"..disco_id, function(event) local origin, stanza = event.origin, event.stanza; local query = stanza:get_child("query", xmlns_disco_info); if query then local ident = query:get_child("identity"); if ident and ident.attr.name then origin.log("info", "Running %s", ident.attr.name); end end return true; end); module:hook("iq-error/host/"..disco_id, function() return true; -- Doesn't reply to disco#info? Weird, but ignore for now. end); module:add_item("adhoc", module:require "adhoc".new("Query all currently connected clients", module.name, function (self, data, state) for jid, session in pairs(prosody.full_sessions) do if session.host == module.host then session.send(st.iq({ id = version_id, type = "get", from = module.host, to = session.full_jid }):query(xmlns_iq_version)); end end return { info = "Ok, check your logs for results", status = "completed" } end, "admin"));