--- a/third_party/Csocket/Csocket.cc
|
|
+++ b/third_party/Csocket/Csocket.cc
|
|
@@ -47,10 +47,16 @@
|
|
#include <stdio.h>
|
|
#include <openssl/ssl.h>
|
|
#include <openssl/conf.h>
|
|
-#include <openssl/engine.h>
|
|
+#include <openssl/bn.h>
|
|
+#include <openssl/dh.h>
|
|
+#include <openssl/dsa.h>
|
|
+#include <openssl/rsa.h>
|
|
#ifndef OPENSSL_NO_COMP
|
|
#include <openssl/comp.h>
|
|
#endif
|
|
+#ifndef OPENSSL_NO_ENGINE
|
|
+#include <openssl/engine.h>
|
|
+#endif
|
|
#define HAVE_ERR_REMOVE_STATE
|
|
#ifdef OPENSSL_VERSION_NUMBER
|
|
# if OPENSSL_VERSION_NUMBER >= 0x10000000
|
|
@@ -588,15 +594,17 @@ void ShutdownCsocket()
|
|
#elif defined( HAVE_ERR_REMOVE_STATE )
|
|
ERR_remove_state( 0 );
|
|
#endif
|
|
-#ifndef OPENSSL_NO_ENGINE
|
|
- ENGINE_cleanup();
|
|
-#endif
|
|
#ifndef OPENSSL_IS_BORINGSSL
|
|
CONF_modules_unload( 1 );
|
|
#endif
|
|
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
+#ifndef OPENSSL_NO_ENGINE
|
|
+ ENGINE_cleanup();
|
|
+#endif
|
|
ERR_free_strings();
|
|
EVP_cleanup();
|
|
CRYPTO_cleanup_all_ex_data();
|
|
+#endif
|
|
#endif /* HAVE_LIBSSL */
|
|
#ifdef HAVE_C_ARES
|
|
#if ARES_VERSION >= CREATE_ARES_VER( 1, 6, 1 )
|
|
@@ -611,12 +619,14 @@ void ShutdownCsocket()
|
|
#ifdef HAVE_LIBSSL
|
|
bool InitSSL( ECompType eCompressionType )
|
|
{
|
|
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
SSL_load_error_strings();
|
|
if( SSL_library_init() != 1 )
|
|
{
|
|
CS_DEBUG( "SSL_library_init() failed!" );
|
|
return( false );
|
|
}
|
|
+#endif
|
|
|
|
#ifndef _WIN32
|
|
if( access( "/dev/urandom", R_OK ) == 0 )
|