From: orbea Date: Thu, 31 Aug 2023 21:35:52 +0000 (-0700) Subject: crypt_openssl_mgt: define DISABLE_ENGINES after OPENSSL_NO_ENGINE X-Git-Tag: tor-0.4.8.17~9^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=adb8a870ed90ac1b3504da65b538683a1bc89d10;p=thirdparty%2Ftor.git crypt_openssl_mgt: define DISABLE_ENGINES after OPENSSL_NO_ENGINE With LibreSSL-3.8.1 these engines are no long available causing a build failure, but LibreSSL correctly defines OPENSSL_NO_ENGINE as part of its opensslfeatures.h. However Tor includes crypto_openssl_mgt.h before any of the openssl includes which would define OPENSSL_NO_ENGINE and then fails to define DISABLE_ENGINES. As the define is used in only a single .c file it is best to move it there. Signed-off-by: orbea --- diff --git a/src/lib/crypt_ops/crypto_openssl_mgt.c b/src/lib/crypt_ops/crypto_openssl_mgt.c index 6c01cb6aa8..ca12a82518 100644 --- a/src/lib/crypt_ops/crypto_openssl_mgt.c +++ b/src/lib/crypt_ops/crypto_openssl_mgt.c @@ -40,6 +40,11 @@ ENABLE_GCC_WARNING("-Wredundant-decls") #include +#ifdef OPENSSL_NO_ENGINE +/* Android's OpenSSL seems to have removed all of its Engine support. */ +#define DISABLE_ENGINES +#endif + #ifndef NEW_THREAD_API /** A number of preallocated mutexes for use by OpenSSL. */ static tor_mutex_t **openssl_mutexes_ = NULL; diff --git a/src/lib/crypt_ops/crypto_openssl_mgt.h b/src/lib/crypt_ops/crypto_openssl_mgt.h index 96a37721dd..eac0ec1977 100644 --- a/src/lib/crypt_ops/crypto_openssl_mgt.h +++ b/src/lib/crypt_ops/crypto_openssl_mgt.h @@ -49,11 +49,6 @@ #define OPENSSL_V_SERIES(a,b,c) \ OPENSSL_VER((a),(b),(c),0,0) -#ifdef OPENSSL_NO_ENGINE -/* Android's OpenSSL seems to have removed all of its Engine support. */ -#define DISABLE_ENGINES -#endif - #if OPENSSL_VERSION_NUMBER >= OPENSSL_VER(1,1,0,0,5) /* OpenSSL as of 1.1.0pre4 has an "new" thread API, which doesn't require * setting up various callbacks.