aboutsummaryrefslogtreecommitdiff
path: root/databases/mysql56-server/files
diff options
context:
space:
mode:
authorJochen Neumeister <joneum@FreeBSD.org>2020-01-02 20:00:50 +0000
committerJochen Neumeister <joneum@FreeBSD.org>2020-01-02 20:00:50 +0000
commitf5b4bd13a6e022609d14d1622182dade4df0ade9 (patch)
treeca98a5a59268c11be647eed8006d5bced706746a /databases/mysql56-server/files
parentec503022ac8160004aef9364600f4b450772cf75 (diff)
downloadports-f5b4bd13a6e022609d14d1622182dade4df0ade9.tar.gz
ports-f5b4bd13a6e022609d14d1622182dade4df0ade9.zip
databases/mysql56-{client, server}: Update to latest release 5.6.46
Bugfix: - Improper locking during storage engine initialization could cause a server exit. - A query with a WHERE clause whose predicate contained a numeric value in scientific notation was not handled correctly. - VS2019 produced compilation errors with debug compilation selected due to use of the /ZI flag. Now /Z7 is used instead. - For MySQL Community Edition, the cipher order specified by the client was used in preference to the order on the server side, unless the server was confi - Password masking was incomplete for SHOW PROCESSLIST and some INFORMATION_SCHEMA and Performance Schema tables. - The -DWITH_EXAMPLE_STORAGE_ENGINE=1 CMake option was ignored but should not have been. If -DWITH_EXAMPLE_STORAGE_ENGINE=0 is given, the EXAMPLE storage e More Info: https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-46.html Approved by: mmokhi (maintainer, implicit) MFH: 2020Q1 Security: fc91f2ef-fd7b-11e9-a1c7-b499baebfeaf Sponsored by: Netzkommune GmbH
Notes
Notes: svn path=/head/; revision=521874
Diffstat (limited to 'databases/mysql56-server/files')
-rw-r--r--databases/mysql56-server/files/patch-CMakeLists.txt19
-rw-r--r--databases/mysql56-server/files/patch-PR225888.diff302
-rw-r--r--databases/mysql56-server/files/patch-libmysql_CMakeLists.txt23
3 files changed, 22 insertions, 322 deletions
diff --git a/databases/mysql56-server/files/patch-CMakeLists.txt b/databases/mysql56-server/files/patch-CMakeLists.txt
index 6fcde7d4b214..23cca022fbb1 100644
--- a/databases/mysql56-server/files/patch-CMakeLists.txt
+++ b/databases/mysql56-server/files/patch-CMakeLists.txt
@@ -1,6 +1,6 @@
---- CMakeLists.txt.orig 2014-07-18 15:48:39.000000000 +0000
-+++ CMakeLists.txt 2014-08-04 14:18:38.795491147 +0000
-@@ -500,12 +500,10 @@
+--- CMakeLists.txt.orig 2020-01-01 20:46:13.771078000 +0100
++++ CMakeLists.txt 2020-01-01 20:49:28.631677000 +0100
+@@ -558,12 +558,10 @@ IF(UNIX)
ENDIF()
IF(NOT WITHOUT_SERVER)
@@ -13,7 +13,7 @@
ENDIF(WITH_EMBEDDED_SERVER)
ENDIF()
-@@ -514,10 +512,7 @@
+@@ -572,10 +570,7 @@ ENDIF()
ADD_SUBDIRECTORY(scripts)
IF(NOT WITHOUT_SERVER)
@@ -24,18 +24,19 @@
IF(EXISTS ${CMAKE_SOURCE_DIR}/internal/CMakeLists.txt)
ADD_SUBDIRECTORY(internal)
ENDIF()
-@@ -572,6 +567,7 @@
+@@ -634,6 +629,7 @@ ENDIF()
#
# RPM installs documentation directly from the source tree
#
+IF(FALSE)
IF(NOT INSTALL_LAYOUT MATCHES "RPM")
- INSTALL(FILES COPYING LICENSE.mysql
- DESTINATION ${INSTALL_DOCREADMEDIR}
-@@ -597,5 +593,6 @@
+ INSTALL(FILES
+ README
+@@ -652,6 +648,7 @@ IF(NOT INSTALL_LAYOUT MATCHES "RPM")
+ PATTERN "mysql.info" EXCLUDE
PATTERN "sp-imp-spec.txt" EXCLUDE
)
- ENDIF()
+ENDIF()
+ ENDIF()
INCLUDE(CPack)
diff --git a/databases/mysql56-server/files/patch-PR225888.diff b/databases/mysql56-server/files/patch-PR225888.diff
deleted file mode 100644
index 0a5670c1ff10..000000000000
--- a/databases/mysql56-server/files/patch-PR225888.diff
+++ /dev/null
@@ -1,302 +0,0 @@
-diff --git extra/yassl/include/openssl/ssl.h extra/yassl/include/openssl/ssl.h
-index 10fa4913b7e..ff6cb696661 100644
---- extra/yassl/include/openssl/ssl.h.orig
-+++ extra/yassl/include/openssl/ssl.h
-@@ -1,5 +1,5 @@
- /*
-- Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
-+ Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
-@@ -179,7 +179,7 @@ enum { /* X509 Constants */
- unsigned long ERR_get_error_line_data(const char**, int*, const char**, int *);
- void ERR_print_errors_fp(FILE*);
- char* ERR_error_string(unsigned long,char*);
--void ERR_remove_state(unsigned long);
-+void ERR_remove_thread_state(const void *);
- unsigned long ERR_get_error(void);
- unsigned long ERR_peek_error(void);
- int ERR_GET_REASON(int);
-diff --git extra/yassl/src/ssl.cpp extra/yassl/src/ssl.cpp
-index 39244a01b92..c992d446487 100644
---- extra/yassl/src/ssl.cpp.orig
-+++ extra/yassl/src/ssl.cpp
-@@ -1,5 +1,5 @@
- /*
-- Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved.
-+ Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
-@@ -1615,7 +1615,7 @@ int SSLeay_add_ssl_algorithms() // compatibility only
- }
-
-
--void ERR_remove_state(unsigned long)
-+void ERR_remove_thread_state(const void *)
- {
- GetErrors().Remove();
- }
-diff --git mysys_ssl/my_aes_openssl.cc mysys_ssl/my_aes_openssl.cc
-index 261ba8ab732..a0f8c147c7a 100644
---- mysys_ssl/my_aes_openssl.cc.orig
-+++ mysys_ssl/my_aes_openssl.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2015, 2014 Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
-@@ -122,33 +122,46 @@ int my_aes_encrypt(const unsigned char *source, uint32 source_length,
- const unsigned char *key, uint32 key_length,
- enum my_aes_opmode mode, const unsigned char *iv)
- {
-- EVP_CIPHER_CTX ctx;
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+ EVP_CIPHER_CTX stack_ctx;
-+ EVP_CIPHER_CTX *ctx= &stack_ctx;
-+#else /* OPENSSL_VERSION_NUMBER < 0x10100000L */
-+ EVP_CIPHER_CTX *ctx= EVP_CIPHER_CTX_new();
-+#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
- const EVP_CIPHER *cipher= aes_evp_type(mode);
- int u_len, f_len;
- /* The real key to be used for encryption */
- unsigned char rkey[MAX_AES_KEY_LENGTH / 8];
- my_aes_create_key(key, key_length, rkey, mode);
-
-- if (!cipher || (EVP_CIPHER_iv_length(cipher) > 0 && !iv))
-+ if (!ctx || !cipher || (EVP_CIPHER_iv_length(cipher) > 0 && !iv))
- return MY_AES_BAD_DATA;
-
-- if (!EVP_EncryptInit(&ctx, cipher, rkey, iv))
-+ if (!EVP_EncryptInit(ctx, cipher, rkey, iv))
- goto aes_error; /* Error */
-- if (!EVP_CIPHER_CTX_set_padding(&ctx, 1))
-+ if (!EVP_CIPHER_CTX_set_padding(ctx, 1))
- goto aes_error; /* Error */
-- if (!EVP_EncryptUpdate(&ctx, dest, &u_len, source, source_length))
-+ if (!EVP_EncryptUpdate(ctx, dest, &u_len, source, source_length))
- goto aes_error; /* Error */
-
-- if (!EVP_EncryptFinal(&ctx, dest + u_len, &f_len))
-+ if (!EVP_EncryptFinal(ctx, dest + u_len, &f_len))
- goto aes_error; /* Error */
-
-- EVP_CIPHER_CTX_cleanup(&ctx);
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+ EVP_CIPHER_CTX_cleanup(ctx);
-+#else /* OPENSSL_VERSION_NUMBER < 0x10100000L */
-+ EVP_CIPHER_CTX_free(ctx);
-+#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
- return u_len + f_len;
-
- aes_error:
- /* need to explicitly clean up the error if we want to ignore it */
- ERR_clear_error();
-- EVP_CIPHER_CTX_cleanup(&ctx);
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+ EVP_CIPHER_CTX_cleanup(ctx);
-+#else /* OPENSSL_VERSION_NUMBER < 0x10100000L */
-+ EVP_CIPHER_CTX_free(ctx);
-+#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
- return MY_AES_BAD_DATA;
- }
-
-@@ -159,7 +172,12 @@ int my_aes_decrypt(const unsigned char *source, uint32 source_length,
- enum my_aes_opmode mode, const unsigned char *iv)
- {
-
-- EVP_CIPHER_CTX ctx;
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+ EVP_CIPHER_CTX stack_ctx;
-+ EVP_CIPHER_CTX *ctx= &stack_ctx;
-+#else /* OPENSSL_VERSION_NUMBER < 0x10100000L */
-+ EVP_CIPHER_CTX *ctx= EVP_CIPHER_CTX_new();
-+#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
- const EVP_CIPHER *cipher= aes_evp_type(mode);
- int u_len, f_len;
-
-@@ -167,27 +185,34 @@ int my_aes_decrypt(const unsigned char *source, uint32 source_length,
- unsigned char rkey[MAX_AES_KEY_LENGTH / 8];
-
- my_aes_create_key(key, key_length, rkey, mode);
-- if (!cipher || (EVP_CIPHER_iv_length(cipher) > 0 && !iv))
-+ if (!ctx || !cipher || (EVP_CIPHER_iv_length(cipher) > 0 && !iv))
- return MY_AES_BAD_DATA;
-
-- EVP_CIPHER_CTX_init(&ctx);
--
-- if (!EVP_DecryptInit(&ctx, aes_evp_type(mode), rkey, iv))
-+ if (!EVP_DecryptInit(ctx, aes_evp_type(mode), rkey, iv))
- goto aes_error; /* Error */
-- if (!EVP_CIPHER_CTX_set_padding(&ctx, 1))
-+ if (!EVP_CIPHER_CTX_set_padding(ctx, 1))
- goto aes_error; /* Error */
-- if (!EVP_DecryptUpdate(&ctx, dest, &u_len, source, source_length))
-+ if (!EVP_DecryptUpdate(ctx, dest, &u_len, source, source_length))
- goto aes_error; /* Error */
-- if (!EVP_DecryptFinal_ex(&ctx, dest + u_len, &f_len))
-+ if (!EVP_DecryptFinal_ex(ctx, dest + u_len, &f_len))
- goto aes_error; /* Error */
-
-- EVP_CIPHER_CTX_cleanup(&ctx);
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+ EVP_CIPHER_CTX_cleanup(ctx);
-+#else /* OPENSSL_VERSION_NUMBER < 0x10100000L */
-+ EVP_CIPHER_CTX_free(ctx);
-+#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
-+
- return u_len + f_len;
-
- aes_error:
- /* need to explicitly clean up the error if we want to ignore it */
- ERR_clear_error();
-- EVP_CIPHER_CTX_cleanup(&ctx);
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+ EVP_CIPHER_CTX_cleanup(ctx);
-+#else /* OPENSSL_VERSION_NUMBER < 0x10100000L */
-+ EVP_CIPHER_CTX_free(ctx);
-+#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
- return MY_AES_BAD_DATA;
- }
-
-diff --git sql-common/client.c sql-common/client.c
-index 19faefe8323..f1192306ccb 100644
---- sql-common/client.c.orig
-+++ sql-common/client.c
-@@ -2744,7 +2744,11 @@ static int ssl_verify_server_cert(Vio *vio, const char* server_hostname, const c
- goto error;
- }
-
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- cn= (char *) ASN1_STRING_data(cn_asn1);
-+#else /* OPENSSL_VERSION_NUMBER < 0x10100000L */
-+ cn= (char *) ASN1_STRING_get0_data(cn_asn1);
-+#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
-
- // There should not be any NULL embedded in the CN
- if ((size_t)ASN1_STRING_length(cn_asn1) != strlen(cn))
-diff --git sql/mysqld.cc sql/mysqld.cc
-index 4acff4e4d9b..307778771be 100644
---- sql/mysqld.cc.orig
-+++ sql/mysqld.cc
-@@ -3408,7 +3408,11 @@ static int init_ssl()
- {
- #ifdef HAVE_OPENSSL
- #ifndef HAVE_YASSL
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- CRYPTO_malloc_init();
-+#else /* OPENSSL_VERSION_NUMBER < 0x10100000L */
-+ OPENSSL_malloc_init();
-+#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
- #endif
- ssl_start();
- #ifndef EMBEDDED_LIBRARY
-@@ -3434,7 +3438,9 @@ static int init_ssl()
- opt_ssl_cipher, &error,
- opt_ssl_crl, opt_ssl_crlpath, ssl_ctx_flags);
- DBUG_PRINT("info",("ssl_acceptor_fd: 0x%lx", (long) ssl_acceptor_fd));
-- ERR_remove_state(0);
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+ ERR_remove_thread_state(0);
-+#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
- if (!ssl_acceptor_fd)
- {
- /*
-diff --git sql/rpl_slave.cc sql/rpl_slave.cc
-index aee13e12cb2..37a20870bd4 100644
---- sql/rpl_slave.cc.orig
-+++ sql/rpl_slave.cc
-@@ -6026,7 +6026,9 @@ ignore_log_space_limit=%d",
- mysql_mutex_unlock(&mi->run_lock);
- DBUG_LEAVE; // Must match DBUG_ENTER()
- my_thread_end();
-- ERR_remove_state(0);
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+ ERR_remove_thread_state(0);
-+#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
- pthread_exit(0);
- return(0); // Avoid compiler warnings
- }
-@@ -6256,7 +6258,9 @@ extern "C" void *handle_slave_worker(void *arg)
- }
-
- my_thread_end();
-- ERR_remove_state(0);
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+ ERR_remove_thread_state(0);
-+#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
- pthread_exit(0);
- DBUG_RETURN(0);
- }
-@@ -7597,7 +7601,9 @@ llstr(rli->get_group_master_log_pos(), llbuff));
-
- DBUG_LEAVE; // Must match DBUG_ENTER()
- my_thread_end();
-- ERR_remove_state(0);
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+ ERR_remove_thread_state(0);
-+#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
- pthread_exit(0);
- return 0; // Avoid compiler warnings
- }
-diff --git vio/viossl.c vio/viossl.c
-index 5622cb7ee92..f738570f832 100644
---- vio/viossl.c.orig
-+++ vio/viossl.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
-@@ -419,7 +421,11 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, long timeout,
- for (j = 0; j < n; j++)
- {
- SSL_COMP *c = sk_SSL_COMP_value(ssl_comp_methods, j);
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- DBUG_PRINT("info", (" %d: %s\n", c->id, c->name));
-+#else /* OPENSSL_VERSION_NUMBER < 0x10100000L */
-+ DBUG_PRINT("info", (" %d: %s\n", SSL_COMP_get_id(c), SSL_COMP_get0_name(c)));
-+#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
- }
- }
- #endif
-diff --git vio/viosslfactories.c vio/viosslfactories.c
-index f50678a37b3..d3891fd8b12 100644
---- vio/viosslfactories.c.orig
-+++ vio/viosslfactories.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
-@@ -121,13 +121,21 @@ static DH *get_dh2048(void)
- DH *dh;
- if ((dh=DH_new()))
- {
-- dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL);
-- dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL);
-- if (! dh->p || ! dh->g)
-- {
-+ BIGNUM *p= BN_bin2bn(dh2048_p, sizeof(dh2048_p), NULL);
-+ BIGNUM *g= BN_bin2bn(dh2048_g, sizeof(dh2048_g), NULL);
-+ if (!p || !g
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+ || !DH_set0_pqg(dh, p, NULL, g)
-+#endif /* OPENSSL_VERSION_NUMBER >= 0x10100000L */
-+ ) {
-+ /* DH_free() will free 'p' and 'g' at once. */
- DH_free(dh);
-- dh=0;
-+ return NULL;
- }
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+ dh->p= p;
-+ dh->g= g;
-+#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
- }
- return(dh);
- }
diff --git a/databases/mysql56-server/files/patch-libmysql_CMakeLists.txt b/databases/mysql56-server/files/patch-libmysql_CMakeLists.txt
index 1f9b8282e5d3..4b4c58856b9f 100644
--- a/databases/mysql56-server/files/patch-libmysql_CMakeLists.txt
+++ b/databases/mysql56-server/files/patch-libmysql_CMakeLists.txt
@@ -1,15 +1,15 @@
---- libmysql/CMakeLists.txt.orig 2013-07-10 18:17:29.000000000 +0200
-+++ libmysql/CMakeLists.txt 2013-08-12 08:59:49.000000000 +0200
-@@ -173,7 +173,7 @@
+--- libmysql/CMakeLists.txt.orig 2020-01-01 21:38:55.670126000 +0100
++++ libmysql/CMakeLists.txt 2020-01-01 21:47:51.799099000 +0100
+@@ -205,7 +205,7 @@ IF(WIN32)
ENDIF()
# Merge several convenience libraries into one big mysqlclient
--MERGE_LIBRARIES(mysqlclient STATIC ${LIBS} COMPONENT Development)
-+MERGE_LIBRARIES(mysqlclient STATIC ${LIBS} COMPONENT Development NOINSTALL)
+-MERGE_LIBRARIES(mysqlclient STATIC ${LIBS_TO_MERGE} COMPONENT Development)
++MERGE_LIBRARIES(mysqlclient STATIC ${LIBS_TO_MERGE} COMPONENT Development NOINSTALL)
+ TARGET_LINK_LIBRARIES(mysqlclient ${LIBS_TO_LINK})
# Visual Studio users need debug static library for debug projects
- IF(MSVC)
-@@ -200,19 +200,22 @@
+@@ -234,20 +234,23 @@ IF(UNIX)
ENDMACRO()
ENDIF()
@@ -25,15 +25,16 @@
IF(NOT DISABLE_SHARED)
# Merge several convenience libraries into one big mysqlclient
# and link them together into shared library.
- MERGE_LIBRARIES(libmysql SHARED ${LIBS}
+ MERGE_LIBRARIES(libmysql SHARED ${LIBS_TO_MERGE}
EXPORTS ${CLIENT_API_FUNCTIONS}
- COMPONENT SharedLibraries)
-+ COMPONENT SharedLibraries NOINSTALL)
-+ IF(FALSE)
++ COMPONENT SharedLibraries NOINSTALL)
+ TARGET_LINK_LIBRARIES(libmysql ${LIBS_TO_LINK})
++ IF(FALSE)
IF(UNIX)
# libtool compatability
IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR APPLE)
-@@ -271,4 +274,5 @@
+@@ -316,4 +319,5 @@ IF(NOT DISABLE_SHARED)
${INSTALL_LIBDIR} SharedLibraries)
ENDFOREACH()
ENDIF()