From d0adc8db056ae3821207a5687f9e7cfa294889f2 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 7 Sep 2016 15:19:42 +0200 Subject: [PATCH 1/2] RUBY-1140 Add TLS SNI support --- lib/mongo/socket/ssl.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/mongo/socket/ssl.rb b/lib/mongo/socket/ssl.rb index 271c7c2294..93089fc34d 100644 --- a/lib/mongo/socket/ssl.rb +++ b/lib/mongo/socket/ssl.rb @@ -56,6 +56,7 @@ def connect! Timeout.timeout(timeout, Error::SocketTimeoutError) do handle_errors { @tcp_socket.connect(::Socket.pack_sockaddr_in(port, host)) } @socket = OpenSSL::SSL::SSLSocket.new(@tcp_socket, context) + @socket.hostname = @host_name @socket.sync_close = true handle_errors { @socket.connect } verify_certificate!(@socket) From 3993487c8fa1cc2663c78aa348240e41d2e1d593 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 8 Sep 2016 16:25:49 +0200 Subject: [PATCH 2/2] RUBY-1140 JRuby openssl doesn't support SNI --- lib/mongo/socket/ssl.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/mongo/socket/ssl.rb b/lib/mongo/socket/ssl.rb index 93089fc34d..988e03c607 100644 --- a/lib/mongo/socket/ssl.rb +++ b/lib/mongo/socket/ssl.rb @@ -56,7 +56,7 @@ def connect! Timeout.timeout(timeout, Error::SocketTimeoutError) do handle_errors { @tcp_socket.connect(::Socket.pack_sockaddr_in(port, host)) } @socket = OpenSSL::SSL::SSLSocket.new(@tcp_socket, context) - @socket.hostname = @host_name + @socket.hostname = @host_name unless BSON::Environment.jruby? @socket.sync_close = true handle_errors { @socket.connect } verify_certificate!(@socket)