# HG changeset patch # User Waqas Hussain # Date 1226262817 -18000 # Node ID 6526df1a727707b16a3c4caa584917a22892c61d # Parent 7c8313e055fb273a1e69e1ba7e5e8cb80c6a9fcf Added mod_uptime: [XEP-0012: Last Activity] queries now work when directed at the server. diff -r 7c8313e055fb -r 6526df1a7277 lxmppd.cfg.dist --- a/lxmppd.cfg.dist Mon Nov 10 01:30:52 2008 +0500 +++ b/lxmppd.cfg.dist Mon Nov 10 01:33:37 2008 +0500 @@ -26,5 +26,6 @@ "private"; "version"; "dialback"; + "uptime"; }; } diff -r 7c8313e055fb -r 6526df1a7277 plugins/mod_uptime.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/mod_uptime.lua Mon Nov 10 01:33:37 2008 +0500 @@ -0,0 +1,25 @@ + +local st = require "util.stanza" +local send = require "core.sessionmanager".send_to_session + +local jid_split = require "util.jid".split; +local t_concat = table.concat; + +local start_time = os.time(); + +add_iq_handler({"c2s", "s2sin"}, "jabber:iq:last", + function (origin, stanza) + if stanza.tags[1].name == "query" then + if stanza.attr.type == "get" then + local node, host, resource = jid_split(stanza.attr.to); + if node or resource then + -- TODO + else + origin.send(st.reply(stanza):tag("query", {xmlns = "jabber:iq:last", seconds = tostring(os.difftime(os.time(), start_time))})); + return true; + end + end + end + end); + +