Skip to content

Commit 1d1be8d

Browse files
committed
ssl: fix compile error with OpenSSL 1.0.0
OpenSSL <= 1.0.0 did not support TLS 1.1/1.2, and thus we must still check the existence of the symbols. This fixes the previous commit, 3e5a009 ("ssl: remove unsupported TLS versions from SSLContext::METHODS", 2017-08-08).
1 parent 3e5a009 commit 1d1be8d

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

ext/openssl/extconf.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,8 @@ def find_openssl_library
113113
# like OPENSSL_NO_SSL2 may not be defined.
114114
have_func("SSLv2_method")
115115
have_func("SSLv3_method")
116+
have_func("TLSv1_1_method")
117+
have_func("TLSv1_2_method")
116118
have_func("RAND_egd")
117119
engines = %w{builtin_engines openbsd_dev_crypto dynamic 4758cca aep atalla chil
118120
cswift nuron sureware ubsec padlock capi gmp gost cryptodev aesni}

ext/openssl/ossl_ssl.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,10 @@ static const struct {
7474
#if !defined(OPENSSL_NO_TLS1) && !defined(OPENSSL_NO_TLS1_METHOD)
7575
OSSL_SSL_METHOD_ENTRY(TLSv1, TLS1_VERSION),
7676
#endif
77-
#if !defined(OPENSSL_NO_TLS1_1) && !defined(OPENSSL_NO_TLS1_1_METHOD)
77+
#if !defined(OPENSSL_NO_TLS1_1) && !defined(OPENSSL_NO_TLS1_1_METHOD) && defined(HAVE_TLSV1_1_METHOD)
7878
OSSL_SSL_METHOD_ENTRY(TLSv1_1, TLS1_1_VERSION),
7979
#endif
80-
#if !defined(OPENSSL_NO_TLS1_2) && !defined(OPENSSL_NO_TLS1_2_METHOD)
80+
#if !defined(OPENSSL_NO_TLS1_2) && !defined(OPENSSL_NO_TLS1_2_METHOD) && defined(HAVE_TLSV1_2_METHOD)
8181
OSSL_SSL_METHOD_ENTRY(TLSv1_2, TLS1_2_VERSION),
8282
#endif
8383
OSSL_SSL_METHOD_ENTRY(SSLv23, 0),

0 commit comments

Comments
 (0)