plugins/mod_stanza_debug.lua
author Kim Alvefur <zash@zash.se>
Wed, 19 Apr 2023 11:32:53 +0200
branch0.12
changeset 13082 6da83deb8d7f
parent 10115 0f335815244f
child 12981 74b9e05af71e
permissions -rw-r--r--
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