# HG changeset patch # User Kim Alvefur # Date 1628621491 -7200 # Node ID e2155e2703dd282b974bb5d54165ba2122b606b5 # Parent 4c0802b526732907230fd3aba6bbde476e69042b mod_s2s: Factor out procedure for newly encrypted sessions Goal is to call this if the connection is using Direct TLS, either via multiplexing or a future Direct TLS S2S port. diff -r 4c0802b52673 -r e2155e2703dd plugins/mod_s2s.lua --- a/plugins/mod_s2s.lua Mon Jun 21 22:50:23 2021 +0200 +++ b/plugins/mod_s2s.lua Tue Aug 10 20:51:31 2021 +0200 @@ -379,6 +379,21 @@ --- XMPP stream event handlers +local function session_secure(session) + session.secure = true; + session.encrypted = true; + + local sock = session.conn:socket(); + local info = sock.info and sock:info(); + if type(info) == "table" then + (session.log or log)("info", "Stream encrypted (%s with %s)", info.protocol, info.cipher); + session.compressed = info.compression; + m_tls_params:with_labels(info.protocol, info.cipher):add(1) + else + (session.log or log)("info", "Stream encrypted"); + end +end + local stream_callbacks = { default_ns = "jabber:server" }; function stream_callbacks.handlestanza(session, stanza) @@ -399,18 +414,7 @@ -- TODO: Rename session.secure to session.encrypted if session.secure == false then - session.secure = true; - session.encrypted = true; - - local sock = session.conn:socket(); - local info = sock.info and sock:info(); - if type(info) == "table" then - (session.log or log)("info", "Stream encrypted (%s with %s)", info.protocol, info.cipher); - session.compressed = info.compression; - m_tls_params:with_labels(info.protocol, info.cipher):add(1) - else - (session.log or log)("info", "Stream encrypted"); - end + session_secure(session); end if session.direction == "incoming" then