Mercurial > prosody-modules
view mod_rawdebug/mod_rawdebug.lua @ 3634:915e32d5a147
mod_smacks: fix bug for missbehaving clients sending multiple acks in a row
Missbehaving clients, sending multiple acks in a row (I'm looking at you Monal!)
triggered the ack-loop-prevention code added in 2017, leaving unacked stanzas
in the queue. This fixes the bug while still preventing ack-loops.
author | tmolitor <thilo@eightysoft.de> |
---|---|
date | Tue, 30 Jul 2019 02:07:13 +0200 |
parents | c5c583fae25d |
children |
line wrap: on
line source
module:set_global(); local tostring = tostring; local filters = require "util.filters"; local function log_send(t, session) if t and t ~= "" and t ~= " " then session.log("debug", "SEND(%d): %s", #t, tostring(t)); end return t; end local function log_recv(t, session) if t and t ~= "" and t ~= " " then session.log("debug", "RECV(%d): %s", #t, tostring(t)); end return t; end local function init_raw_logging(session) filters.add_filter(session, "bytes/in", log_recv, -10000); filters.add_filter(session, "bytes/out", log_send, 10000); end filters.add_filter_hook(init_raw_logging); function module.unload() -- luacheck: ignore filters.remove_filter_hook(init_raw_logging); end