Diff

plugins/mod_tls.lua @ 1981:ffbc57a4dea8

mod_tls: Offer the host-specific cert (when there is one) to incoming c2s/s2s connections, fixes #30 (thanks, albert, Flo, johnny, and all who nagged me :) )
author Matthew Wild <mwild1@gmail.com>
date Sat, 17 Oct 2009 16:25:28 +0100
parent 1943:3d4c703d9333
child 2108:6425bc039430
child 2802:ded1c649484a
child 2853:91143b35a755
line wrap: on
line diff
--- a/plugins/mod_tls.lua	Sat Oct 17 16:23:03 2009 +0100
+++ b/plugins/mod_tls.lua	Sat Oct 17 16:25:28 2009 +0100
@@ -19,6 +19,9 @@
 			if session.conn.starttls then
 				session.send(st.stanza("proceed", { xmlns = xmlns_starttls }));
 				session:reset_stream();
+				if session.host and hosts[session.host].ssl_ctx_in then
+					session.conn.set_sslctx(hosts[session.host].ssl_ctx_in);
+				end
 				session.conn.starttls();
 				session.log("info", "TLS negotiation started...");
 				session.secure = false;
@@ -33,6 +36,9 @@
 			if session.conn.starttls then
 				session.sends2s(st.stanza("proceed", { xmlns = xmlns_starttls }));
 				session:reset_stream();
+				if session.to_host and hosts[session.to_host].ssl_ctx_in then
+					session.conn.set_sslctx(hosts[session.to_host].ssl_ctx_in);
+				end
 				session.conn.starttls();
 				session.log("info", "TLS negotiation started for incoming s2s...");
 				session.secure = false;