1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

MDEV-10332 support for OpenSSL 1.1 and LibreSSL

Initial support

tested against OpenSSL 1.0.1, 1.0.2, 1.1.0, Yassl and LibreSSL
not working on Windows with native SChannel support, due to wrong cipher
mapping: Latter one requires push of CONC-241 fixes.
Please note that OpenSSL 0.9.8 and OpenSSL 1.1.0 will not work: Even if
the build succeeds, test cases will fail with various errors, especially
when using different tls libraries or versions for client and server.
This commit is contained in:
Georg Richter
2017-03-08 17:39:47 +01:00
committed by Sergei Golubchik
parent eb2b7ff623
commit f8866f8f66
19 changed files with 255 additions and 89 deletions

View File

@@ -60,6 +60,11 @@
#include "debug_sync.h"
#include "rpl_parallel.h"
#if OPENSSL_VERSION_NUMBER >= 0x10100000L
#define ERR_remove_state(X)
#elif defined(HAVE_ERR_remove_thread_state)
#define ERR_remove_state(X) ERR_remove_thread_state(NULL)
#endif
#define FLAGSTR(V,F) ((V)&(F)?#F" ":"")
@@ -4673,7 +4678,11 @@ err_during_init:
DBUG_LEAVE; // Must match DBUG_ENTER()
my_thread_end();
#ifdef HAVE_OPENSSL
#if OPENSSL_VERSION_NUMBER < 0x10000000L
ERR_remove_state(0);
#elif OPENSSL_VERSION_NUMBER < 0x10100000L
ERR_remove_thread_state(0);
#endif
#endif
pthread_exit(0);
return 0; // Avoid compiler warnings
@@ -5338,7 +5347,11 @@ err_during_init:
DBUG_LEAVE; // Must match DBUG_ENTER()
my_thread_end();
#ifdef HAVE_OPENSSL
#if OPENSSL_VERSION_NUMBER < 0x10000000L
ERR_remove_state(0);
#elif OPENSSL_VERSION_NUMBER < 0x10100000L
ERR_remove_thread_state(0);
#endif
#endif
pthread_exit(0);
return 0; // Avoid compiler warnings