aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/xmppclient_listener.lua7
-rw-r--r--net/xmppserver_listener.lua9
2 files changed, 13 insertions, 3 deletions
diff --git a/net/xmppclient_listener.lua b/net/xmppclient_listener.lua
index 068557c8..64747bc5 100644
--- a/net/xmppclient_listener.lua
+++ b/net/xmppclient_listener.lua
@@ -60,7 +60,12 @@ function xmppclient.listener(conn, data)
-- TODO: Below function should be session,stanza - and xmlhandlers should use :method() notation to call,
-- this will avoid the useless indirection we have atm
-- (I'm on a mission, no time to fix now)
- session.stanza_dispatch = function (stanza) return core_process_stanza(session, stanza); end
+
+ -- Debug version --
+ local function handleerr() print("Traceback:", debug.traceback()); end
+ session.stanza_dispatch = function (stanza) return select(2, xpcall(function () return core_process_stanza(session, stanza); end, handleerr)); end
+
+-- session.stanza_dispatch = function (stanza) return core_process_stanza(session, stanza); end
end
if data then
diff --git a/net/xmppserver_listener.lua b/net/xmppserver_listener.lua
index 111633d8..f8b5d1c8 100644
--- a/net/xmppserver_listener.lua
+++ b/net/xmppserver_listener.lua
@@ -62,7 +62,12 @@ function xmppserver.listener(conn, data)
-- FIXME: Below function should be session,stanza - and xmlhandlers should use :method() notation to call,
-- this will avoid the useless indirection we have atm
-- (I'm on a mission, no time to fix now)
- session.stanza_dispatch = function (stanza) return core_process_stanza(session, stanza); end
+
+ -- Debug version --
+ local function handleerr() print("Traceback:", debug.traceback()); end
+ session.stanza_dispatch = function (stanza) return select(2, xpcall(function () return core_process_stanza(session, stanza); end, handleerr)); end
+
+-- session.stanza_dispatch = function (stanza) return core_process_stanza(session, stanza); end
end
if data then
@@ -100,4 +105,4 @@ connlisteners_register("xmppserver", xmppserver);
-- We also need to perform that same initialisation at other points (SASL, TLS, ...)
-- ...and we need to handle data
--- ...and record all sessions associated with connections \ No newline at end of file
+-- ...and record all sessions associated with connections