ruby: fix build with openssl 1.0
authorPeter Korsgaard <jacmet@sunsite.dk>
Thu, 7 Jul 2011 06:37:19 +0000 (08:37 +0200)
committerPeter Korsgaard <jacmet@sunsite.dk>
Thu, 7 Jul 2011 06:37:19 +0000 (08:37 +0200)
Patch from Debian bug #620998

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
package/ruby/ruby-openssl1.0-fix.patch [new file with mode: 0644]

diff --git a/package/ruby/ruby-openssl1.0-fix.patch b/package/ruby/ruby-openssl1.0-fix.patch
new file mode 100644 (file)
index 0000000..5591d99
--- /dev/null
@@ -0,0 +1,53 @@
+From b983e73adf7a7d3fd07fdf493eee51c22881a6e6 Mon Sep 17 00:00:00 2001
+From: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
+Date: Wed, 6 Apr 2011 02:28:09 +0900
+Subject: [PATCH] Add option which enable SSLv2 support
+
+From openssl 1.0, SSLv2 becomes disable by default.
+If you want to use SSLv2 in ruby, you need config with --enable-opensslv2.
+The SSLv2 support is disable by default.
+
+Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
+---
+ ext/openssl/extconf.rb |    8 ++++++++
+ ext/openssl/ossl_ssl.c |    2 ++
+ 2 files changed, 10 insertions(+), 0 deletions(-)
+
+diff --git a/ext/openssl/extconf.rb b/ext/openssl/extconf.rb
+index b1f2d88..89c6f19 100644
+--- a/ext/openssl/extconf.rb
++++ b/ext/openssl/extconf.rb
+@@ -33,6 +33,14 @@ if with_config("debug") or enable_config("debug")
+   end
+ end
++## 
++## From openssl 1.0, SSLv2 becomes disable by default.
++## If you want to use SSLv2 in ruby, you need config with --enable-opensslv2.
++##
++if enable_config("opensslv2")
++  $defs << "-DENABLE_OPENSSLV2"
++end
++
+ message "=== Checking for system dependent stuff... ===\n"
+ have_library("nsl", "t_open")
+ have_library("socket", "socket")
+diff --git a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c
+index d8951fb..d0c9059 100644
+--- a/ext/openssl/ossl_ssl.c
++++ b/ext/openssl/ossl_ssl.c
+@@ -107,9 +107,11 @@ struct {
+     OSSL_SSL_METHOD_ENTRY(TLSv1),
+     OSSL_SSL_METHOD_ENTRY(TLSv1_server),
+     OSSL_SSL_METHOD_ENTRY(TLSv1_client),
++#if defined(ENABLE_OPENSSLV2)
+     OSSL_SSL_METHOD_ENTRY(SSLv2),
+     OSSL_SSL_METHOD_ENTRY(SSLv2_server),
+     OSSL_SSL_METHOD_ENTRY(SSLv2_client),
++#endif
+     OSSL_SSL_METHOD_ENTRY(SSLv3),
+     OSSL_SSL_METHOD_ENTRY(SSLv3_server),
+     OSSL_SSL_METHOD_ENTRY(SSLv3_client),
+-- 
+1.7.4.1
+