summaryrefslogtreecommitdiff
path: root/lang/ruby18-base/patches/patch-dh
diff options
context:
space:
mode:
Diffstat (limited to 'lang/ruby18-base/patches/patch-dh')
-rw-r--r--lang/ruby18-base/patches/patch-dh37
1 files changed, 37 insertions, 0 deletions
diff --git a/lang/ruby18-base/patches/patch-dh b/lang/ruby18-base/patches/patch-dh
new file mode 100644
index 00000000000..9300c8b76f0
--- /dev/null
+++ b/lang/ruby18-base/patches/patch-dh
@@ -0,0 +1,37 @@
+$NetBSD: patch-dh,v 1.1 2007/09/30 04:08:17 taca Exp $
+
+--- lib/net/http.rb.orig 2007-02-13 08:01:19.000000000 +0900
++++ lib/net/http.rb
+@@ -470,6 +470,7 @@ module Net #:nodoc:
+ @debug_output = nil
+ @use_ssl = false
+ @ssl_context = nil
++ @enable_post_connection_check = true
+ end
+
+ def inspect
+@@ -526,6 +527,9 @@ module Net #:nodoc:
+ false # redefined in net/https
+ end
+
++ # specify enabling SSL server certificate and hostname checking.
++ attr_accessor :enable_post_connection_check
++
+ # Opens TCP connection and HTTP session.
+ #
+ # When this method is called with block, gives a HTTP object
+@@ -584,6 +588,14 @@ module Net #:nodoc:
+ HTTPResponse.read_new(@socket).value
+ end
+ s.connect
++ if @ssl_context.verify_mode != OpenSSL::SSL::VERIFY_NONE
++ begin
++ s.post_connection_check(@address)
++ rescue OpenSSL::SSL::SSLError => ex
++ raise ex if @enable_post_connection_check
++ warn ex.message
++ end
++ end
+ end
+ on_connect
+ end