plugins/mod_c2s.lua
changeset 13284 cf8a6710c91c
parent 13234 26c30844cac6
child 13293 38c95544b7ee
--- a/plugins/mod_c2s.lua	Wed Sep 07 11:26:42 2022 +0100
+++ b/plugins/mod_c2s.lua	Wed Sep 07 11:29:00 2022 +0100
@@ -11,9 +11,11 @@
 local add_task = require "prosody.util.timer".add_task;
 local new_xmpp_stream = require "prosody.util.xmppstream".new;
 local nameprep = require "prosody.util.encodings".stringprep.nameprep;
+local certmanager = require "prosody.core.certmanager";
 local sessionmanager = require "prosody.core.sessionmanager";
 local statsmanager = require "prosody.core.statsmanager";
 local st = require "prosody.util.stanza";
+local pm_get_tls_config_at = require "core.portmanager".get_tls_config_at;
 local sm_new_session, sm_destroy_session = sessionmanager.new_session, sessionmanager.destroy_session;
 local uuid_generate = require "prosody.util.uuid".generate;
 local async = require "prosody.util.async";
@@ -308,6 +310,12 @@
 		session.secure = true;
 		session.encrypted = true;
 
+		local server = conn:server();
+		local tls_config = pm_get_tls_config_at(server:ip(), server:serverport());
+		local autocert = certmanager.find_host_cert(session.conn:socket():getsniname());
+		session.ssl_cfg = autocert or tls_config;
+		session.ssl_ctx = conn:sslctx();
+
 		-- Check if TLS compression is used
 		local info = conn:ssl_info();
 		if type(info) == "table" then