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