Mercurial > prosody-modules
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