changeset 1087:447af80a16ad

mod_telnet_tlsinfo: Initial commit. Shows ciphers used and other TLS info
author Kim Alvefur <zash@zash.se>
date Thu, 27 Jun 2013 18:22:53 +0200
parents 50ee38e95e75
children 6f8e7f65f704
files mod_telnet_tlsinfo/mod_telnet_tlsinfo.lua
diffstat 1 files changed, 41 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mod_telnet_tlsinfo/mod_telnet_tlsinfo.lua	Thu Jun 27 18:22:53 2013 +0200
@@ -0,0 +1,41 @@
+-- mod_telnet_tlsinfo.lua
+
+module:set_global();
+module:depends("admin_telnet");
+
+local console_env = module:shared("/*/admin_telnet/env");
+local c2s_sessions = module:shared("/*/c2s/sessions");
+local s2s_sessions = module:shared("/*/s2s/sessions");
+
+local function print_tlsinfo(print, session)
+	if session.secure then
+		local sock = session.conn:socket()
+		for k,v in pairs(sock:info()) do
+			print(("%20s: %s"):format(k, tostring(v)))
+		end
+	else
+		print(("%20s: %s"):format("protocol", "TCP"))
+	end
+end
+
+function console_env.c2s:showtls()
+	local print = self.session.print;
+	for _, session in pairs(c2s_sessions) do
+		print(session.full_jid or "unauthenticated")
+		print_tlsinfo(print, session);
+		print""
+	end
+end
+
+function console_env.s2s:showtls()
+	local print = self.session.print;
+	for _, session in pairs(s2s_sessions) do
+		if session.direction == "outgoing" then
+			print(session.from_host, "->", session.to_host)
+		else
+			print(session.to_host, "<-", session.from_host)
+		end
+		print_tlsinfo(print, session);
+		print""
+	end
+end