Merge pull request #15191 from neheb/zn3

znc: fix compilation without deprecated OpenSSL APIs
This commit is contained in:
Rosen Penev 2021-03-20 20:25:32 -07:00 committed by GitHub
commit e5d61027a9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 56 additions and 0 deletions

View File

@ -0,0 +1,56 @@
--- 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 )