util.error: Fix error on conversion of invalid error stanza, fix #1805
Error stanzas should have an <error> element, but if you pass a
stanza without one to util.error.from_stanza() it triggers an attempt to
index a nil value, which this patch avoids.
In the conditional, it should be safe to assume error_tag is non-nil
since condition can't have those values then.
module:set_global();
local filters = require "util.filters";
local function log_send(t, session)
if t and t ~= "" and t ~= " " then
session.log("debug", "SEND: %s", t);
end
return t;
end
local function log_recv(t, session)
if t and t ~= "" and t ~= " " then
session.log("debug", "RECV: %s", t);
end
return t;
end
local function init_raw_logging(session)
filters.add_filter(session, "stanzas/in", log_recv, -10000);
filters.add_filter(session, "stanzas/out", log_send, 10000);
end
filters.add_filter_hook(init_raw_logging);
function module.unload()
filters.remove_filter_hook(init_raw_logging);
end