mod_telnet_tlsinfo/mod_telnet_tlsinfo.lua
author Kim Alvefur <zash@zash.se>
Sun, 03 Mar 2024 11:23:40 +0100
changeset 5857 97c9b76867ca
parent 1132 832235cc1910
permissions -rw-r--r--
mod_log_ringbuffer: Detach event handlers on logging reload (thanks Menel) Otherwise the global event handlers accumulate, one added each time logging is reoladed, and each invocation of the signal or event triggers one dump of each created ringbuffer.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1087
447af80a16ad mod_telnet_tlsinfo: Initial commit. Shows ciphers used and other TLS info
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     1
-- mod_telnet_tlsinfo.lua
447af80a16ad mod_telnet_tlsinfo: Initial commit. Shows ciphers used and other TLS info
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     2
447af80a16ad mod_telnet_tlsinfo: Initial commit. Shows ciphers used and other TLS info
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     3
module:set_global();
447af80a16ad mod_telnet_tlsinfo: Initial commit. Shows ciphers used and other TLS info
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     4
module:depends("admin_telnet");
447af80a16ad mod_telnet_tlsinfo: Initial commit. Shows ciphers used and other TLS info
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     5
447af80a16ad mod_telnet_tlsinfo: Initial commit. Shows ciphers used and other TLS info
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     6
local console_env = module:shared("/*/admin_telnet/env");
447af80a16ad mod_telnet_tlsinfo: Initial commit. Shows ciphers used and other TLS info
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     7
local c2s_sessions = module:shared("/*/c2s/sessions");
447af80a16ad mod_telnet_tlsinfo: Initial commit. Shows ciphers used and other TLS info
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     8
local s2s_sessions = module:shared("/*/s2s/sessions");
447af80a16ad mod_telnet_tlsinfo: Initial commit. Shows ciphers used and other TLS info
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     9
447af80a16ad mod_telnet_tlsinfo: Initial commit. Shows ciphers used and other TLS info
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    10
local function print_tlsinfo(print, session)
447af80a16ad mod_telnet_tlsinfo: Initial commit. Shows ciphers used and other TLS info
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    11
	if session.secure then
447af80a16ad mod_telnet_tlsinfo: Initial commit. Shows ciphers used and other TLS info
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    12
		local sock = session.conn:socket()
447af80a16ad mod_telnet_tlsinfo: Initial commit. Shows ciphers used and other TLS info
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    13
		for k,v in pairs(sock:info()) do
447af80a16ad mod_telnet_tlsinfo: Initial commit. Shows ciphers used and other TLS info
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    14
			print(("%20s: %s"):format(k, tostring(v)))
447af80a16ad mod_telnet_tlsinfo: Initial commit. Shows ciphers used and other TLS info
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    15
		end
447af80a16ad mod_telnet_tlsinfo: Initial commit. Shows ciphers used and other TLS info
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    16
	else
447af80a16ad mod_telnet_tlsinfo: Initial commit. Shows ciphers used and other TLS info
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    17
		print(("%20s: %s"):format("protocol", "TCP"))
447af80a16ad mod_telnet_tlsinfo: Initial commit. Shows ciphers used and other TLS info
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    18
	end
447af80a16ad mod_telnet_tlsinfo: Initial commit. Shows ciphers used and other TLS info
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    19
end
447af80a16ad mod_telnet_tlsinfo: Initial commit. Shows ciphers used and other TLS info
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    20
1132
832235cc1910 mod_telnet_tlsinfo: Add a pattern argument similar to s2s:show(pattern) for limiting output
Kim Alvefur <zash@zash.se>
parents: 1087
diff changeset
    21
function console_env.c2s:showtls(pat)
1087
447af80a16ad mod_telnet_tlsinfo: Initial commit. Shows ciphers used and other TLS info
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    22
	local print = self.session.print;
447af80a16ad mod_telnet_tlsinfo: Initial commit. Shows ciphers used and other TLS info
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    23
	for _, session in pairs(c2s_sessions) do
1132
832235cc1910 mod_telnet_tlsinfo: Add a pattern argument similar to s2s:show(pattern) for limiting output
Kim Alvefur <zash@zash.se>
parents: 1087
diff changeset
    24
		if not pat or session.full_jid and session.full_jid:find(pat, nil, true) then
832235cc1910 mod_telnet_tlsinfo: Add a pattern argument similar to s2s:show(pattern) for limiting output
Kim Alvefur <zash@zash.se>
parents: 1087
diff changeset
    25
			print(session.full_jid or "unauthenticated")
832235cc1910 mod_telnet_tlsinfo: Add a pattern argument similar to s2s:show(pattern) for limiting output
Kim Alvefur <zash@zash.se>
parents: 1087
diff changeset
    26
			print_tlsinfo(print, session);
832235cc1910 mod_telnet_tlsinfo: Add a pattern argument similar to s2s:show(pattern) for limiting output
Kim Alvefur <zash@zash.se>
parents: 1087
diff changeset
    27
			print""
832235cc1910 mod_telnet_tlsinfo: Add a pattern argument similar to s2s:show(pattern) for limiting output
Kim Alvefur <zash@zash.se>
parents: 1087
diff changeset
    28
		end
1087
447af80a16ad mod_telnet_tlsinfo: Initial commit. Shows ciphers used and other TLS info
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    29
	end
447af80a16ad mod_telnet_tlsinfo: Initial commit. Shows ciphers used and other TLS info
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    30
end
447af80a16ad mod_telnet_tlsinfo: Initial commit. Shows ciphers used and other TLS info
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    31
1132
832235cc1910 mod_telnet_tlsinfo: Add a pattern argument similar to s2s:show(pattern) for limiting output
Kim Alvefur <zash@zash.se>
parents: 1087
diff changeset
    32
function console_env.s2s:showtls(pat)
1087
447af80a16ad mod_telnet_tlsinfo: Initial commit. Shows ciphers used and other TLS info
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    33
	local print = self.session.print;
447af80a16ad mod_telnet_tlsinfo: Initial commit. Shows ciphers used and other TLS info
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    34
	for _, session in pairs(s2s_sessions) do
1132
832235cc1910 mod_telnet_tlsinfo: Add a pattern argument similar to s2s:show(pattern) for limiting output
Kim Alvefur <zash@zash.se>
parents: 1087
diff changeset
    35
		if not pat or session.from_host == pat or session.to_host == pat then
832235cc1910 mod_telnet_tlsinfo: Add a pattern argument similar to s2s:show(pattern) for limiting output
Kim Alvefur <zash@zash.se>
parents: 1087
diff changeset
    36
			if session.direction == "outgoing" then
832235cc1910 mod_telnet_tlsinfo: Add a pattern argument similar to s2s:show(pattern) for limiting output
Kim Alvefur <zash@zash.se>
parents: 1087
diff changeset
    37
				print(session.from_host, "->", session.to_host)
832235cc1910 mod_telnet_tlsinfo: Add a pattern argument similar to s2s:show(pattern) for limiting output
Kim Alvefur <zash@zash.se>
parents: 1087
diff changeset
    38
			else
832235cc1910 mod_telnet_tlsinfo: Add a pattern argument similar to s2s:show(pattern) for limiting output
Kim Alvefur <zash@zash.se>
parents: 1087
diff changeset
    39
				print(session.to_host, "<-", session.from_host)
832235cc1910 mod_telnet_tlsinfo: Add a pattern argument similar to s2s:show(pattern) for limiting output
Kim Alvefur <zash@zash.se>
parents: 1087
diff changeset
    40
			end
832235cc1910 mod_telnet_tlsinfo: Add a pattern argument similar to s2s:show(pattern) for limiting output
Kim Alvefur <zash@zash.se>
parents: 1087
diff changeset
    41
			print_tlsinfo(print, session);
832235cc1910 mod_telnet_tlsinfo: Add a pattern argument similar to s2s:show(pattern) for limiting output
Kim Alvefur <zash@zash.se>
parents: 1087
diff changeset
    42
			print""
1087
447af80a16ad mod_telnet_tlsinfo: Initial commit. Shows ciphers used and other TLS info
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    43
		end
447af80a16ad mod_telnet_tlsinfo: Initial commit. Shows ciphers used and other TLS info
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    44
	end
447af80a16ad mod_telnet_tlsinfo: Initial commit. Shows ciphers used and other TLS info
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    45
end