From 702d8a9ab49e326fbdd73229a9ab7fda42ecfa84 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Tue, 10 Aug 2021 20:55:43 +0200 Subject: mod_s2s: Add a Direct TLS listener Mirroring the c2s 'direct_tls'. Naming things is hard. direct_tls_s2s_ports = { 5269+1 } --- CHANGES | 2 +- doc/doap.xml | 2 +- plugins/mod_s2s.lua | 14 ++++++++++++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 69df9add..5032acd2 100644 --- a/CHANGES +++ b/CHANGES @@ -26,7 +26,7 @@ TRUNK - statistics scheduling can be done by plugin - mod_server_contact_info now loaded on components if enabled - Statistics now based on OpenMetrics -- Direct TLS support +- Direct TLS support (c2s and incoming s2s) - Offline messages aren't sent to MAM clients - Network backend server_select deprecated diff --git a/doc/doap.xml b/doc/doap.xml index b2863b19..191f4caa 100644 --- a/doc/doap.xml +++ b/doc/doap.xml @@ -641,7 +641,7 @@ 1.1.0 partial 0.2.0 - c2s only direct_tls_ports, formerly legacy_ssl_ports + direct_tls_ports (formerly legacy_ssl_ports) for c2s and direct_tls_s2s_ports for s2s diff --git a/plugins/mod_s2s.lua b/plugins/mod_s2s.lua index f4cf9444..80e4a124 100644 --- a/plugins/mod_s2s.lua +++ b/plugins/mod_s2s.lua @@ -967,3 +967,17 @@ module:provides("net", { }; }); + +module:provides("net", { + name = "direct_tls_s2s"; + listener = listener; + encryption = "ssl"; + ssl_config = { + verify = { "peer", "client_once", }; + }; + multiplex = { + protocol = "xmpp-server"; + pattern = "^<.*:stream.*%sxmlns%s*=%s*(['\"])jabber:server%1.*>"; + }; +}); + -- cgit v1.2.3