mod_admin_telnet: Update existing sessions on reload
authorKim Alvefur <zash@zash.se>
Sat, 16 May 2020 20:46:12 +0200
changeset 10849 785fa0112411
parent 10848 05f4386c846e
child 10850 d0b098d0f6c3
mod_admin_telnet: Update existing sessions on reload This removes the need to disconnect and reconnect to the telnet console for changes to take effect.
plugins/mod_admin_telnet.lua
--- a/plugins/mod_admin_telnet.lua	Fri May 15 21:26:54 2020 +0200
+++ b/plugins/mod_admin_telnet.lua	Sat May 16 20:46:12 2020 +0200
@@ -161,6 +161,20 @@
 
 local sessions = {};
 
+function module.save()
+	return { sessions = sessions }
+end
+
+function module.restore(data)
+	if data.sessions then
+		for conn in pairs(data.sessions) do
+			conn:setlistener(console_listener);
+			local session = console:new_session(conn);
+			sessions[conn] = session;
+		end
+	end
+end
+
 function console_listener.onconnect(conn)
 	-- Handle new connection
 	local session = console:new_session(conn);