[packages] ruby: fix compilation against OpenSSL v1.0.0, thanks russell
[openwrt/svn-archive/archive.git] / lang / ruby / patches / 0001-Add-option-which-enable-SSLv2-support.patch
1 From b983e73adf7a7d3fd07fdf493eee51c22881a6e6 Mon Sep 17 00:00:00 2001
2 From: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
3 Date: Wed, 6 Apr 2011 02:28:09 +0900
4 Subject: [PATCH] Add option which enable SSLv2 support
5
6 From openssl 1.0, SSLv2 becomes disable by default.
7 If you want to use SSLv2 in ruby, you need config with --enable-opensslv2.
8 The SSLv2 support is disable by default.
9
10 Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
11 ---
12 ext/openssl/extconf.rb | 8 ++++++++
13 ext/openssl/ossl_ssl.c | 2 ++
14 2 files changed, 10 insertions(+), 0 deletions(-)
15
16 diff --git a/ext/openssl/extconf.rb b/ext/openssl/extconf.rb
17 index b1f2d88..89c6f19 100644
18 --- a/ext/openssl/extconf.rb
19 +++ b/ext/openssl/extconf.rb
20 @@ -33,6 +33,14 @@ if with_config("debug") or enable_config("debug")
21 end
22 end
23
24 +##
25 +## From openssl 1.0, SSLv2 becomes disable by default.
26 +## If you want to use SSLv2 in ruby, you need config with --enable-opensslv2.
27 +##
28 +if enable_config("opensslv2")
29 + $defs << "-DENABLE_OPENSSLV2"
30 +end
31 +
32 message "=== Checking for system dependent stuff... ===\n"
33 have_library("nsl", "t_open")
34 have_library("socket", "socket")
35 diff --git a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c
36 index d8951fb..d0c9059 100644
37 --- a/ext/openssl/ossl_ssl.c
38 +++ b/ext/openssl/ossl_ssl.c
39 @@ -107,9 +107,11 @@ struct {
40 OSSL_SSL_METHOD_ENTRY(TLSv1),
41 OSSL_SSL_METHOD_ENTRY(TLSv1_server),
42 OSSL_SSL_METHOD_ENTRY(TLSv1_client),
43 +#if defined(ENABLE_OPENSSLV2)
44 OSSL_SSL_METHOD_ENTRY(SSLv2),
45 OSSL_SSL_METHOD_ENTRY(SSLv2_server),
46 OSSL_SSL_METHOD_ENTRY(SSLv2_client),
47 +#endif
48 OSSL_SSL_METHOD_ENTRY(SSLv3),
49 OSSL_SSL_METHOD_ENTRY(SSLv3_server),
50 OSSL_SSL_METHOD_ENTRY(SSLv3_client),
51 --
52 1.7.4.1
53