changeset 14147:320e1d49aa9e

Merge 13.0->trunk
author Matthew Wild <mwild1@gmail.com>
date Tue, 21 Apr 2026 16:23:34 +0100
parents b6b09dace24b (current diff) 1d028f9473c2 (diff)
children 9728c3fabeef
files plugins/mod_c2s.lua
diffstat 2 files changed, 4 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/plugins/mod_c2s.lua	Fri Apr 17 19:43:00 2026 +0100
+++ b/plugins/mod_c2s.lua	Tue Apr 21 16:23:34 2026 +0100
@@ -441,7 +441,9 @@
 	if session then
 		(session.log or log)("info", "Client disconnected: %s", err or "connection closed");
 		stop_session_timers(session);
-		sm_destroy_session(session, err);
+		if not session.hibernating then
+			sm_destroy_session(session, err);
+		end
 		session.conn = nil;
 		sessions[conn]  = nil;
 	end
--- a/plugins/mod_smacks.lua	Fri Apr 17 19:43:00 2026 +0100
+++ b/plugins/mod_smacks.lua	Tue Apr 21 16:23:34 2026 +0100
@@ -75,7 +75,6 @@
 local delayed_ack_timeout = module:get_option_period("smacks_max_ack_delay", 30);
 local max_old_sessions = module:get_option_integer("smacks_max_old_sessions", 10, 0);
 
-local c2s_sessions = module:shared("/*/c2s/sessions");
 local local_sessions = prosody.hosts[module.host].sessions;
 
 local function format_h(h) if h then return string.format("%d", h) end end
@@ -554,10 +553,7 @@
 		});
 	end);
 	if session.conn then
-		local conn = session.conn;
-		c2s_sessions[conn] = nil;
-		session.conn = nil;
-		conn:close();
+		session.conn:close();
 	end
 	session.log("debug", "Session going into hibernation (not being destroyed)")
 	module:fire_event("smacks-hibernation-start", { origin = session; queue = session.outgoing_stanza_queue:table() });