blob: e3650b8ea38cebf5c1eb9a0521e7b68d54ff751a [file] [log] [blame]
Patrick Williamsb48b7b42016-08-17 15:04:38 -05001From d94f2d3f96db529383b22f2dc294847190d1bfbe Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Tue, 10 Nov 2015 02:11:30 -0500
4Subject: [PATCH 2/2] Recent 1.0.2 betas have dropped the SSLv3_method
5 function. This patch leaves out the function on newer versions, much the same
6 as the SSLv2 deprecation is handled. It also fixes the ALPN test, which was
7 incorrectly failing on OpenSSL due to the LibreSSL check (earlier versions
8 bailed out before that line). Signed-off-by: Patch from Tom Molesworth
9
10Upstream-Status: Backport from upstream 1.67
11http://www.cpan.org/authors/id/M/MI/MIKEM/Net-SSLeay-1.67.tar.gz
12https://rt.cpan.org/Public/Bug/Display.html?id=101484
13
14Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
15---
16 SSLeay.xs | 12 ++++++++++++
17 t/local/41_alpn_support.t | 2 +-
18 2 files changed, 13 insertions(+), 1 deletion(-)
19
20diff --git a/SSLeay.xs b/SSLeay.xs
21index c31396d..1fd4fab 100644
22--- a/SSLeay.xs
23+++ b/SSLeay.xs
24@@ -1409,6 +1409,9 @@ SSL_CTX_v2_new()
25 #endif
26 #endif
27
28+#ifndef OPENSSL_NO_SSL3
29+#if OPENSSL_VERSION_NUMBER < 0x10002000L
30+
31 SSL_CTX *
32 SSL_CTX_v3_new()
33 CODE:
34@@ -1416,6 +1419,9 @@ SSL_CTX_v3_new()
35 OUTPUT:
36 RETVAL
37
38+#endif
39+#endif
40+
41 SSL_CTX *
42 SSL_CTX_v23_new()
43 CODE:
44@@ -3758,9 +3764,15 @@ SSLv2_method()
45 #endif
46 #endif
47
48+#ifndef OPENSSL_NO_SSL3
49+#if OPENSSL_VERSION_NUMBER < 0x10002000L
50+
51 const SSL_METHOD *
52 SSLv3_method()
53
54+#endif
55+#endif
56+
57 const SSL_METHOD *
58 TLSv1_method()
59
60diff --git a/t/local/41_alpn_support.t b/t/local/41_alpn_support.t
61index ba984b5..87a0214 100644
62--- a/t/local/41_alpn_support.t
63+++ b/t/local/41_alpn_support.t
64@@ -11,7 +11,7 @@ use Config;
65
66 BEGIN {
67 plan skip_all => "openssl 1.0.2 required" unless Net::SSLeay::SSLeay >= 0x10002000;
68- plan skip_all => "libressl not supported" if &Net::SSLeay::LIBRESSL_VERSION_NUMBER;
69+ plan skip_all => "libressl not supported" if defined &Net::SSLeay::LIBRESSL_VERSION_NUMBER;
70 plan skip_all => "fork() not supported on $^O" unless $Config{d_fork};
71 }
72
73--
741.9.1
75