aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2017-10-25 01:32:30 +0200
committerKim Alvefur <zash@zash.se>2017-10-25 01:32:30 +0200
commit8c8c4b18455933bd36678d862fc454e941ce7e93 (patch)
tree04718cd7b73951ebbc8355c1f4e9475cd4625409
parent052f395719bff08d32b03573df36093ffc3a5fee (diff)
parent0341e89cbfbc04a50a4f0ea104bc7aa57032c1b1 (diff)
downloadprosody-im-server-8c8c4b18455933bd36678d862fc454e941ce7e93.tar
prosody-im-server-8c8c4b18455933bd36678d862fc454e941ce7e93.zip
Merge 0.10->trunk
-rw-r--r--core/stanza_router.lua3
-rw-r--r--plugins/mod_stanza_debug.lua29
2 files changed, 31 insertions, 1 deletions
diff --git a/core/stanza_router.lua b/core/stanza_router.lua
index 2312614c..0be92f88 100644
--- a/core/stanza_router.lua
+++ b/core/stanza_router.lua
@@ -140,7 +140,8 @@ function core_process_stanza(origin, stanza)
if h then
local event;
if xmlns == nil then
- if stanza.name == "iq" and (stanza.attr.type == "set" or stanza.attr.type == "get") then
+ if stanza.name == "iq" and (stanza.attr.type == "set" or stanza.attr.type == "get")
+ and stanza.tags[1] and stanza.tags[1].attr.xmlns then
event = "stanza/iq/"..stanza.tags[1].attr.xmlns..":"..stanza.tags[1].name;
else
event = "stanza/"..stanza.name;
diff --git a/plugins/mod_stanza_debug.lua b/plugins/mod_stanza_debug.lua
new file mode 100644
index 00000000..6dedb6f7
--- /dev/null
+++ b/plugins/mod_stanza_debug.lua
@@ -0,0 +1,29 @@
+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: %s", tostring(t));
+ end
+ return t;
+end
+
+local function log_recv(t, session)
+ if t and t ~= "" and t ~= " " then
+ session.log("debug", "RECV: %s", tostring(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