plugins/mod_stanza_debug.lua
author Kim Alvefur <zash@zash.se>
Sat, 24 Feb 2024 00:05:29 +0100
changeset 13443 1e229d710a3c
parent 12981 74b9e05af71e
permissions -rw-r--r--
util.signal: Add support for signalfd(2) on Linux signalfd allows handling signal events using the same method as sockets, via file descriptors. Thus all signal dispatch can go through the same main event loop as everything else, removing need for thread-scary signal handling where execution would just jump to the signal handler regardless of the state of Lua, and needing to keep track of Lua states/threads.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8351
c3de5b454ec4 mod_stanza_debug: Logs full stanzas sent and received for debugging purposes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     1
module:set_global();
c3de5b454ec4 mod_stanza_debug: Logs full stanzas sent and received for debugging purposes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     2
12981
74b9e05af71e plugins: Prefix module imports with prosody namespace
Kim Alvefur <zash@zash.se>
parents: 10115
diff changeset
     3
local filters = require "prosody.util.filters";
8351
c3de5b454ec4 mod_stanza_debug: Logs full stanzas sent and received for debugging purposes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     4
c3de5b454ec4 mod_stanza_debug: Logs full stanzas sent and received for debugging purposes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     5
local function log_send(t, session)
c3de5b454ec4 mod_stanza_debug: Logs full stanzas sent and received for debugging purposes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     6
	if t and t ~= "" and t ~= " " then
10115
0f335815244f plugins: Remove tostring call from logging
Kim Alvefur <zash@zash.se>
parents: 8351
diff changeset
     7
		session.log("debug", "SEND: %s", t);
8351
c3de5b454ec4 mod_stanza_debug: Logs full stanzas sent and received for debugging purposes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     8
	end
c3de5b454ec4 mod_stanza_debug: Logs full stanzas sent and received for debugging purposes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     9
	return t;
c3de5b454ec4 mod_stanza_debug: Logs full stanzas sent and received for debugging purposes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    10
end
c3de5b454ec4 mod_stanza_debug: Logs full stanzas sent and received for debugging purposes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    11
c3de5b454ec4 mod_stanza_debug: Logs full stanzas sent and received for debugging purposes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    12
local function log_recv(t, session)
c3de5b454ec4 mod_stanza_debug: Logs full stanzas sent and received for debugging purposes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    13
	if t and t ~= "" and t ~= " " then
10115
0f335815244f plugins: Remove tostring call from logging
Kim Alvefur <zash@zash.se>
parents: 8351
diff changeset
    14
		session.log("debug", "RECV: %s", t);
8351
c3de5b454ec4 mod_stanza_debug: Logs full stanzas sent and received for debugging purposes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    15
	end
c3de5b454ec4 mod_stanza_debug: Logs full stanzas sent and received for debugging purposes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    16
	return t;
c3de5b454ec4 mod_stanza_debug: Logs full stanzas sent and received for debugging purposes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    17
end
c3de5b454ec4 mod_stanza_debug: Logs full stanzas sent and received for debugging purposes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    18
c3de5b454ec4 mod_stanza_debug: Logs full stanzas sent and received for debugging purposes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    19
local function init_raw_logging(session)
c3de5b454ec4 mod_stanza_debug: Logs full stanzas sent and received for debugging purposes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    20
	filters.add_filter(session, "stanzas/in",  log_recv, -10000);
c3de5b454ec4 mod_stanza_debug: Logs full stanzas sent and received for debugging purposes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    21
	filters.add_filter(session, "stanzas/out", log_send,  10000);
c3de5b454ec4 mod_stanza_debug: Logs full stanzas sent and received for debugging purposes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    22
end
c3de5b454ec4 mod_stanza_debug: Logs full stanzas sent and received for debugging purposes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    23
c3de5b454ec4 mod_stanza_debug: Logs full stanzas sent and received for debugging purposes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    24
filters.add_filter_hook(init_raw_logging);
c3de5b454ec4 mod_stanza_debug: Logs full stanzas sent and received for debugging purposes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    25
c3de5b454ec4 mod_stanza_debug: Logs full stanzas sent and received for debugging purposes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    26
function module.unload()
c3de5b454ec4 mod_stanza_debug: Logs full stanzas sent and received for debugging purposes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    27
	filters.remove_filter_hook(init_raw_logging);
c3de5b454ec4 mod_stanza_debug: Logs full stanzas sent and received for debugging purposes
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    28
end