Issue #8590 has been updated by Hiroshi SHIBATA.

Target version changed from 2.1.0 to current: 2.2.0

----------------------------------------
Bug #8590: Second call of https.get results in timeout
https://bugs.ruby-lang.org/issues/8590#change-44785

* Author: Yutaka HARA
* Status: Feedback
* Priority: Normal
* Assignee: Yui NARUSE
* Category: lib
* Target version: current: 2.2.0
* ruby -v: ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin12.4.0]
* Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN
----------------------------------------
Hi,

In the following code, second call of https.get results in an error "Connection reset by peer - SSL_connect" after timeout.

---
require "net/https"
https = Net::HTTP.new("secure.nicovideo.jp", 443)
#https = Net::HTTP.new("www.sbisec.co.jp", 443)  # same result for this server

https.use_ssl = true
https.ssl_version = 'TLSv1' 
https.start{ p https.get('/') }  #=> OK
https.start{ p https.get('/') }  #=> (Timeout)
---

Expected: prints response twice

Actual: prints response once, and raises the following error after timeout

/Users/yhara/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/net/http.rb:918:in `connect': Connection reset by peer - SSL_connect (Errno::ECONNRESET)
        from /Users/yhara/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/net/http.rb:918:in `block in connect'
        from /Users/yhara/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/timeout.rb:52:in `timeout'
        from /Users/yhara/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/net/http.rb:918:in `connect'
        from /Users/yhara/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/net/http.rb:862:in `do_start'
        from /Users/yhara/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/net/http.rb:851:in `start'

Is this a bug of Net::HTTP, or a problem of the server, or just I'm doing something wrong?

Thanks in advance.

---Files--------------------------------
net.http.reuse_ssl_session.patch (2.62 KB)


-- 
http://bugs.ruby-lang.org/