From f2a501261f78c12d381f161302768407bcf86d80 Mon Sep 17 00:00:00 2001 From: akr Date: Fri, 1 Jul 2005 03:49:12 +0000 Subject: * lib/open-uri.rb (OpenURI.open_http): refine post_connection_check call. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8688 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ lib/open-uri.rb | 11 ++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 82089cded1..cdc12c89c4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Jul 1 12:44:56 2005 Tanaka Akira + + * lib/open-uri.rb (OpenURI.open_http): refine post_connection_check + call. + Fri Jul 1 11:34:08 2005 Yukihiro Matsumoto * missing/crypt.c: replaced with 4.4BSD version. diff --git a/lib/open-uri.rb b/lib/open-uri.rb index ce96e5b1c9..a5459c25c0 100644 --- a/lib/open-uri.rb +++ b/lib/open-uri.rb @@ -243,10 +243,15 @@ module OpenURI resp = nil http.start { - if http.respond_to?(:verify_mode) && - (http.verify_mode & OpenSSL::SSL::VERIFY_PEER) != 0 + if target.class == URI::HTTPS # xxx: information hiding violation - http.instance_variable_get(:@socket).io.post_connection_check(target_host) + sock = http.instance_variable_get(:@socket) + if sock.respond_to?(:io) + sock = sock.io # 1.9 + else + sock = sock.instance_variable_get(:@socket) # 1.8 + end + sock.post_connection_check(target_host) end req = Net::HTTP::Get.new(request_uri, header) if options.include? :http_basic_authentication -- cgit v1.2.3