From d81a18d87d15bbf54ddbd675bfa829cf7dfdce9e Mon Sep 17 00:00:00 2001 From: Edoardo Spadolini Date: Mon, 8 Feb 2016 14:01:51 +0100 Subject: [PATCH] Add some #ifdef feature checks to fix compilation with BoringSSL --- Csocket.cc | 12 ++++++++++++ 1 file changed, 12 insertions(+) --- a/src/Csocket.cpp +++ b/src/Csocket.cpp @@ -45,9 +45,12 @@ #ifdef HAVE_LIBSSL #include +#include #include #include +#ifndef OPENSSL_NO_COMP #include +#endif #endif /* HAVE_LIBSSL */ #ifdef HAVE_ICU @@ -531,8 +534,12 @@ void ShutdownCsocket() { #ifdef HAVE_LIBSSL ERR_remove_state( 0 ); +#ifndef OPENSSL_NO_ENGINE ENGINE_cleanup(); +#endif +#ifndef OPENSSL_IS_BORINGSSL CONF_modules_unload( 1 ); +#endif ERR_free_strings(); EVP_cleanup(); CRYPTO_cleanup_all_ex_data(); @@ -573,6 +580,7 @@ bool InitSSL( ECompType eCompressionType } #endif /* _WIN32 */ +#ifndef OPENSSL_NO_COMP COMP_METHOD *cm = NULL; if( CT_ZLIB & eCompressionType ) @@ -588,6 +596,7 @@ bool InitSSL( ECompType eCompressionType if( cm ) SSL_COMP_add_compression_method( CT_RLE, cm ); } +#endif // setting this up once in the begining s_iCsockSSLIdx = SSL_get_ex_new_index( 0, NULL, NULL, NULL, NULL ); @@ -1724,6 +1733,8 @@ SSL_CTX * Csock::SetupServerCTX() #ifndef OPENSSL_NO_ECDH // Errors for the following block are non-fatal (ECDHE is nice to have // but not a requirement) +#ifndef OPENSSL_IS_BORINGSSL + // BoringSSL does this thing automatically #if defined( SSL_CTX_set_ecdh_auto ) // Auto-select sensible curve if( !SSL_CTX_set_ecdh_auto( pCTX , 1 ) ) @@ -1742,6 +1753,7 @@ SSL_CTX * Csock::SetupServerCTX() ERR_clear_error(); } #endif /* SSL_CTX_set_tmp_ecdh */ +#endif /* !OPENSSL_IS_BORINGSSL */ #endif /* OPENSSL_NO_ECDH */ if( !ConfigureCTXOptions( pCTX ) )