Project

General

Profile

Bug #10533

HTTP reconnection with SNI does not send correct hostname

Added by drbrain (Eric Hodel) about 6 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
Normal
Target version:
-
ruby -v:
ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-darwin14.0]
[ruby-core:66388]

Description

When reconnecting after connection timeout on an SNI connection the server name is not sent during reconnect which results in a failed reconnection:

$ cat test.rb
require 'net/http'
uri = URI 'https://david.shanske.com'

Net::HTTP.start uri.hostname, uri.port, use_ssl: true do |http|
  req = Net::HTTP::Get.new uri
  response = http.request req
  p response.code
  sleep 310
  req = Net::HTTP::Get.new uri
  response = http.request req
  p response.code
end
$ ruby -v test.rb
ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-darwin14.0]
"200"
/usr/local/lib/ruby/2.1.0/openssl/ssl.rb:178:in `post_connection_check': hostname "david.shanske.com" does not match the server certificate (OpenSSL::SSL::SSLError)
        from /usr/local/lib/ruby/2.1.0/net/http.rb:922:in `connect'
        from /usr/local/lib/ruby/2.1.0/net/http.rb:1447:in `begin_transport'
        from /usr/local/lib/ruby/2.1.0/net/http.rb:1404:in `transport_request'
        from /usr/local/lib/ruby/2.1.0/net/http.rb:1378:in `request'
        from test.rb:10:in `block in <main>'
        from /usr/local/lib/ruby/2.1.0/net/http.rb:853:in `start'
        from /usr/local/lib/ruby/2.1.0/net/http.rb:583:in `start'
        from test.rb:4:in `<main>'

Files

net.http.bug10533.patch (685 Bytes) net.http.bug10533.patch only resume valid sessions drbrain (Eric Hodel), 11/21/2014 11:00 PM
net.http.bug10533-2.patch (884 Bytes) net.http.bug10533-2.patch mkarnebeek (Michiel Karnebeek), 06/18/2015 08:35 AM

Related issues

Related to Ruby master - Bug #10398: Server Name Indication support broken when reusing a (dead) sessionClosedopensslActions

Also available in: Atom PDF