Software / code / prosody-modules
File
mod_query_client_ver/mod_query_client_ver.lua @ 6251:694f8fab07d4
: mod_sasl2*** : Update Compability for all of them
diff --git a/mod_sasl2/README.md b/mod_sasl2/README.md
--- a/mod_sasl2/README.md
+++ b/mod_sasl2/README.md
@@ -31,6 +31,7 @@ This module requires Prosody **trunk** a
Prosody Version Status
----------------------- ----------------
- trunk as of 2024-11-24 Works
+ trunk as of 2025-05-25 Works
+ 0.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
@@ -16,5 +16,6 @@ This module depends on [mod_sasl2]. It e
Prosody-Version Status
--------------- ----------------------
- trunk Works as of 2024-12-21
+ trunk Works as of 2025-05-25
+ 0.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
@@ -33,5 +33,6 @@ clients being logged out unexpectedly.
Prosody-Version Status
--------------- ----------------------
- trunk Works as of 2024-12-21
+ trunk Works as of 2025-05-25
+ 0.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
@@ -17,5 +17,6 @@ configuration options.
Prosody-Version Status
--------------- ----------------------
- trunk Works as of 2024-12-21
+ trunk Works as of 2025-05-25
+ 0.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
@@ -18,8 +18,8 @@ There are no configuration options for t
# Compatibility
-For SASL2 (XEP-0388) clients, it is compatible with the mod_sasl2 community module.
-
-For clients using RFC 6120 SASL, it requires Prosody trunk 33e5edbd6a4a or
-later. It is not compatible with Prosody 0.12 (it will load, but simply
-won't do anything) for "legacy SASL".
+ Prosody-Version Status
+ --------------- ----------------------
+ trunk Works as of 2025-05-25
+ 0.13 Works
+ 0.12 Does not work
| author | Menel <menel@snikket.de> |
|---|---|
| date | Mon, 12 May 2025 11:07:45 +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"));