Hello community,
here is the log from the commit of package mariadb-connector-c for
openSUSE:Factory checked in at 2019-09-30 15:51:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mariadb-connector-c (Old)
and /work/SRC/openSUSE:Factory/.mariadb-connector-c.new.2352 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mariadb-connector-c"
Mon Sep 30 15:51:57 2019 rev:20 rq:732948 version:3.1.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/mariadb-connector-c/mariadb-connector-c.changes
2019-08-15 12:25:34.450603590 +0200
+++
/work/SRC/openSUSE:Factory/.mariadb-connector-c.new.2352/mariadb-connector-c.changes
2019-09-30 15:51:58.782401305 +0200
@@ -1,0 +2,9 @@
+Tue Sep 24 10:59:32 UTC 2019 - Kristyna Streitova <[email protected]>
+
+- New upstream version 3.1.4
+ * CONC-431: Use windows crypto libraries on Windows platforms
+ * Included in MariaDB 10.4.8, MariaDB 10.3.18, and MariaDB 10.2.27
+- refresh mariadb-connector-c-2.3.1_unresolved_symbols.patch and
+ private_library.patch
+
+-------------------------------------------------------------------
Old:
----
mariadb-connector-c-3.1.3-src.tar.gz
mariadb-connector-c-3.1.3-src.tar.gz.asc
New:
----
mariadb-connector-c-3.1.4-src.tar.gz
mariadb-connector-c-3.1.4-src.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mariadb-connector-c.spec ++++++
--- /var/tmp/diff_new_pack.wjDuPp/_old 2019-09-30 15:51:59.222400133 +0200
+++ /var/tmp/diff_new_pack.wjDuPp/_new 2019-09-30 15:51:59.226400123 +0200
@@ -25,7 +25,7 @@
%endif
%bcond_with sqlite3
Name: mariadb-connector-c
-Version: 3.1.3
+Version: 3.1.4
Release: 0
Summary: MariaDB connector in C
License: LGPL-2.1-or-later
++++++ mariadb-connector-c-2.3.1_unresolved_symbols.patch ++++++
--- /var/tmp/diff_new_pack.wjDuPp/_old 2019-09-30 15:51:59.258400037 +0200
+++ /var/tmp/diff_new_pack.wjDuPp/_new 2019-09-30 15:51:59.262400027 +0200
@@ -1,8 +1,8 @@
-Index: mariadb-connector-c-3.1.2-src/plugins/auth/CMakeLists.txt
+Index: mariadb-connector-c-3.1.4-src/plugins/auth/CMakeLists.txt
===================================================================
---- mariadb-connector-c-3.1.2-src.orig/plugins/auth/CMakeLists.txt
-+++ mariadb-connector-c-3.1.2-src/plugins/auth/CMakeLists.txt
-@@ -16,7 +16,8 @@ REGISTER_PLUGIN(TARGET dialog
+--- mariadb-connector-c-3.1.4-src.orig/plugins/auth/CMakeLists.txt
++++ mariadb-connector-c-3.1.4-src/plugins/auth/CMakeLists.txt
+@@ -32,7 +32,8 @@ REGISTER_PLUGIN(TARGET dialog
CONFIGURATIONS DYNAMIC STATIC OFF
DEFAULT DYNAMIC
SOURCES ${CC_SOURCE_DIR}/plugins/auth/dialog.c
@@ -10,5 +10,5 @@
+ ${CC_SOURCE_DIR}/libmariadb/get_password.c
+ LIBRARIES dl)
- #ED25519 client authentication plugin
- SET(REF10_DIR ${CC_SOURCE_DIR}/plugins/auth/ref10)
+
+ # Crypto plugins
++++++ mariadb-connector-c-3.1.3-src.tar.gz ->
mariadb-connector-c-3.1.4-src.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mariadb-connector-c-3.1.3-src/CMakeLists.txt
new/mariadb-connector-c-3.1.4-src/CMakeLists.txt
--- old/mariadb-connector-c-3.1.3-src/CMakeLists.txt 2019-07-25
16:03:48.000000000 +0200
+++ new/mariadb-connector-c-3.1.4-src/CMakeLists.txt 2019-09-03
14:48:10.000000000 +0200
@@ -36,7 +36,7 @@
SET(CPACK_PACKAGE_VERSION_MAJOR 3)
SET(CPACK_PACKAGE_VERSION_MINOR 1)
-SET(CPACK_PACKAGE_VERSION_PATCH 3)
+SET(CPACK_PACKAGE_VERSION_PATCH 4)
SET(CPACK_PACKAGE_VERSION
"${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
MATH(EXPR MARIADB_PACKAGE_VERSION_ID "${CPACK_PACKAGE_VERSION_MAJOR} * 10000 +
${CPACK_PACKAGE_VERSION_MINOR} * 100 +
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mariadb-connector-c-3.1.3-src/cmake/install.cmake
new/mariadb-connector-c-3.1.4-src/cmake/install.cmake
--- old/mariadb-connector-c-3.1.3-src/cmake/install.cmake 2019-07-25
16:03:48.000000000 +0200
+++ new/mariadb-connector-c-3.1.4-src/cmake/install.cmake 2019-09-03
14:48:10.000000000 +0200
@@ -65,7 +65,10 @@
SET(INSTALL_PCDIR_DEFAULT "lib/pkgconfig")
SET(INSTALL_INCLUDEDIR_DEFAULT "include/mariadb")
SET(INSTALL_DOCDIR_DEFAULT "docs")
-SET(INSTALL_PLUGINDIR_DEFAULT "lib/mariadb/plugin")
+IF(NOT IS_SUBPROJECT)
+ SET(INSTALL_PLUGINDIR_DEFAULT "lib/mariadb/plugin")
+ELSE()
+ENDIF()
SET(LIBMARIADB_STATIC_DEFAULT "mariadbclient")
#
# RPM layout
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mariadb-connector-c-3.1.3-src/include/ma_crypt.h
new/mariadb-connector-c-3.1.4-src/include/ma_crypt.h
--- old/mariadb-connector-c-3.1.3-src/include/ma_crypt.h 2019-07-25
16:03:48.000000000 +0200
+++ new/mariadb-connector-c-3.1.4-src/include/ma_crypt.h 2019-09-03
14:48:10.000000000 +0200
@@ -44,14 +44,7 @@
#define MA_MAX_HASH_SIZE 64
/** \typedef MRL hash context */
-#if defined(HAVE_OPENSSL)
-typedef void MA_HASH_CTX;
-#elif defined(HAVE_GNUTLS)
-typedef struct {
- void *ctx;
- const struct nettle_hash *hash;
-} MA_HASH_CTX;
-#elif defined(HAVE_SCHANNEL)
+#if defined(WIN32)
#include <windows.h>
#include <bcrypt.h>
typedef struct {
@@ -61,6 +54,13 @@
PBYTE hashObject;
DWORD digest_len;
} MA_HASH_CTX;
+#elif defined(HAVE_OPENSSL)
+typedef void MA_HASH_CTX;
+#elif defined(HAVE_GNUTLS)
+typedef struct {
+ void *ctx;
+ const struct nettle_hash *hash;
+} MA_HASH_CTX;
#endif
/**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mariadb-connector-c-3.1.3-src/include/mariadb_version.h.in
new/mariadb-connector-c-3.1.4-src/include/mariadb_version.h.in
--- old/mariadb-connector-c-3.1.3-src/include/mariadb_version.h.in
2019-07-25 16:03:48.000000000 +0200
+++ new/mariadb-connector-c-3.1.4-src/include/mariadb_version.h.in
2019-09-03 14:48:10.000000000 +0200
@@ -24,7 +24,7 @@
#define MARIADB_PACKAGE_VERSION_ID @MARIADB_PACKAGE_VERSION_ID@
#define MARIADB_SYSTEM_TYPE "@CMAKE_SYSTEM_NAME@"
#define MARIADB_MACHINE_TYPE "@CMAKE_SYSTEM_PROCESSOR@"
-#define MARIADB_PLUGINDIR "@PLUGINDIR@"
+#define MARIADB_PLUGINDIR "@CMAKE_INSTALL_PREFIX@/@PLUGINDIR@"
/* mysqld compile time options */
#ifndef MYSQL_CHARSET
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mariadb-connector-c-3.1.3-src/libmariadb/CMakeLists.txt
new/mariadb-connector-c-3.1.4-src/libmariadb/CMakeLists.txt
--- old/mariadb-connector-c-3.1.3-src/libmariadb/CMakeLists.txt 2019-07-25
16:03:48.000000000 +0200
+++ new/mariadb-connector-c-3.1.4-src/libmariadb/CMakeLists.txt 2019-09-03
14:48:10.000000000 +0200
@@ -412,7 +412,7 @@
IF(CMAKE_SYSTEM_NAME MATCHES "Linux" OR
CMAKE_SYSTEM_NAME MATCHES "GNU")
- IF (NOT WITH_ASAN AND NOT WITH_TSAN)
+ IF (NOT WITH_ASAN AND NOT WITH_TSAN AND NOT WITH_UBSAN AND NOT WITH_MSAN)
TARGET_LINK_LIBRARIES (libmariadb "-Wl,--no-undefined")
ENDIF()
SET_TARGET_PROPERTIES(libmariadb PROPERTIES LINK_FLAGS
"${CC_BINARY_DIR}/libmariadb/mariadbclient.def")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mariadb-connector-c-3.1.3-src/libmariadb/secure/gnutls.c
new/mariadb-connector-c-3.1.4-src/libmariadb/secure/gnutls.c
--- old/mariadb-connector-c-3.1.3-src/libmariadb/secure/gnutls.c
2019-07-25 16:03:48.000000000 +0200
+++ new/mariadb-connector-c-3.1.4-src/libmariadb/secure/gnutls.c
2019-09-03 14:48:10.000000000 +0200
@@ -19,10 +19,10 @@
*************************************************************************************/
#ifdef HAVE_GNUTLS
+#include <ma_global.h>
#include <gnutls/gnutls.h>
#include <gnutls/x509.h>
#include <gnutls/abstract.h>
-#include <ma_global.h>
#include <ma_sys.h>
#include <ma_common.h>
#include <ma_pvio.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mariadb-connector-c-3.1.3-src/plugins/auth/CMakeLists.txt
new/mariadb-connector-c-3.1.4-src/plugins/auth/CMakeLists.txt
--- old/mariadb-connector-c-3.1.3-src/plugins/auth/CMakeLists.txt
2019-07-25 16:03:48.000000000 +0200
+++ new/mariadb-connector-c-3.1.4-src/plugins/auth/CMakeLists.txt
2019-09-03 14:48:10.000000000 +0200
@@ -3,6 +3,22 @@
INCLUDE_DIRECTORIES(${AUTH_DIR})
INCLUDE_DIRECTORIES(${CC_SOURCE_DIR}/include)
+SET(CRYPTO_PLUGIN 1)
+IF(WIN32)
+ SET(CRYPT_SOURCE ${CC_SOURCE_DIR}/libmariadb/secure/win_crypt.c)
+ SET(CRYPT_LIBS crypt32)
+ELSEIF(WITH_SSL STREQUAL "OPENSSL")
+ SET(CRYPT_SOURCE ${CC_SOURCE_DIR}/libmariadb/secure/openssl_crypt.c)
+ SET(CRYPT_LIBS ${SSL_LIBRARIES})
+ELSEIF(WITH_SSL STREQUAL "GNUTLS")
+ SET(CRYPT_SOURCE ${CC_SOURCE_DIR}/libmariadb/secure/gnutls_crypt.c)
+ IF (NOT SSL_LIBRARIES MATCHES "^.*\\.a$")
+ SET(CRYPT_LIBS ${SSL_LIBRARIES})
+ ENDIF()
+ELSE()
+ UNSET(CRYPTO_PLUGIN)
+ENDIF()
+
#native password
REGISTER_PLUGIN(TARGET mysql_native_password
TYPE MARIADB_CLIENT_PLUGIN_AUTH
@@ -18,30 +34,23 @@
SOURCES ${CC_SOURCE_DIR}/plugins/auth/dialog.c
${CC_SOURCE_DIR}/libmariadb/get_password.c)
-#ED25519 client authentication plugin
-SET(REF10_DIR ${CC_SOURCE_DIR}/plugins/auth/ref10)
-SET(REF10_SOURCES ${REF10_DIR}/fe_0.c ${REF10_DIR}/fe_isnegative.c
${REF10_DIR}/fe_sub.c ${REF10_DIR}/ge_p1p1_to_p2.c
- ${REF10_DIR}/ge_p3_to_cached.c ${REF10_DIR}/open.c
${REF10_DIR}/fe_1.c ${REF10_DIR}/fe_isnonzero.c
- ${REF10_DIR}/fe_tobytes.c ${REF10_DIR}/ge_p1p1_to_p3.c
${REF10_DIR}/ge_p3_to_p2.c ${REF10_DIR}/sc_muladd.c
- ${REF10_DIR}/fe_add.c ${REF10_DIR}/fe_mul.c
${REF10_DIR}/ge_add.c ${REF10_DIR}/ge_p2_0.c ${REF10_DIR}/ge_precomp_0.c
- ${REF10_DIR}/sc_reduce.c ${REF10_DIR}/fe_cmov.c
${REF10_DIR}/fe_neg.c ${REF10_DIR}/ge_double_scalarmult.c
- ${REF10_DIR}/ge_p2_dbl.c ${REF10_DIR}/ge_scalarmult_base.c
${REF10_DIR}/sign.c ${REF10_DIR}/fe_copy.c
- ${REF10_DIR}/fe_pow22523.c ${REF10_DIR}/ge_frombytes.c
${REF10_DIR}/ge_p3_0.c ${REF10_DIR}/ge_sub.c
- ${REF10_DIR}/verify.c ${REF10_DIR}/fe_frombytes.c
${REF10_DIR}/fe_sq2.c ${REF10_DIR}/ge_madd.c
- ${REF10_DIR}/ge_p3_dbl.c ${REF10_DIR}/ge_tobytes.c
${REF10_DIR}/fe_invert.c ${REF10_DIR}/fe_sq.c
- ${REF10_DIR}/ge_msub.c ${REF10_DIR}/ge_p3_tobytes.c
${REF10_DIR}/keypair.c)
-
-IF(WITH_SSL)
- IF(${WITH_SSL} STREQUAL "OPENSSL")
- SET(CRYPT_SOURCE ${CC_SOURCE_DIR}/libmariadb/secure/openssl_crypt.c)
- SET(ED25519_LIBS ${SSL_LIBRARIES})
- ELSEIF(${WITH_SSL} STREQUAL "SCHANNEL")
- SET(CRYPT_SOURCE ${CC_SOURCE_DIR}/libmariadb/secure/win_crypt.c)
- SET(ED_25519_LIBS crypt32)
- ELSE()
- SET(CRYPT_SOURCE ${CC_SOURCE_DIR}/libmariadb/secure/gnutls_crypt.c)
- SET(ED25519_LIBS ${SSL_LIBRARIES})
- ENDIF()
+
+# Crypto plugins
+IF(CRYPTO_PLUGIN)
+
+ #ED25519 client authentication plugin
+ SET(REF10_DIR ${CC_SOURCE_DIR}/plugins/auth/ref10)
+ SET(REF10_SOURCES ${REF10_DIR}/fe_0.c ${REF10_DIR}/fe_isnegative.c
${REF10_DIR}/fe_sub.c ${REF10_DIR}/ge_p1p1_to_p2.c
+ ${REF10_DIR}/ge_p3_to_cached.c ${REF10_DIR}/open.c
${REF10_DIR}/fe_1.c ${REF10_DIR}/fe_isnonzero.c
+ ${REF10_DIR}/fe_tobytes.c ${REF10_DIR}/ge_p1p1_to_p3.c
${REF10_DIR}/ge_p3_to_p2.c ${REF10_DIR}/sc_muladd.c
+ ${REF10_DIR}/fe_add.c ${REF10_DIR}/fe_mul.c
${REF10_DIR}/ge_add.c ${REF10_DIR}/ge_p2_0.c ${REF10_DIR}/ge_precomp_0.c
+ ${REF10_DIR}/sc_reduce.c ${REF10_DIR}/fe_cmov.c
${REF10_DIR}/fe_neg.c ${REF10_DIR}/ge_double_scalarmult.c
+ ${REF10_DIR}/ge_p2_dbl.c ${REF10_DIR}/ge_scalarmult_base.c
${REF10_DIR}/sign.c ${REF10_DIR}/fe_copy.c
+ ${REF10_DIR}/fe_pow22523.c ${REF10_DIR}/ge_frombytes.c
${REF10_DIR}/ge_p3_0.c ${REF10_DIR}/ge_sub.c
+ ${REF10_DIR}/verify.c ${REF10_DIR}/fe_frombytes.c
${REF10_DIR}/fe_sq2.c ${REF10_DIR}/ge_madd.c
+ ${REF10_DIR}/ge_p3_dbl.c ${REF10_DIR}/ge_tobytes.c
${REF10_DIR}/fe_invert.c ${REF10_DIR}/fe_sq.c
+ ${REF10_DIR}/ge_msub.c ${REF10_DIR}/ge_p3_tobytes.c
${REF10_DIR}/keypair.c)
+
REGISTER_PLUGIN(TARGET client_ed25519
TYPE MARIADB_CLIENT_PLUGIN_AUTH
CONFIGURATIONS DYNAMIC STATIC OFF
@@ -50,36 +59,37 @@
${REF10_SOURCES}
${CRYPT_SOURCE}
INCLUDES ${REF10_DIR}
+ LIBRARIES ${CRYPT_LIBS}
COMPILE_OPTIONS -DMYSQL_CLIENT=1)
IF(MSVC)
# Silence conversion (integer truncantion) warnings from reference code
SET_SOURCE_FILES_PROPERTIES(${REF10_SOURCES} PROPERTY COMPILE_FLAGS
"-DMYSQL_CLIENT=1 /wd4244 /wd4146")
ENDIF()
-ENDIF()
-#GSSAPI client authentication plugin
-IF(NOT WIN32)
- INCLUDE(${CC_SOURCE_DIR}/cmake/FindGSSAPI.cmake)
-ENDIF()
-# SHA256 caching plugin for MySQL 8.0 connection
-IF(WITH_SSL)
- IF(${WITH_SSL} STREQUAL "OPENSSL")
- SET(CRYPT_SOURCE ${CC_SOURCE_DIR}/libmariadb/secure/openssl_crypt.c)
- SET(CACHING_SHA2_LIBS ${SSL_LIBRARIES})
- ELSEIF(${WITH_SSL} STREQUAL "SCHANNEL")
- SET(CRYPT_SOURCE ${CC_SOURCE_DIR}/libmariadb/secure/win_crypt.c)
- SET(CACHING_SHA2_LIBS crypt32 bcrypt)
- ELSEIF(${WITH_SSL} STREQUAL "GNUTLS")
- SET(CRYPT_SOURCE ${CC_SOURCE_DIR}/libmariadb/secure/gnutls_crypt.c)
- SET(CACHING_SHA2_LIBS ${SSL_LIBRARIES} ${LIBZ})
- ENDIF()
+ # SHA256 caching plugin for MySQL 8.0 connection
REGISTER_PLUGIN(TARGET caching_sha2_password
TYPE MARIADB_CLIENT_PLUGIN_AUTH
CONFIGURATIONS DYNAMIC STATIC OFF
DEFAULT DYNAMIC
SOURCES ${CC_SOURCE_DIR}/plugins/auth/caching_sha2_pw.c
${CRYPT_SOURCE}
- LIBRARIES ${CACHING_SHA2_LIBS})
+ LIBRARIES ${CRYPT_LIBS})
+
+ IF(WITH_SSL STREQUAL "GNUTLS" AND NOT WIN32)
+ MESSAGE1(STATUS "sha256_password not supported by GnuTLS due to missing
OAEP padding")
+ ELSE()
+ REGISTER_PLUGIN(TARGET sha256_password
+ TYPE MARIADB_CLIENT_PLUGIN_AUTH
+ CONFIGURATIONS DYNAMIC STATIC OFF
+ DEFAULT DYNAMIC
+ SOURCES ${AUTH_DIR}/sha256_pw.c
+ LIBRARIES ${CRYT_LIBS})
+ ENDIF()
+ENDIF()
+
+#GSSAPI client authentication plugin
+IF(NOT WIN32)
+ INCLUDE(${CC_SOURCE_DIR}/cmake/FindGSSAPI.cmake)
ENDIF()
#GSSAPI client authentication plugin
@@ -102,20 +112,6 @@
LIBRARIES ${GSSAPI_LIBS})
ENDIF()
-IF(${WITH_SSL} STREQUAL "OPENSSL" OR ${WITH_SSL} STREQUAL "SCHANNEL")
- IF(WITH_SSL STREQUAL "SCHANNEL")
- SET(SHA256_LIBS crypt32)
- ELSE()
- SET(SHA256_LIBS ${SSL_LIBRARIES})
- ENDIF()
- REGISTER_PLUGIN(TARGET sha256_password
- TYPE MARIADB_CLIENT_PLUGIN_AUTH
- CONFIGURATIONS DYNAMIC STATIC OFF
- DEFAULT DYNAMIC
- SOURCES ${AUTH_DIR}/sha256_pw.c
- LIBRARIES ${SHA256_LIBS})
-ENDIF()
-
# old_password plugin
REGISTER_PLUGIN(TARGET mysql_old_password
TYPE MARIADB_CLIENT_PLUGIN_AUTH
@@ -123,7 +119,6 @@
DEFAULT STATIC
SOURCES ${AUTH_DIR}/old_password.c)
-
# Cleartext
REGISTER_PLUGIN(TARGET mysql_clear_password
TYPE MARIADB_CLIENT_PLUGIN_AUTH
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mariadb-connector-c-3.1.3-src/plugins/auth/caching_sha2_pw.c
new/mariadb-connector-c-3.1.4-src/plugins/auth/caching_sha2_pw.c
--- old/mariadb-connector-c-3.1.3-src/plugins/auth/caching_sha2_pw.c
2019-07-25 16:03:48.000000000 +0200
+++ new/mariadb-connector-c-3.1.4-src/plugins/auth/caching_sha2_pw.c
2019-09-03 14:48:10.000000000 +0200
@@ -21,15 +21,14 @@
#endif
#ifdef _WIN32
-#if !defined(HAVE_OPENSSL)
#define HAVE_WINCRYPT
-#else
+#undef HAVE_OPENSSL
+#undef HAVE_GNUTLS
#pragma comment(lib, "crypt32.lib")
#pragma comment(lib, "ws2_32.lib")
#endif
-#endif
-#if defined(HAVE_OPENSSL) || defined(HAVE_SCHANNEL) || defined(HAVE_GNUTLS)
+#if defined(HAVE_OPENSSL) || defined(HAVE_WINCRYPT) || defined(HAVE_GNUTLS)
#include <ma_global.h>
#include <mysql.h>
@@ -51,7 +50,7 @@
#include <openssl/err.h>
#elif defined(HAVE_GNUTLS)
#include <gnutls/gnutls.h>
-#elif defined(HAVE_SCHANNEL)
+#elif defined(HAVE_WINCRYPT)
#include <windows.h>
#include <wincrypt.h>
#include <bcrypt.h>
@@ -89,7 +88,7 @@
unsigned char digest1[MA_SHA256_HASH_SIZE],
digest2[MA_SHA256_HASH_SIZE],
new_scramble[MA_SHA256_HASH_SIZE];
-#ifdef HAVE_SCHANNEL
+#ifdef HAVE_WINCRYPT
MA_HASH_CTX myctx;
MA_HASH_CTX *ctx= &myctx;
#else
@@ -108,7 +107,7 @@
ma_hash_input(ctx, source, source_len);
ma_hash_result(ctx, digest1);
ma_hash_free(ctx);
-#ifndef HAVE_SCHANNEL
+#ifndef HAVE_WINCRYPT
ctx = NULL;
#endif
@@ -118,7 +117,7 @@
ma_hash_input(ctx, digest1, MA_SHA256_HASH_SIZE);
ma_hash_result(ctx, digest2);
ma_hash_free(ctx);
-#ifndef HAVE_SCHANNEL
+#ifndef HAVE_WINCRYPT
ctx = NULL;
#endif
@@ -165,11 +164,11 @@
auth_caching_sha2_client
};
-#ifdef HAVE_SCHANNEL
+#ifdef HAVE_WINCRYPT
static LPBYTE ma_load_pem(const char *buffer, DWORD *buffer_len)
{
LPBYTE der_buffer= NULL;
- DWORD der_buffer_length;
+ DWORD der_buffer_length= 0;
if (buffer_len == NULL || *buffer_len == 0)
return NULL;
@@ -257,7 +256,7 @@
#if defined(HAVE_OPENSSL)
RSA *pubkey= NULL;
BIO *bio;
-#elif defined(HAVE_SCHANNEL)
+#elif defined(HAVE_WINCRYPT)
BCRYPT_KEY_HANDLE pubkey= 0;
BCRYPT_OAEP_PADDING_INFO paddingInfo;
LPBYTE der_buffer= NULL;
@@ -351,7 +350,7 @@
rsa_size= RSA_size(pubkey);
BIO_free(bio);
ERR_clear_error();
-#elif defined(HAVE_SCHANNEL)
+#elif defined(HAVE_WINCRYPT)
der_buffer_len= packet_length;
/* Load pem and convert it to binary object. New length will be returned
in der_buffer_len */
@@ -389,7 +388,7 @@
#if defined(HAVE_OPENSSL)
if (RSA_public_encrypt(pwlen, (unsigned char *)passwd, rsa_enc_pw, pubkey,
RSA_PKCS1_OAEP_PADDING) < 0)
goto error;
-#elif defined(HAVE_SCHANNEL)
+#elif defined(HAVE_WINCRYPT)
ZeroMemory(&paddingInfo, sizeof(paddingInfo));
paddingInfo.pszAlgId = BCRYPT_SHA1_ALGORITHM;
if ((rc= BCryptEncrypt(pubkey, (PUCHAR)passwd, pwlen, &paddingInfo, NULL,
0, rsa_enc_pw,
@@ -414,7 +413,7 @@
#if defined(HAVE_OPENSSL)
if (pubkey)
RSA_free(pubkey);
-#elif defined(HAVE_SCHANNEL)
+#elif defined(HAVE_WINCRYPT)
if (pubkey)
BCryptDestroyKey(pubkey);
if (publicKeyInfo)
@@ -451,7 +450,7 @@
int unused3 __attribute__((unused)),
va_list unused4 __attribute__((unused)))
{
-#if defined(HAVE_SCHANNEL)
+#if defined(HAVE_WINCRYPT)
BCryptOpenAlgorithmProvider(&Sha256Prov, BCRYPT_SHA256_ALGORITHM, NULL, 0);
BCryptOpenAlgorithmProvider(&RsaProv, BCRYPT_RSA_ALGORITHM, NULL, 0);
#endif
@@ -462,7 +461,7 @@
/* {{{ auth_caching_sha2_deinit */
static int auth_caching_sha2_deinit()
{
-#if defined(HAVE_SCHANNEL)
+#if defined(HAVE_WINCRYPT)
BCryptCloseAlgorithmProvider(Sha256Prov, 0);
BCryptCloseAlgorithmProvider(RsaProv, 0);
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mariadb-connector-c-3.1.3-src/plugins/auth/ed25519.c
new/mariadb-connector-c-3.1.4-src/plugins/auth/ed25519.c
--- old/mariadb-connector-c-3.1.3-src/plugins/auth/ed25519.c 2019-07-25
16:03:48.000000000 +0200
+++ new/mariadb-connector-c-3.1.4-src/plugins/auth/ed25519.c 2019-09-03
14:48:10.000000000 +0200
@@ -1,5 +1,5 @@
/************************************************************************************
- Copyright (C) 2017 MariaDB Corporation AB
+ Copyright (C) 2017-2019 MariaDB Corporation AB
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
@@ -21,12 +21,12 @@
#endif
#ifdef _WIN32
-#if !defined(HAVE_OPENSSL)
#define HAVE_WINCRYPT
-#endif
+#undef HAVE_OPENSSL
+#undef HAVE_GNUTLS
#endif
-#if defined(HAVE_OPENSSL) || defined(HAVE_SCHANNEL) || defined(HAVE_GNUTLS)
+#if defined(HAVE_OPENSSL) || defined(HAVE_WINCRYPT) || defined(HAVE_GNUTLS)
#include <ma_global.h>
#include <mysql.h>
@@ -42,19 +42,19 @@
#include <dlfcn.h>
#endif
-#if defined(HAVE_OPENSSL)
-#include <openssl/rsa.h>
-#include <openssl/pem.h>
-#include <openssl/err.h>
-#elif defined(HAVE_GNUTLS)
-#include <gnutls/gnutls.h>
-#elif defined(HAVE_SCHANNEL)
+#if defined(HAVE_WINCRYPT)
#include <windows.h>
#include <wincrypt.h>
#include <bcrypt.h>
#pragma comment(lib, "bcrypt.lib")
#pragma comment(lib, "crypt32.lib")
extern BCRYPT_ALG_HANDLE Sha512Prov;
+#elif defined(HAVE_OPENSSL)
+#include <openssl/rsa.h>
+#include <openssl/pem.h>
+#include <openssl/err.h>
+#elif defined(HAVE_GNUTLS)
+#include <gnutls/gnutls.h>
#endif
#include <ref10/api.h>
@@ -71,7 +71,7 @@
#ifndef PLUGIN_DYNAMIC
-struct st_mysql_client_plugin_AUTHENTICATION
caching_sha2_password_client_plugin=
+struct st_mysql_client_plugin_AUTHENTICATION client_ed25519_client_plugin=
#else
struct st_mysql_client_plugin_AUTHENTICATION _mysql_client_plugin_declaration_
=
#endif
@@ -126,7 +126,7 @@
int unused3 __attribute__((unused)),
va_list unused4 __attribute__((unused)))
{
-#if defined(HAVE_SCHANNEL)
+#if defined(HAVE_WINCRYPT)
BCryptOpenAlgorithmProvider(&Sha512Prov, BCRYPT_SHA512_ALGORITHM, NULL, 0);
#endif
return 0;
@@ -136,7 +136,7 @@
/* {{{ auth_ed25519_deinit */
static int auth_ed25519_deinit()
{
-#if defined(HAVE_SCHANNEL)
+#if defined(HAVE_WINCRYPT)
BCryptCloseAlgorithmProvider(Sha512Prov, 0);
#endif
return 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mariadb-connector-c-3.1.3-src/plugins/auth/sha256_pw.c
new/mariadb-connector-c-3.1.4-src/plugins/auth/sha256_pw.c
--- old/mariadb-connector-c-3.1.3-src/plugins/auth/sha256_pw.c 2019-07-25
16:03:48.000000000 +0200
+++ new/mariadb-connector-c-3.1.4-src/plugins/auth/sha256_pw.c 2019-09-03
14:48:10.000000000 +0200
@@ -21,13 +21,12 @@
#endif
#ifdef _WIN32
-#if !defined(HAVE_OPENSSL)
+#undef HAVE_GNUTLS
+#undef HAVE_OPENSSL
#define HAVE_WINCRYPT
-#else
#pragma comment(lib, "crypt32.lib")
#pragma comment(lib, "ws2_32.lib")
#endif
-#endif
#if defined(HAVE_OPENSSL) || defined(HAVE_WINCRYPT)
@@ -45,12 +44,12 @@
#include <dlfcn.h>
#endif
-#if defined(HAVE_OPENSSL)
+#if defined(WIN32)
+#include <wincrypt.h>
+#elif defined(HAVE_OPENSSL)
#include <openssl/rsa.h>
#include <openssl/pem.h>
#include <openssl/err.h>
-#elif defined(HAVE_WINCRYPT)
-#include <wincrypt.h>
#endif
#define MAX_PW_LEN 1024
@@ -87,7 +86,7 @@
static LPBYTE ma_load_pem(const char *buffer, DWORD *buffer_len)
{
LPBYTE der_buffer= NULL;
- DWORD der_buffer_length;
+ DWORD der_buffer_length= 0;
if (buffer_len == NULL || *buffer_len == 0)
return NULL;
@@ -181,7 +180,7 @@
DWORD der_buffer_len= 0;
CERT_PUBLIC_KEY_INFO *publicKeyInfo= NULL;
DWORD ParamSize= sizeof(DWORD);
- int publicKeyInfoLen;
+ int publicKeyInfoLen= 0;
#endif
char *filebuffer= NULL;
++++++ private_library.patch ++++++
--- /var/tmp/diff_new_pack.wjDuPp/_old 2019-09-30 15:51:59.414399623 +0200
+++ /var/tmp/diff_new_pack.wjDuPp/_new 2019-09-30 15:51:59.414399623 +0200
@@ -8,10 +8,10 @@
exports all symbols. With the exception of exported symbols, it is
identical to the regular library.
-Index: mariadb-connector-c-3.1.3-src/libmariadb/CMakeLists.txt
+Index: mariadb-connector-c-3.1.4-src/libmariadb/CMakeLists.txt
===================================================================
---- mariadb-connector-c-3.1.3-src.orig/libmariadb/CMakeLists.txt
-+++ mariadb-connector-c-3.1.3-src/libmariadb/CMakeLists.txt
+--- mariadb-connector-c-3.1.4-src.orig/libmariadb/CMakeLists.txt
++++ mariadb-connector-c-3.1.4-src/libmariadb/CMakeLists.txt
@@ -410,17 +410,25 @@ IF(CMAKE_SIZEOF_VOID_P EQUAL 8 AND MSVC)
SET_TARGET_PROPERTIES(mariadbclient PROPERTIES STATIC_LIBRARY_FLAGS
"/machine:x64")
ENDIF()
@@ -24,7 +24,7 @@
+
IF(CMAKE_SYSTEM_NAME MATCHES "Linux" OR
CMAKE_SYSTEM_NAME MATCHES "GNU")
- IF (NOT WITH_ASAN AND NOT WITH_TSAN)
+ IF (NOT WITH_ASAN AND NOT WITH_TSAN AND NOT WITH_UBSAN AND NOT WITH_MSAN)
TARGET_LINK_LIBRARIES (libmariadb "-Wl,--no-undefined")
ENDIF()
SET_TARGET_PROPERTIES(libmariadb PROPERTIES LINK_FLAGS
"${CC_BINARY_DIR}/libmariadb/mariadbclient.def")
@@ -49,10 +49,10 @@
IF(WIN32)
# On Windows, install PDB
-Index: mariadb-connector-c-3.1.3-src/mariadb_config/mariadb_config.c.in
+Index: mariadb-connector-c-3.1.4-src/mariadb_config/mariadb_config.c.in
===================================================================
---- mariadb-connector-c-3.1.3-src.orig/mariadb_config/mariadb_config.c.in
-+++ mariadb-connector-c-3.1.3-src/mariadb_config/mariadb_config.c.in
+--- mariadb-connector-c-3.1.4-src.orig/mariadb_config/mariadb_config.c.in
++++ mariadb-connector-c-3.1.4-src/mariadb_config/mariadb_config.c.in
@@ -7,6 +7,8 @@ static char *mariadb_progname;
#define INCLUDE "-I@INSTALL_INCLUDEDIR@ -I@INSTALL_INCLUDEDIR@/mariadb"