From 0ea55455703eb69d7617968424e4bede59f39b83 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Fri, 23 Nov 2018 18:03:32 -0800 Subject: [PATCH] ssl: Fix compile without Deprecated APIs and no ECC support Signed-off-by: Rosen Penev --- ssl.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/ssl.c b/ssl.c index c362983..845f77b 100644 --- a/ssl.c +++ b/ssl.c @@ -28,6 +28,9 @@ #include #include #include +#ifndef OPENSSL_NO_EC +#include +#endif #include #include @@ -59,8 +62,12 @@ ssl_init(struct vsf_session* p_sess) SSL_CTX* p_ctx; long options; int verify_option = 0; +#if OPENSSL_VERSION_NUMBER < 0x10100000L SSL_library_init(); p_ctx = SSL_CTX_new(SSLv23_server_method()); +#else + p_ctx = SSL_CTX_new(TLS_server_method()); +#endif if (p_ctx == NULL) { die("SSL: could not allocate SSL context"); @@ -120,6 +127,7 @@ ssl_init(struct vsf_session* p_sess) { die("SSL: RNG is not seeded"); } +#ifndef OPENSSL_NO_EC { EC_KEY* key = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1); if (key == NULL) @@ -129,6 +137,7 @@ ssl_init(struct vsf_session* p_sess) SSL_CTX_set_tmp_ecdh(p_ctx, key); EC_KEY_free(key); } +#endif if (tunable_ssl_request_cert) { verify_option |= SSL_VERIFY_PEER; @@ -660,7 +669,9 @@ ssl_cert_digest(SSL* p_ssl, struct vsf_session* p_sess, struct mystr* p_str) static char* get_ssl_error() { +#if OPENSSL_VERSION_NUMBER < 0x10100000L SSL_load_error_strings(); +#endif return ERR_error_string(ERR_get_error(), NULL); } -- 2.19.1