File

mod_telnet_tlsinfo/mod_telnet_tlsinfo.lua @ 1090:1aa48916eb8b

mod_adhoc_account_management: Initial commit of module meant to let user manage their accounts.
author Kim Alvefur <zash@zash.se>
date Fri, 28 Jun 2013 03:22:48 +0200
parent 1087:447af80a16ad
child 1132:832235cc1910
line wrap: on
line source

-- 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