From 15c70040225172cabf4fd61d0da638b34d18b3f8 Mon Sep 17 00:00:00 2001 From: Vladislav Vaintroub Date: Mon, 11 Oct 2021 20:06:35 +0200 Subject: [PATCH 1/5] Fix clang-cl warnings "variable initialized but unused" Fix some comments. --- libmariadb/secure/ma_schannel.c | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/libmariadb/secure/ma_schannel.c b/libmariadb/secure/ma_schannel.c index 30b69d373..e3d395d12 100644 --- a/libmariadb/secure/ma_schannel.c +++ b/libmariadb/secure/ma_schannel.c @@ -272,7 +272,6 @@ SECURITY_STATUS ma_schannel_client_handshake(MARIADB_TLS *ctls) MARIADB_PVIO *pvio; SECURITY_STATUS sRet; DWORD OutFlags; - DWORD r; SC_CTX *sctx; SecBuffer ExtraData; DWORD SFlags= ISC_REQ_SEQUENCE_DETECT | ISC_REQ_REPLAY_DETECT | @@ -318,7 +317,7 @@ SECURITY_STATUS ma_schannel_client_handshake(MARIADB_TLS *ctls) return sRet; } - /* send client hello packaet */ + /* send client hello */ if(BuffersOut.cbBuffer != 0 && BuffersOut.pvBuffer != NULL) { ssize_t nbytes = (DWORD)pvio->methods->write(pvio, (uchar *)BuffersOut.pvBuffer, (size_t)BuffersOut.cbBuffer); @@ -328,7 +327,6 @@ SECURITY_STATUS ma_schannel_client_handshake(MARIADB_TLS *ctls) sRet= SEC_E_INTERNAL_ERROR; goto end; } - r = (DWORD)nbytes; } sRet= ma_schannel_handshake_loop(pvio, TRUE, &ExtraData); @@ -564,8 +562,6 @@ ssize_t ma_schannel_write_encrypt(MARIADB_PVIO *pvio, SECURITY_STATUS scRet; SecBufferDesc Message; SecBuffer Buffers[4]; - DWORD cbMessage; - PBYTE pbMessage; SC_CTX *sctx= (SC_CTX *)pvio->ctls->ssl; size_t payload; ssize_t nbytes; @@ -574,8 +570,6 @@ ssize_t ma_schannel_write_encrypt(MARIADB_PVIO *pvio, payload= MIN(WriteBufferSize, sctx->Sizes.cbMaximumMessage); memcpy(&sctx->IoBuffer[sctx->Sizes.cbHeader], WriteBuffer, payload); - pbMessage = sctx->IoBuffer + sctx->Sizes.cbHeader; - cbMessage = (DWORD)payload; Buffers[0].pvBuffer = sctx->IoBuffer; Buffers[0].cbBuffer = sctx->Sizes.cbHeader; @@ -589,10 +583,9 @@ ssize_t ma_schannel_write_encrypt(MARIADB_PVIO *pvio, Buffers[2].cbBuffer = sctx->Sizes.cbTrailer; Buffers[2].BufferType = SECBUFFER_STREAM_TRAILER; - Buffers[3].pvBuffer = SECBUFFER_EMPTY; // Pointer to buffer 4 - Buffers[3].cbBuffer = SECBUFFER_EMPTY; // length of buffer 4 - Buffers[3].BufferType = SECBUFFER_EMPTY; // Type of the buffer 4 - + Buffers[3].pvBuffer = SECBUFFER_EMPTY; + Buffers[3].cbBuffer = SECBUFFER_EMPTY; + Buffers[3].BufferType = SECBUFFER_EMPTY; Message.ulVersion = SECBUFFER_VERSION; Message.cBuffers = 4; From 62c7d5dbc31f48b51e0d9f83d38fec5941135c88 Mon Sep 17 00:00:00 2001 From: Nils Hanke Date: Tue, 11 May 2021 15:41:19 +0200 Subject: [PATCH 2/5] Fix typo in ConnectorName.cmake PLAFORM_NAME -> PLATFORM_NAME --- cmake/ConnectorName.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/ConnectorName.cmake b/cmake/ConnectorName.cmake index 357b8ac08..f7622bfbd 100644 --- a/cmake/ConnectorName.cmake +++ b/cmake/ConnectorName.cmake @@ -11,7 +11,7 @@ IF(SIZEOF_VOIDP EQUAL 8) SET(IS64 1) ENDIF() -SET (PLAFORM_NAME CMAKE_SYSTEM_NAME) +SET (PLATFORM_NAME CMAKE_SYSTEM_NAME) SET (MACHINE_NAME CMAKE_SYSTEM_PROCESSOR) SET (CONCAT_SIGN "-") From 9e1b3f5e2bf0446a9f9decc54bd2d9e70c87be05 Mon Sep 17 00:00:00 2001 From: Nils Hanke Date: Mon, 11 Oct 2021 17:47:03 -0700 Subject: [PATCH 3/5] Use dereferences in SET --- cmake/ConnectorName.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/ConnectorName.cmake b/cmake/ConnectorName.cmake index f7622bfbd..7c2f05274 100644 --- a/cmake/ConnectorName.cmake +++ b/cmake/ConnectorName.cmake @@ -11,8 +11,8 @@ IF(SIZEOF_VOIDP EQUAL 8) SET(IS64 1) ENDIF() -SET (PLATFORM_NAME CMAKE_SYSTEM_NAME) -SET (MACHINE_NAME CMAKE_SYSTEM_PROCESSOR) +SET (PLATFORM_NAME ${CMAKE_SYSTEM_NAME}) +SET (MACHINE_NAME ${CMAKE_SYSTEM_PROCESSOR}) SET (CONCAT_SIGN "-") IF(CMAKE_SYSTEM_NAME MATCHES "Windows") From 899d2d2666d4d8e93224e745fe1259253dae6c01 Mon Sep 17 00:00:00 2001 From: Sergei Krivonos Date: Wed, 29 Sep 2021 12:57:54 +0300 Subject: [PATCH 4/5] Xcode compatibility update --- libmariadb/CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libmariadb/CMakeLists.txt b/libmariadb/CMakeLists.txt index e9ed5cb70..eaea44c26 100644 --- a/libmariadb/CMakeLists.txt +++ b/libmariadb/CMakeLists.txt @@ -315,6 +315,9 @@ ELSE() IF(NOT CMAKE_SYSTEM_NAME MATCHES AIX) ADD_DEFINITIONS(-DLIBICONV_PLUG) ENDIF() + IF(APPLE) + ADD_DEFINITIONS(-Wno-deprecated-declarations) + ENDIF() ENDIF() IF(ZLIB_FOUND AND WITH_EXTERNAL_ZLIB) From b2bb1b213c79169b7c994a99f21f47f11be465d4 Mon Sep 17 00:00:00 2001 From: Georg Richter Date: Wed, 3 Nov 2021 16:29:45 +0100 Subject: [PATCH 5/5] Fix for CONC-570: Removed callback function for crypto threads, since the callback function cannot be cleared. For OpenSSL <= 1.0.2 the default implementation will be used: address of errno (Posix) or GetCurrentThreadId (Windows). --- libmariadb/secure/openssl.c | 41 +++++++------------------------------ 1 file changed, 7 insertions(+), 34 deletions(-) diff --git a/libmariadb/secure/openssl.c b/libmariadb/secure/openssl.c index 26113cca4..9196a0cb1 100644 --- a/libmariadb/secure/openssl.c +++ b/libmariadb/secure/openssl.c @@ -142,26 +142,6 @@ static void ma_tls_set_error(MYSQL *mysql) return; } -#ifndef HAVE_OPENSSL_1_1_API -/* - thread safe callbacks for OpenSSL - Crypto call back functions will be - set during ssl_initialization - */ -#if OPENSSL_VERSION_NUMBER < 0x10000000L -static unsigned long my_cb_threadid(void) -{ - /* cast pthread_t to unsigned long */ - return (unsigned long) pthread_self(); -} -#else -static void my_cb_threadid(CRYPTO_THREADID *id) -{ - CRYPTO_THREADID_set_numeric(id, (unsigned long)pthread_self()); -} -#endif -#endif - #ifndef HAVE_OPENSSL_1_1_API static void my_cb_locking(int mode, int n, const char *file __attribute__((unused)), @@ -175,25 +155,18 @@ static void my_cb_locking(int mode, int n, static int ssl_thread_init() { - if (!CRYPTO_THREADID_get_callback() -#ifndef OPENSSL_NO_DEPRECATED - && !CRYPTO_get_id_callback() -#endif - ) + if (LOCK_crypto == NULL) { int i, max= CRYPTO_num_locks(); - if (LOCK_crypto == NULL) - { - if (!(LOCK_crypto= - (pthread_mutex_t *)ma_malloc(sizeof(pthread_mutex_t) * max, MYF(0)))) - return 1; + if (!(LOCK_crypto= + (pthread_mutex_t *)ma_malloc(sizeof(pthread_mutex_t) * max, MYF(0)))) + return 1; + + for (i=0; i < max; i++) + pthread_mutex_init(&LOCK_crypto[i], NULL); - for (i=0; i < max; i++) - pthread_mutex_init(&LOCK_crypto[i], NULL); - } CRYPTO_set_locking_callback(my_cb_locking); - CRYPTO_THREADID_set_callback(my_cb_threadid); } return 0; }