---- 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 )