MFH: r501261

databases/mysql80-{client, server}: Update to latest release 8.0.16

This update includes:
Bugfixes:
- InnoDB: Undo tablespaces remained unencrypted after enabling
    undo tablespace encryption at startup. (Bug #29477795)
- InnoDB: Problematic macros introduced with undo tablespace DDL support
    (Bug #29324132, Bug #94243).
- InnoDB: Static thread local variables defined at the wrong scope
    were not released at thread exit. (Bug #29305186)
-  Memory leaks discovered in the innochecksum  (Bug #28917614, Bug #93164).

New features:
- MySQL C API now supports asynchronous functions for
    nonblocking communication with the MySQL server.
- MySQL now supports a new Chinese collation, utf8mb4_zh_0900_as_cs
- CMake now causes the build process to link with the llvm lld linker
    for Clang if it is available.

Security Fix:
CVE-2019-2632, CVE-2019-2693, CVE-2019-2694, CVE-2019-2695 and other fixes.
More info: https://www.oracle.com/technetwork/security-advisory/cpuapr2019-5072813.html#AppendixMSQL

PR:		237399
Reported by:	Brent Busby <brent@jfi.uchicago.edu>
Sponsored by:	The FreeBSD Foundation

Approved by:	ports-secteam (feld, CVE-patch blanket)
This commit is contained in:
Mahdi Mokhtari 2019-05-13 19:33:29 +00:00
parent cb855b101f
commit 2bfcd1b9e1
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/branches/2019Q2/; revision=501591
13 changed files with 57 additions and 86 deletions

View File

@ -1,29 +1,31 @@
--- client/CMakeLists.txt.orig 2016-08-25 12:32:09 UTC
+++ client/CMakeLists.txt
@@ -47,6 +47,7 @@ IF(UNIX)
--- client/CMakeLists.txt.orig 2019-04-13 13:46:31.000000000 +0200
+++ client/CMakeLists.txt 2019-04-30 00:27:10.627236000 +0200
@@ -35,10 +35,12 @@
TARGET_LINK_LIBRARIES(mysql ${EDITLINE_LIBRARY})
ENDIF(UNIX)
+IF(FALSE)
IF(NOT WITHOUT_SERVER)
MYSQL_ADD_EXECUTABLE(mysql_upgrade
upgrade/program.cc
@@ -57,11 +58,14 @@ ADD_COMPILE_FLAGS(
TARGET_LINK_LIBRARIES(mysql_upgrade mysqlclient client_base mysqlcheck_core)
ADD_DEPENDENCIES(mysql_upgrade GenFixPrivs GenSysSchema GenBootstrapPriv)
MYSQL_ADD_EXECUTABLE(mysql_upgrade upgrade/program.cc)
TARGET_LINK_LIBRARIES(mysql_upgrade mysqlclient client_base)
ENDIF()
+ENDIF()
SET(MYSQLTEST_SRC
mysqltest/mysqltest_expected_error.cc
mysqltest/error_names.cc
@@ -48,9 +50,11 @@
mysqltest/utils.cc
)
+IF(FALSE)
MYSQL_ADD_EXECUTABLE(mysqltest mysqltest.cc ${MYSQLTEST_SRC} COMPONENT Test)
TARGET_LINK_LIBRARIES(mysqltest mysqlclient regex)
TARGET_LINK_LIBRARIES(mysqltest mysqlclient)
ADD_DEPENDENCIES(mysqltest GenError GenClientError)
+ENDIF()
@@ -113,8 +117,10 @@ TARGET_LINK_LIBRARIES(mysqlslap mysqlcli
ADD_CONVENIENCE_LIBRARY(mysqlcheck_core check/mysqlcheck_core.cc)
TARGET_LINK_LIBRARIES(mysqlcheck_core mysqlclient)
@@ -108,8 +112,10 @@
MYSQL_ADD_EXECUTABLE(mysql_config_editor mysql_config_editor.cc)
TARGET_LINK_LIBRARIES(mysql_config_editor mysqlclient)

View File

@ -3,7 +3,7 @@
@@ -30,11 +30,173 @@ SET(HEADERS
${CMAKE_CURRENT_BINARY_DIR}/mysql_version.h
${CMAKE_CURRENT_BINARY_DIR}/mysqld_error.h
../libbinlogevents/export/binary_log_types.h
field_types.h
+ base64.h
+ big_endian.h
+ c_string_less.h

View File

@ -5,11 +5,11 @@
ENDIF()
+IF(FALSE)
# Build mysql_fix_privilege_tables.c
# Build mysql_fix_privilege_tables.h
ADD_CUSTOM_COMMAND(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/mysql_fix_privilege_tables_sql.c
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/mysql_fix_privilege_tables_sql.h
@@ -100,6 +101,7 @@ ADD_CUSTOM_TARGET(GenFixPrivs
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/mysql_fix_privilege_tables_sql.c
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/mysql_fix_privilege_tables_sql.h
${CMAKE_CURRENT_BINARY_DIR}/sql_commands_sys_schema.h
)
+ENDIF()

View File

@ -2,19 +2,10 @@
+++ sql/mysqld.cc
@@ -4321,7 +4321,7 @@ static void init_ssl() {
static int init_ssl_communication() {
static void init_ssl() {
#ifdef HAVE_OPENSSL
-#ifndef HAVE_WOLFSSL
+#if !defined(HAVE_WOLFSSL) && !defined(LIBRESSL_VERSION_NUMBER)
char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
int ret_fips_mode = set_fips_mode(opt_ssl_fips_mode, ssl_err_string);
if (ret_fips_mode != 1) {
@@ -8647,7 +8647,7 @@ bool mysqld_get_one_option(int optid,
One can disable SSL later by using --skip-ssl or --ssl=0.
*/
opt_use_ssl = true;
-#ifdef HAVE_WOLFSSL
+#if defined(HAVE_WOLFSSL) || defined(LIBRESSL_VERSION_NUMBER)
/* crl has no effect in wolfSSL. */
opt_ssl_crl = NULL;
opt_ssl_crlpath = NULL;
-#if !defined(HAVE_WOLFSSL) && !defined(__sun)
+#if !defined(HAVE_WOLFSSL) && !defined(LIBRESSL_VERSION_NUMBER) && !defined(__sun)
#if defined(HAVE_PSI_MEMORY_INTERFACE)
static PSI_memory_info all_openssl_memory[] = {
{&key_memory_openssl, "openssl_malloc", 0, 0,

View File

@ -8,10 +8,10 @@
SET(prefix ${CMAKE_INSTALL_PREFIX})
FOREACH(script mysqld_multi.server mysql-log-rotate)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${script}.sh
@@ -59,9 +60,12 @@ IF(UNIX)
IF(INSTALL_SUPPORTFILESDIR)
INSTALL(FILES magic DESTINATION ${inst_location} COMPONENT SupportFiles)
ENDIF()
@@ -63,9 +64,12 @@
DESTINATION ${inst_location} COMPONENT ${comp}
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
ENDFOREACH()
+ENDIF()
+ENDIF()

View File

@ -12,13 +12,13 @@ bin/mysqlshow
bin/mysqlslap
include/mysql/base64.h
include/mysql/big_endian.h
include/mysql/binary_log_types.h
include/mysql/c_string_less.h
include/mysql/crypt_genhash_impl.h
include/mysql/decimal.h
include/mysql/depth_first_search.h
include/mysql/dur_prop.h
include/mysql/errmsg.h
include/mysql/field_types.h
include/mysql/ft_global.h
include/mysql/heap.h
include/mysql/keycache.h

View File

@ -2,8 +2,8 @@
# $FreeBSD$
PORTNAME?= mysql
PORTVERSION= 8.0.15
PORTREVISION?= 2
PORTVERSION= 8.0.16
PORTREVISION?= 0
CATEGORIES= databases ipv6
MASTER_SITES= MYSQL/MySQL-8.0
PKGNAMESUFFIX?= 80-server

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1551112616
SHA256 (mysql-boost-8.0.15.tar.gz) = 95dbdb54c3967feefb255b96458b089a601e4de238bcc1f328b066018ee47db0
SIZE (mysql-boost-8.0.15.tar.gz) = 117079697
TIMESTAMP = 1556566256
SHA256 (mysql-boost-8.0.16.tar.gz) = 7c936aa7bc9f4c462b24bade2e9abe1b3a6869ea19c46e78ec0a9b2a87a3d17f
SIZE (mysql-boost-8.0.16.tar.gz) = 145939027

View File

@ -1,16 +1,14 @@
--- client/CMakeLists.txt.orig 2018-12-20 20:14:03 UTC
+++ client/CMakeLists.txt
@@ -28,16 +28,16 @@ INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compil
@@ -26,14 +26,14 @@ INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compil
## Subdirectory with common client code.
ADD_SUBDIRECTORY(base)
-## Subdirectory for mysqlpump code.
-ADD_SUBDIRECTORY(dump)
INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake)
+IF(FALSE)
MYSQL_ADD_EXECUTABLE(mysql completion_hash.cc mysql.cc readline.cc ../sql-common/sql_string.cc pattern_matcher.cc)
MYSQL_ADD_EXECUTABLE(mysql completion_hash.cc mysql.cc readline.cc ../sql-common/sql_string.cc pattern_matcher.cc ${CMAKE_SOURCE_DIR}/sql/net_ns.cc)
TARGET_LINK_LIBRARIES(mysql mysqlclient)
IF(UNIX)
TARGET_LINK_LIBRARIES(mysql ${EDITLINE_LIBRARY})
@ -37,7 +35,7 @@
MYSQL_ADD_EXECUTABLE(mysqlbinlog mysqlbinlog.cc)
SET(MYSQLBINLOG_LIB_SOURCES
${CMAKE_SOURCE_DIR}/strings/decimal.cc
@@ -110,16 +113,20 @@ TARGET_LINK_LIBRARIES(mysqlslap mysqlcli
@@ -107,12 +110,15 @@ TARGET_LINK_LIBRARIES(mysqlslap mysqlcli
MYSQL_ADD_EXECUTABLE(mysql_config_editor mysql_config_editor.cc)
TARGET_LINK_LIBRARIES(mysql_config_editor mysqlclient)
@ -49,11 +47,6 @@
+IF(FALSE)
MYSQL_ADD_EXECUTABLE(mysql_ssl_rsa_setup mysql_ssl_rsa_setup.cc path.cc logger.cc)
TARGET_LINK_LIBRARIES(mysql_ssl_rsa_setup mysys mysys_ssl)
+
# Bug in /usr/lib/gcc-snapshot/lib/libstdc++.so ??
IF(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL "9.0.0")
TARGET_LINK_LIBRARIES(mysql_ssl_rsa_setup -static-libstdc++)
ENDIF()
+ENDIF()
# "WIN32" also covers 64 bit. "echo" is used in some files below "mysql-test/".

View File

@ -1,18 +1,16 @@
--- plugin/x/CMakeLists.txt.orig 2018-04-08 06:44:49 UTC
+++ plugin/x/CMakeLists.txt
@@ -89,12 +89,15 @@ INCLUDE_DIRECTORIES(
@@ -80,11 +80,14 @@ INCLUDE_DIRECTORIES(
${MYSQLX_GENERATE_DIR}
${MYSQLX_PROTOCOL_INCLUDE_DIR}
${MYSQLX_CLIENT_INCLUDE_DIR}
+ ${BOOST_INCLUDE_DIR}
)
INCLUDE_DIRECTORIES(SYSTEM
${PROTOBUF_INCLUDE_DIRS}
${LIBEVENT_INCLUDE_DIRS}
${ICU_INCLUDE_DIRS}
+ ${SSL_INCLUDE_DIRS}
+ ${ZLIB_INCLUDE_DIR}
)
MY_INCLUDE_SYSTEM_DIRECTORIES(PROTOBUF)
MY_INCLUDE_SYSTEM_DIRECTORIES(LIBEVENT)
MY_INCLUDE_SYSTEM_DIRECTORIES(ICU)
+MY_INCLUDE_SYSTEM_DIRECTORIES(SSL)
+MY_INCLUDE_SYSTEM_DIRECTORIES(ZLIB)
SET(MYSQLX_PROTBUF_AND_PROTOCOL_LIB

View File

@ -1,11 +0,0 @@
--- router/src/harness/CMakeLists.txt.orig 2018-11-04 22:41:07 UTC
+++ router/src/harness/CMakeLists.txt
@@ -128,7 +128,7 @@ IF(WIN32)
COMPILE_FLAGS -DHARNESS_STATIC_DEFINE)
ENDIF()
IF(THREADS_HAVE_PTHREAD_ARG)
- target_compile_options(PUBLIC harness-archive "-pthread")
+ target_compile_options(harness-archive PUBLIC "-pthread")
ENDIF()
# create harness library - dynamic version

View File

@ -11,19 +11,10 @@
#define FILE_LINE_ARGS , const char *, int
@@ -4530,7 +4530,7 @@ static void init_ssl() {
static int init_ssl_communication() {
static void init_ssl() {
#ifdef HAVE_OPENSSL
-#ifndef HAVE_WOLFSSL
+#if !defined(HAVE_WOLFSSL) && !defined(LIBRESSL_VERSION_NUMBER)
char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'};
int ret_fips_mode = set_fips_mode(opt_ssl_fips_mode, ssl_err_string);
if (ret_fips_mode != 1) {
@@ -8919,7 +8919,7 @@ bool mysqld_get_one_option(int optid,
One can disable SSL later by using --skip-ssl or --ssl=0.
*/
opt_use_ssl = true;
-#ifdef HAVE_WOLFSSL
+#if defined(HAVE_WOLFSSL) || defined(LIBRESSL_VERSION_NUMBER)
/* crl has no effect in wolfSSL. */
opt_ssl_crl = NULL;
opt_ssl_crlpath = NULL;
-#if !defined(HAVE_WOLFSSL) && !defined(__sun)
+#if !defined(HAVE_WOLFSSL) && !defined(LIBRESSL_VERSION_NUMBER) && !defined(__sun)
#if defined(HAVE_PSI_MEMORY_INTERFACE)
static PSI_memory_info all_openssl_memory[] = {
{&key_memory_openssl, "openssl_malloc", 0, 0,

View File

@ -14,6 +14,7 @@ bin/mysqld_multi
bin/mysqld_safe
bin/mysqldumpslow
bin/mysqlrouter
bin/mysqlrouter_passwd
bin/mysqlrouter_plugin_info
bin/mysqltest
bin/mysqlxtest
@ -24,11 +25,15 @@ lib/mysql/libmysqlharness.so
lib/mysql/libmysqlharness.so.1
lib/mysql/libmysqlrouter.so
lib/mysql/libmysqlrouter.so.1
lib/mysql/libmysqlrouter_http.so
lib/mysql/libmysqlrouter_http.so.1
lib/mysql/mysqlrouter/http_auth_backend.so
lib/mysql/mysqlrouter/http_auth_realm.so
lib/mysql/mysqlrouter/http_server.so
lib/mysql/mysqlrouter/keepalive.so
lib/mysql/mysqlrouter/metadata_cache.so
lib/mysql/mysqlrouter/mysql_protocol.so
lib/mysql/mysqlrouter/routing.so
lib/mysql/mysqlrouter/syslog.so
lib/mysql/plugin/adt_null.so
lib/mysql/plugin/auth.so
lib/mysql/plugin/auth_test_plugin.so
@ -46,6 +51,7 @@ lib/mysql/plugin/component_pfs_example_component_population.so
lib/mysql/plugin/component_test_audit_api_message.so
lib/mysql/plugin/component_test_backup_lock_service.so
lib/mysql/plugin/component_test_host_application_signal.so
lib/mysql/plugin/component_test_mysql_runtime_error.so
lib/mysql/plugin/component_test_pfs_notification.so
lib/mysql/plugin/component_test_pfs_resource_group.so
lib/mysql/plugin/component_test_status_var_service.so
@ -74,6 +80,7 @@ lib/mysql/plugin/component_udf_unreg_real_func.so
lib/mysql/plugin/component_validate_password.so
lib/mysql/plugin/connection_control.so
lib/mysql/plugin/daemon_example.ini
lib/mysql/plugin/ddl_rewriter.so
lib/mysql/plugin/group_replication.so
%%NO_EXAMPLE%%lib/mysql/plugin/ha_example.so
lib/mysql/plugin/ha_mock.so
@ -95,6 +102,7 @@ lib/mysql/plugin/libtest_sql_errors.so
lib/mysql/plugin/libtest_sql_lock.so
lib/mysql/plugin/libtest_sql_processlist.so
lib/mysql/plugin/libtest_sql_replication.so
lib/mysql/plugin/libtest_sql_reset_connection.so
lib/mysql/plugin/libtest_sql_shutdown.so
lib/mysql/plugin/libtest_sql_sqlmode.so
lib/mysql/plugin/libtest_sql_stmt.so
@ -182,7 +190,6 @@ man/man8/mysqld.8.gz
%%DATADIR%%/italian/errmsg.sys
%%DATADIR%%/japanese/errmsg.sys
%%DATADIR%%/korean/errmsg.sys
%%DATADIR%%/magic
%%DATADIR%%/mysql-log-rotate
%%DATADIR%%/mysql.server
%%DATADIR%%/mysqld_multi.server