module "s2smanager"
- local function compare_srv_priorities(a,b) return a.priority < b.priority or a.weight < b.weight; end
+ function compare_srv_priorities(a,b)
+ return a.priority < b.priority or (a.priority == b.priority and a.weight > b.weight);
+ end
-local function bounce_sendq(session)
+local function bounce_sendq(session, reason)
local sendq = session.sendq;
if sendq then
session.log("info", "sending error replies for "..#sendq.." queued stanzas because of failed outgoing connection to "..tostring(session.to_host));
+++ /dev/null
---- Prosody IM
---- Copyright (C) 2008-2009 Matthew Wild
---- Copyright (C) 2008-2009 Waqas Hussain
----
---- This project is MIT/X11 licensed. Please see the
---- COPYING file in the source package for more information.
----
--
--\r
--local datamanager = require "util.datamanager";\r
--local st = require "util.stanza";\r
--local datetime = require "util.datetime";\r
--local ipairs = ipairs;
--local jid_split = require "util.jid".split;\r
--\r
--module:add_feature("msgoffline");\r
--\r
--module:hook("message/offline/store", function(event)\r
-- local origin, stanza = event.origin, event.stanza;\r
-- local to = stanza.attr.to;\r
-- local node, host;\r
-- if to then\r
-- node, host = jid_split(to)\r
-- else\r
-- node, host = origin.username, origin.host;\r
-- end\r
-- \r
-- stanza.attr.stamp, stanza.attr.stamp_legacy = datetime.datetime(), datetime.legacy();\r
-- local result = datamanager.list_append(node, host, "offline", st.preserialize(stanza));\r
-- stanza.attr.stamp, stanza.attr.stamp_legacy = nil, nil;\r
-- \r
-- return true;\r
--end);\r
--\r
--module:hook("message/offline/broadcast", function(event)\r
-- local origin = event.origin;\r
-- local node, host = origin.username, origin.host;\r
-- \r
-- local data = datamanager.list_load(node, host, "offline");\r
-- if not data then return true; end\r
-- for _, stanza in ipairs(data) do\r
-- stanza = st.deserialize(stanza);\r
-- stanza:tag("delay", {xmlns = "urn:xmpp:delay", from = host, stamp = stanza.attr.stamp}):up(); -- XEP-0203\r
-- stanza:tag("x", {xmlns = "jabber:x:delay", from = host, stamp = stanza.attr.stamp_legacy}):up(); -- XEP-0091 (deprecated)\r
-- stanza.attr.stamp, stanza.attr.stamp_legacy = nil, nil;\r
-- origin.send(stanza);\r
-- end\r
-- return true;\r
--end);\r
--\r
--module:hook("message/offline/delete", function(event)\r
-- local origin = event.origin;\r
-- local node, host = origin.username, origin.host;\r
--\r
-- return datamanager.list_store(node, host, "offline", nil);\r
--end);\r