# HG changeset patch # User Kim Alvefur # Date 1372350173 -7200 # Node ID 447af80a16ad839d9423c1d13c6cdfb1f9427f29 # Parent 50ee38e95e754bf1034d980364f93564028b2f34 mod_telnet_tlsinfo: Initial commit. Shows ciphers used and other TLS info diff -r 50ee38e95e75 -r 447af80a16ad mod_telnet_tlsinfo/mod_telnet_tlsinfo.lua --- /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