aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/modulemanager.lua1
-rw-r--r--plugins/mod_version.lua20
2 files changed, 21 insertions, 0 deletions
diff --git a/core/modulemanager.lua b/core/modulemanager.lua
index 43804746..29139ad7 100644
--- a/core/modulemanager.lua
+++ b/core/modulemanager.lua
@@ -52,6 +52,7 @@ function loadall()
load("tls");
load("vcard");
load("private");
+ load("version");
end
function load(name)
diff --git a/plugins/mod_version.lua b/plugins/mod_version.lua
new file mode 100644
index 00000000..a00cb7f9
--- /dev/null
+++ b/plugins/mod_version.lua
@@ -0,0 +1,20 @@
+
+local st = require "util.stanza";
+local send = require "core.sessionmanager".send_to_session;
+
+local log = require "util.logger".init("mod_version");
+
+local xmlns_version = "jabber:iq:version"
+
+local function handle_version_request(session, stanza)
+ if stanza.attr.type == "get" then
+ session.send(st.reply(stanza)
+ :query(xmlns_version)
+ :tag("name"):text("lxmppd"):up()
+ :tag("version"):text("pre-alpha"):up()
+ :tag("os"):text("The best one"));
+ end
+end
+
+add_iq_handler("c2s", xmlns_version, handle_version_request);
+add_iq_handler("s2s", xmlns_version, handle_version_request);