aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJochen Neumeister <joneum@FreeBSD.org>2021-11-25 07:14:34 +0000
committerJochen Neumeister <joneum@FreeBSD.org>2021-11-25 07:17:30 +0000
commitea739e8990792020fa9fcdc83adcd5854095ea7d (patch)
treea04525553997f151d3c05b6783ee0b4573d046e5
parente04c4f2bb74d3518b415140314420d2de2268e26 (diff)
downloadports-ea739e8990792020fa9fcdc83adcd5854095ea7d.tar.gz
ports-ea739e8990792020fa9fcdc83adcd5854095ea7d.zip
databases/mysql80-*: Update to 8.0.27
Release Notes: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-27.html Sponsored by: Netzkommune GmbH
-rw-r--r--databases/mysql80-client/Makefile12
-rw-r--r--databases/mysql80-client/pkg-plist25
-rw-r--r--databases/mysql80-server/Makefile8
-rw-r--r--databases/mysql80-server/distinfo6
-rw-r--r--databases/mysql80-server/files/patch-CMakeLists.txt27
-rw-r--r--databases/mysql80-server/files/patch-client_CMakeLists.txt26
-rw-r--r--databases/mysql80-server/files/patch-include_CMakeLists.txt37
-rw-r--r--databases/mysql80-server/files/patch-mysys_my__default.cc22
-rw-r--r--databases/mysql80-server/files/patch-plugin_group__replication_libmysqlgcs_src_bindings_xcom_xcom_xcom__ssl__transport.c94
-rw-r--r--databases/mysql80-server/files/patch-router_src_harness_src_tls__context.cc18
-rw-r--r--databases/mysql80-server/files/patch-scripts_CMakeLists.txt31
-rw-r--r--databases/mysql80-server/files/patch-storage_innobase_include_detail_ut_large__page__alloc-linux.h11
-rw-r--r--databases/mysql80-server/files/patch-vio_viosslfactories.cc16
-rw-r--r--databases/mysql80-server/pkg-plist2
14 files changed, 142 insertions, 193 deletions
diff --git a/databases/mysql80-client/Makefile b/databases/mysql80-client/Makefile
index c9b0f181711a..ea791e8ca54a 100644
--- a/databases/mysql80-client/Makefile
+++ b/databases/mysql80-client/Makefile
@@ -1,7 +1,7 @@
# Created by: "Mahdi Mokhtari <mokhi64@gmail.com>"
PORTNAME= mysql
-PORTREVISION= 1
+PORTREVISION= 0
PKGNAMESUFFIX= 80-client
COMMENT= Multithreaded SQL database (client)
@@ -19,7 +19,7 @@ CONFLICTS_INSTALL= mysql8[1-9]-client-* \
mariadb[0-9][0-9]-client-* \
percona[0-9][0-9]-client-*
-CMAKE_ARGS+= -DWITHOUT_SERVER=1 -DINSTALL_SUPPORTFILESDIR=0
+CMAKE_ARGS+= -DWITHOUT_SERVER=1 -DINSTALL_SUPPORTFILESDIR=0 -DWITH_AUTHENTICATION_FIDO=ON
USE_LDCONFIG+= ${PREFIX}/lib/mysql
@@ -31,11 +31,17 @@ CLIENT_ONLY= yes
OPTIONS_GROUP+= PLUGINS
PLUGINS_DESC= Default Client Plugins
-OPTIONS_GROUP_PLUGINS= SASLCLIENT
+OPTIONS_GROUP_PLUGINS= SASLCLIENT FIDO
SASLCLIENT_DESC= SASL client plugin module
SASLCLIENT_CMAKE_BOOL= WITH_AUTHENTICATION_LDAP
SASLCLIENT_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2
SASLCLIENT_USE= OPENLDAP=yes
+
+FIDO_DESC= FIDO/U2F support (security/libfido2)
+FIDO_LIB_DEPENDS= libfido2.so:security/libfido2 \
+ libhidapi.so:comms/hidapi
+FIDO_CMAKE_BOOL= WITH_AUTHENTICATION_FIDO
+
OPTIONS_DEFAULT+= SASLCLIENT
OPTIONS_SUB= yes
diff --git a/databases/mysql80-client/pkg-plist b/databases/mysql80-client/pkg-plist
index 1d2f6cfb9268..6766faf79190 100644
--- a/databases/mysql80-client/pkg-plist
+++ b/databases/mysql80-client/pkg-plist
@@ -14,6 +14,25 @@ bin/mysqlshow
bin/mysqlslap
bin/perror
@comment bin/zlib_decompress
+include/mysql/add_with_saturate.h
+include/mysql/caching_sha2_passwordopt-longopts.h
+include/mysql/caching_sha2_passwordopt-vars.h
+include/mysql/compression.h
+include/mysql/keyring_operations_helper.h
+include/mysql/manifest.h
+include/mysql/mem_root_deque.h
+include/mysql/memory_debugging.h
+include/mysql/my_basename.h
+include/mysql/my_checksum.h
+include/mysql/my_getpwnam.h
+include/mysql/my_hostname.h
+include/mysql/my_rcu_lock.h
+include/mysql/mysql_async.h
+include/mysql/pfs_data_lock_provider.h
+include/mysql/pfs_system_provider.h
+include/mysql/pfs_tls_channel_provider.h
+include/mysql/unhex.h
+include/mysql/unsafe_string_append.h
include/mysql/base64.h
include/mysql/big_endian.h
include/mysql/c_string_less.h
@@ -24,7 +43,6 @@ include/mysql/dur_prop.h
include/mysql/errmsg.h
include/mysql/field_types.h
include/mysql/ft_global.h
-include/mysql/guard.h
include/mysql/heap.h
include/mysql/integer_digits.h
include/mysql/keycache.h
@@ -88,7 +106,6 @@ include/mysql/myisam.h
include/mysql/myisammrg.h
include/mysql/myisampack.h
include/mysql/mysql.h
-include/mysql/mysql.h.pp
include/mysql/mysql/client_authentication.h
include/mysql/mysql/client_plugin.h
include/mysql/mysql/client_plugin.h.pp
@@ -139,10 +156,8 @@ include/mysql/mysql_com.h
include/mysql/mysql_com_server.h
include/mysql/mysql_time.h
include/mysql/mysql_version.h
-include/mysql/mysql_version.h.in
include/mysql/mysqld_error.h
include/mysql/mysys_err.h
-include/mysql/nullable.h
include/mysql/password.h
include/mysql/pfs_cond_provider.h
include/mysql/pfs_error_provider.h
@@ -189,6 +204,8 @@ lib/mysql/libmysqlclient_r.a
lib/mysql/libmysqlclient_r.so
lib/mysql/libmysqlclient_r.so.21
%%SASLCLIENT%%lib/mysql/plugin/authentication_ldap_sasl_client.so
+%%FIDO%%lib/mysql/plugin/authentication_fido_client.so
+lib/mysql/plugin/authentication_oci_client.so
libdata/pkgconfig/mysqlclient.pc
man/man1/comp_err.1.gz
man/man1/lz4_decompress.1.gz
diff --git a/databases/mysql80-server/Makefile b/databases/mysql80-server/Makefile
index c525a921bee0..53a99ba306a9 100644
--- a/databases/mysql80-server/Makefile
+++ b/databases/mysql80-server/Makefile
@@ -1,8 +1,8 @@
# Created by: Mahdi Mokhtari <mokhi64@gmail.com>
PORTNAME?= mysql
-PORTVERSION= 8.0.26
-PORTREVISION?= 1
+PORTVERSION= 8.0.27
+PORTREVISION?= 0
CATEGORIES= databases
MASTER_SITES= MYSQL/MySQL-8.0
PKGNAMESUFFIX?= 80-server
@@ -21,7 +21,7 @@ USES= bison:build cmake:noninja compiler:c++17-lang cpe \
CPE_VENDOR= oracle
-USE_CXXSTD= c++14
+USE_CXXSTD= c++17
USE_PERL5= run
MY_DBDIR= /var/db/mysql
@@ -84,7 +84,7 @@ CMAKE_ARGS+= -DINSTALL_LAYOUT=FREEBSD \
-DWITH_ZLIB=system \
-DWITH_ZSTD=system \
-DWITH_PROTOBUF=system \
- -DWITH_SSL=${OPENSSLBASE} \
+ -DWITH_SSL=system \
-DBUILD_BUNDLED_ZLIB=0 \
-DBUILD_BUNDLED_LZ4=0
diff --git a/databases/mysql80-server/distinfo b/databases/mysql80-server/distinfo
index 6b639dd456da..55029d0a7a90 100644
--- a/databases/mysql80-server/distinfo
+++ b/databases/mysql80-server/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1628702352
-SHA256 (mysql-boost-8.0.26.tar.gz) = 209442c1001c37bcbc001845e1dc623d654cefb555b47b528742a53bf21c0b4d
-SIZE (mysql-boost-8.0.26.tar.gz) = 291285918
+TIMESTAMP = 1635786797
+SHA256 (mysql-boost-8.0.27.tar.gz) = 74b5bc6ff88fe225560174a24b7d5ff139f4c17271c43000dbcf3dcc9507b3f9
+SIZE (mysql-boost-8.0.27.tar.gz) = 292184025
diff --git a/databases/mysql80-server/files/patch-CMakeLists.txt b/databases/mysql80-server/files/patch-CMakeLists.txt
index 1838577bde1c..0b4f88bfd853 100644
--- a/databases/mysql80-server/files/patch-CMakeLists.txt
+++ b/databases/mysql80-server/files/patch-CMakeLists.txt
@@ -1,6 +1,15 @@
---- CMakeLists.txt.orig 2020-09-23 12:37:48 UTC
+--- CMakeLists.txt.orig 2021-09-28 11:46:34 UTC
+++ CMakeLists.txt
-@@ -1417,10 +1417,10 @@ IF(WITH_AUTHENTICATION_LDAP)
+@@ -1647,7 +1647,7 @@ IF(LINUX AND KNOWN_CUSTOM_LIBRARIES)
+ ENDIF()
+
+ IF(WITH_AUTHENTICATION_LDAP)
+- IF(LINUX AND KNOWN_CUSTOM_LIBRARIES)
++ IF(LINUX OR FREEBSD AND KNOWN_CUSTOM_LIBRARIES)
+ # LDAP / SASL / KERBEROS / SSL must all be "system" or "custom", not a mix.
+ IF(WITH_LDAP STREQUAL "system" OR
+ WITH_SASL STREQUAL "system" OR
+@@ -1696,10 +1696,10 @@ IF(WITH_AUTHENTICATION_KERBEROS)
ENDIF()
ENDIF()
@@ -14,9 +23,9 @@
# Add lz4 library
MYSQL_CHECK_LZ4()
# Add icu library
-@@ -1520,7 +1520,9 @@ IF(WITH_UNIT_TESTS)
- INCLUDE(googletest)
- ENDIF()
+@@ -1869,7 +1869,9 @@ OPTION(WITH_HYPERGRAPH_OPTIMIZER
+ ${WITH_HYPERGRAPH_OPTIMIZER_DEFAULT}
+ )
-ADD_SUBDIRECTORY(include)
+IF(NOT WITHOUT_CLIENTLIBS)
@@ -25,7 +34,7 @@
ADD_SUBDIRECTORY(strings)
ADD_SUBDIRECTORY(vio)
ADD_SUBDIRECTORY(mysys)
-@@ -1562,12 +1564,17 @@ IF(WITH_UNIT_TESTS)
+@@ -1913,12 +1915,17 @@ IF(WITH_UNIT_TESTS)
ADD_SUBDIRECTORY(unittest/mytap/t)
ENDIF()
@@ -45,7 +54,7 @@
ADD_SUBDIRECTORY(testclients)
ADD_SUBDIRECTORY(sql)
ENDIF()
-@@ -1590,11 +1597,11 @@ ENDIF()
+@@ -1971,11 +1978,11 @@ ENDIF()
# scripts/mysql_config depends on client and server targets loaded above.
# It is referenced by some of the directories below, so we insert it here.
ADD_SUBDIRECTORY(scripts)
@@ -58,7 +67,7 @@
IF(WITH_INTERNAL)
ADD_SUBDIRECTORY(internal)
ENDIF()
-@@ -1703,6 +1710,7 @@ IF(PACK_SEPARATE_COMPONENTS)
+@@ -2084,6 +2091,7 @@ IF(PACK_SEPARATE_COMPONENTS)
SET(CPACK_COMPONENTS_GROUPING IGNORE)
ENDIF()
@@ -66,7 +75,7 @@
IF(UNIX)
INSTALL(FILES
Docs/mysql.info
-@@ -1737,6 +1745,7 @@ IF(NOT INSTALL_LAYOUT MATCHES "RPM")
+@@ -2118,6 +2126,7 @@ IF(NOT INSTALL_LAYOUT MATCHES "RPM")
PATTERN "sp-imp-spec.txt" EXCLUDE
PATTERN "README.build" EXCLUDE
)
diff --git a/databases/mysql80-server/files/patch-client_CMakeLists.txt b/databases/mysql80-server/files/patch-client_CMakeLists.txt
index bbfb4249c799..41b4925911bc 100644
--- a/databases/mysql80-server/files/patch-client_CMakeLists.txt
+++ b/databases/mysql80-server/files/patch-client_CMakeLists.txt
@@ -1,4 +1,4 @@
---- client/CMakeLists.txt.orig 2021-03-22 08:44:50 UTC
+--- client/CMakeLists.txt.orig 2021-09-28 11:46:34 UTC
+++ client/CMakeLists.txt
@@ -28,10 +28,13 @@ DISABLE_MISSING_PROFILE_WARNING()
## Subdirectory with common client code.
@@ -11,18 +11,18 @@
+ENDIF()
+IF(NOT WITHOUT_CLIENTLIBS)
- MYSQL_ADD_EXECUTABLE(mysql
- ${CMAKE_SOURCE_DIR}/sql-common/net_ns.cc
- completion_hash.cc
-@@ -41,6 +44,7 @@ MYSQL_ADD_EXECUTABLE(mysql
- client_query_attributes.cc
+ INCLUDE_DIRECTORIES(
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
+ )
+@@ -47,6 +50,7 @@ MYSQL_ADD_EXECUTABLE(mysql
+ ${CMAKE_CURRENT_SOURCE_DIR}/common/user_registration.cc
LINK_LIBRARIES mysqlclient client_base ${EDITLINE_LIBRARY}
)
+ENDIF()
IF(NOT WITHOUT_SERVER)
MYSQL_ADD_EXECUTABLE(mysql_upgrade
-@@ -57,6 +61,7 @@ IF(SOLARIS_SPARC AND MY_COMPILER_IS_SUNPRO AND
+@@ -55,6 +59,7 @@ IF(NOT WITHOUT_SERVER)
)
ENDIF()
@@ -30,7 +30,7 @@
MYSQL_ADD_EXECUTABLE(mysqltest
mysqltest.cc
mysqltest/error_names.cc
-@@ -73,6 +78,9 @@ MYSQL_ADD_EXECUTABLE(mysqltest
+@@ -71,6 +76,9 @@ MYSQL_ADD_EXECUTABLE(mysqltest
ENABLE_EXPORTS
LINK_LIBRARIES mysqlclient
)
@@ -40,7 +40,7 @@
MYSQL_ADD_EXECUTABLE(mysqlcheck
check/mysqlcheck.cc
check/mysqlcheck_core.cc
-@@ -248,7 +256,9 @@ ENDIF()
+@@ -250,7 +258,9 @@ ENDIF()
TARGET_COMPILE_DEFINITIONS(mysqlbinlog PRIVATE DISABLE_PSI_MUTEX)
TARGET_INCLUDE_DIRECTORIES(mysqlbinlog PRIVATE ${CMAKE_SOURCE_DIR}/sql)
@@ -49,18 +49,18 @@
+IF(WITHOUT_SERVER)
MYSQL_ADD_EXECUTABLE(mysqladmin
mysqladmin.cc
- LINK_LIBRARIES mysqlclient
-@@ -261,6 +271,9 @@ MYSQL_ADD_EXECUTABLE(mysql_config_editor
+ multi_factor_passwordopt-vars.cc
+@@ -265,6 +275,9 @@ MYSQL_ADD_EXECUTABLE(mysql_config_editor
mysql_config_editor.cc
LINK_LIBRARIES mysqlclient
)
+ENDIF()
+
-+IF(NOT WITHOUT_SERVER)
++IF(NOT_WITHOUT_SERVER)
MYSQL_ADD_EXECUTABLE(mysql_secure_installation
mysql_secure_installation.cc
LINK_LIBRARIES mysqlclient
-@@ -271,6 +284,7 @@ MYSQL_ADD_EXECUTABLE(mysql_ssl_rsa_setup
+@@ -275,6 +288,7 @@ MYSQL_ADD_EXECUTABLE(mysql_ssl_rsa_setup
path.cc
LINK_LIBRARIES mysys
)
diff --git a/databases/mysql80-server/files/patch-include_CMakeLists.txt b/databases/mysql80-server/files/patch-include_CMakeLists.txt
index 11fed601d4f4..96f88d8593aa 100644
--- a/databases/mysql80-server/files/patch-include_CMakeLists.txt
+++ b/databases/mysql80-server/files/patch-include_CMakeLists.txt
@@ -1,39 +1,46 @@
---- include/CMakeLists.txt.orig 2019-12-09 19:53:17 UTC
+--- include/CMakeLists.txt.orig 2021-09-28 11:46:34 UTC
+++ include/CMakeLists.txt
-@@ -37,10 +37,173 @@ SET(HEADERS
+@@ -37,10 +37,182 @@ SET(HEADERS
${CMAKE_CURRENT_BINARY_DIR}/mysql_version.h
${CMAKE_CURRENT_BINARY_DIR}/mysqld_error.h
field_types.h
++ add_with_saturate.h
+ base64.h
+ big_endian.h
+ c_string_less.h
++ caching_sha2_passwordopt-longopts.h
++ caching_sha2_passwordopt-vars.h
++ compression.h
+ crypt_genhash_impl.h
+ decimal.h
+ depth_first_search.h
+ dur_prop.h
-+ errmsg.h
+ ft_global.h
-+ guard.h
+ heap.h
+ integer_digits.h
+ keycache.h
++ keyring_operations_helper.h
+ lex_string.h
+ lf.h
+ little_endian.h
+ m_ctype.h
+ m_string.h
++ manifest.h
+ map_helpers.h
++ mem_root_deque.h
++ memory_debugging.h
+ mf_wcomp.h
+ mutex_lock.h
+ my_aes.h
+ my_alloc.h
+ my_atomic.h
+ my_base.h
++ my_basename.h
+ my_bit.h
+ my_bitmap.h
+ my_byteorder.h
+ my_check_opt.h
-+ my_command.h
++ my_checksum.h
+ my_compare.h
+ my_compiler.h
+ my_dbug.h
@@ -41,19 +48,21 @@
+ my_dir.h
+ my_double2ulonglong.h
+ my_getopt.h
++ my_getpwnam.h
+ my_hash_combine.h
++ my_hostname.h
+ my_icp.h
+ my_inttypes.h
+ my_io.h
-+ my_list.h
+ my_loglevel.h
+ my_macros.h
-+ my_md5.h
+ my_md5_size.h
++ my_md5.h
+ my_murmur3.h
+ my_pointer_arithmetic.h
+ my_psi_config.h
+ my_rapidjson_size_t.h
++ my_rcu_lock.h
+ my_rdtsc.h
+ my_rnd.h
+ my_sharedlib.h
@@ -63,9 +72,9 @@
+ my_sys.h
+ my_systime.h
+ my_table_map.h
-+ my_thread.h
+ my_thread_local.h
+ my_thread_os_id.h
++ my_thread.h
+ my_time.h
+ my_timer.h
+ my_tree.h
@@ -75,16 +84,12 @@
+ myisam.h
+ myisammrg.h
+ myisampack.h
-+ mysql.h
-+ mysql.h.pp
-+ mysql_com.h
++ mysql_async.h
+ mysql_com_server.h
-+ mysql_time.h
-+ mysql_version.h.in
+ mysys_err.h
-+ nullable.h
+ password.h
+ pfs_cond_provider.h
++ pfs_data_lock_provider.h
+ pfs_error_provider.h
+ pfs_file_provider.h
+ pfs_idle_provider.h
@@ -95,8 +100,10 @@
+ pfs_socket_provider.h
+ pfs_stage_provider.h
+ pfs_statement_provider.h
++ pfs_system_provider.h
+ pfs_table_provider.h
+ pfs_thread_provider.h
++ pfs_tls_channel_provider.h
+ pfs_transaction_provider.h
+ prealloced_array.h
+ print_version.h
@@ -119,6 +126,8 @@
+ thr_mutex.h
+ thr_rwlock.h
+ typelib.h
++ unhex.h
++ unsafe_string_append.h
+ varlen_sort.h
+ violite.h
+ welcome_copyright_notice.h
diff --git a/databases/mysql80-server/files/patch-mysys_my__default.cc b/databases/mysql80-server/files/patch-mysys_my__default.cc
index 6a8cb5ebbaf2..6e479597e24a 100644
--- a/databases/mysql80-server/files/patch-mysys_my__default.cc
+++ b/databases/mysql80-server/files/patch-mysys_my__default.cc
@@ -1,5 +1,5 @@
---- mysys/my_default.cc.orig 2021-04-23 15:06:40 UTC
-+++ mysys/my_default.cc
+--- mysys/my_default.cc.orig 2021-11-02 20:29:18.337621000 +0100
++++ mysys/my_default.cc 2021-11-02 20:57:11.624299000 +0100
@@ -204,7 +204,7 @@ bool no_defaults = false;
/* Which directories are searched for options (and in which order) */
@@ -9,7 +9,7 @@
#define DEFAULT_DIRS_SIZE (MAX_DEFAULT_DIRS + 1) /* Terminate with NULL */
static const char **default_directories = nullptr;
-@@ -915,6 +915,14 @@ static int search_default_file_with_ext(Process_option
+@@ -922,6 +922,14 @@ static int search_default_file_with_ext(Process_option
return 1; /* Ignore wrong files */
}
@@ -17,24 +17,24 @@
+ {
+ fprintf(stderr,
+ "error: Config file %s in invalid location, please move to or merge with /usr/local%s\n",
-+ name,name);
++ name,name);
+ goto err;
+ }
+
while (true) {
auto fileline = mysql_file_getline(buff, sizeof(buff), fp, is_login_file);
char *linebuff = fileline.get();
-@@ -1300,7 +1308,8 @@ void my_print_default_files(const char *conf_file) {
+@@ -1315,7 +1323,8 @@ void my_print_default_files(const char *conf_file) {
end[(strlen(end) - 1)] = ' ';
else
strxmov(end, conf_file, *ext, " ", NullS);
- fputs(name, stdout);
-+ if (strstr(name, "/etc") != name)
-+ fputs(name, stdout);
++ if (strstr(name, "/etc") != name)
++ fputs(name, stdout);
}
}
}
-@@ -1640,14 +1649,9 @@ static const char **init_default_directories(MEM_ROOT
+@@ -1655,14 +1664,9 @@ static const char **init_default_directories(MEM_ROOT
#else
@@ -51,12 +51,12 @@
#endif
if ((env = getenv("MYSQL_HOME"))) errors += add_directory(alloc, env, dirs);
-@@ -1710,7 +1714,7 @@ int check_file_permissions(const char *file_name, bool
+@@ -1727,7 +1731,7 @@ int check_file_permissions(const char *file_name, bool
#if !defined(_WIN32)
MY_STAT stat_info;
-- if (!my_stat(file_name, &stat_info, MYF(0))) return 1;
-+ if (!my_stat(file_name, &stat_info, MYF(0))) return 0;
+- if (!my_stat(file_name, &stat_info, flags)) return 1;
++ if (!my_stat(file_name, &stat_info, flags)) return 0;
/*
Ignore .mylogin.cnf file if not exclusively readable/writable
by current user.
diff --git a/databases/mysql80-server/files/patch-plugin_group__replication_libmysqlgcs_src_bindings_xcom_xcom_xcom__ssl__transport.c b/databases/mysql80-server/files/patch-plugin_group__replication_libmysqlgcs_src_bindings_xcom_xcom_xcom__ssl__transport.c
deleted file mode 100644
index 9dcdca8bd775..000000000000
--- a/databases/mysql80-server/files/patch-plugin_group__replication_libmysqlgcs_src_bindings_xcom_xcom_xcom__ssl__transport.c
+++ /dev/null
@@ -1,94 +0,0 @@
---- plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc.orig 2019-09-20 08:30:51 UTC
-+++ plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc
-@@ -175,7 +175,7 @@ SSL_CTX *client_ctx = NULL;
- static long process_tls_version(const char *tls_version) {
- const char *separator = ", ";
- char *token = NULL;
--#ifdef HAVE_TLSv13
-+#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER)
- const char *tls_version_name_list[] = {"TLSv1", "TLSv1.1", "TLSv1.2",
- "TLSv1.3"};
- #else
-@@ -184,7 +184,7 @@ static long process_tls_version(const char *tls_versio
- #define TLS_VERSIONS_COUNTS \
- (sizeof(tls_version_name_list) / sizeof(*tls_version_name_list))
- unsigned int tls_versions_count = TLS_VERSIONS_COUNTS;
--#ifdef HAVE_TLSv13
-+#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER)
- const long tls_ctx_list[TLS_VERSIONS_COUNTS] = {
- SSL_OP_NO_TLSv1, SSL_OP_NO_TLSv1_1, SSL_OP_NO_TLSv1_2, SSL_OP_NO_TLSv1_3};
- const char *ctx_flag_default = "TLSv1,TLSv1.1,TLSv1.2,TLSv1.3";
-@@ -240,7 +240,7 @@ static int configure_ssl_algorithms(
- long ssl_ctx_options = SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3;
- char cipher_list[SSL_CIPHER_LIST_SIZE] = {0};
- long ssl_ctx_flags = -1;
--#ifdef HAVE_TLSv13
-+#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER)
- int tlsv1_3_enabled = 0;
- #endif /* HAVE_TLSv13 */
-
-@@ -253,7 +253,7 @@ static int configure_ssl_algorithms(
- goto error;
- }
-
--#ifdef HAVE_TLSv13
-+#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER)
- ssl_ctx_options = (ssl_ctx_options | ssl_ctx_flags) &
- (SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 | SSL_OP_NO_TLSv1 |
- SSL_OP_NO_TLSv1_1 | SSL_OP_NO_TLSv1_2 | SSL_OP_NO_TLSv1_3);
-@@ -265,7 +265,7 @@ static int configure_ssl_algorithms(
-
- SSL_CTX_set_options(ssl_ctx, ssl_ctx_options);
-
--#ifdef HAVE_TLSv13
-+#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER)
- tlsv1_3_enabled = ((ssl_ctx_options & SSL_OP_NO_TLSv1_3) == 0);
- if (tlsv1_3_enabled) {
- /* Set OpenSSL TLS v1.3 ciphersuites.
-@@ -325,6 +325,7 @@ error:
- return 1;
- }
-
-+#ifndef LIBRESSL_VERSION_NUMBER
- #define OPENSSL_ERROR_LENGTH 512
- static int configure_ssl_fips_mode(const uint fips_mode) {
- int rc = -1;
-@@ -348,6 +349,7 @@ static int configure_ssl_fips_mode(const uint fips_mod
- EXIT:
- return rc;
- }
-+#endif
-
- static int configure_ssl_ca(SSL_CTX *ssl_ctx, const char *ca_file,
- const char *ca_path) {
-@@ -544,10 +546,12 @@ int xcom_init_ssl(const char *server_key_file, const c
- int verify_server = SSL_VERIFY_NONE;
- int verify_client = SSL_VERIFY_NONE;
-
-+#ifndef LIBRESSL_VERSION_NUMBER
- if (configure_ssl_fips_mode(ssl_fips_mode) != 1) {
- G_ERROR("Error setting the ssl fips mode");
- goto error;
- }
-+#endif
-
- SSL_library_init();
- SSL_load_error_strings();
-@@ -563,7 +567,7 @@ int xcom_init_ssl(const char *server_key_file, const c
- }
-
- G_DEBUG("Configuring SSL for the server")
--#ifdef HAVE_TLSv13
-+#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER)
- server_ctx = SSL_CTX_new(TLS_server_method());
- #else
- server_ctx = SSL_CTX_new(SSLv23_server_method());
-@@ -582,7 +586,7 @@ int xcom_init_ssl(const char *server_key_file, const c
- SSL_CTX_set_verify(server_ctx, verify_server, NULL);
-
- G_DEBUG("Configuring SSL for the client")
--#ifdef HAVE_TLSv13
-+#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER)
- client_ctx = SSL_CTX_new(TLS_client_method());
- #else
- client_ctx = SSL_CTX_new(SSLv23_client_method());
diff --git a/databases/mysql80-server/files/patch-router_src_harness_src_tls__context.cc b/databases/mysql80-server/files/patch-router_src_harness_src_tls__context.cc
index 9b53b3aae974..2d5ba1470260 100644
--- a/databases/mysql80-server/files/patch-router_src_harness_src_tls__context.cc
+++ b/databases/mysql80-server/files/patch-router_src_harness_src_tls__context.cc
@@ -1,6 +1,6 @@
---- router/src/harness/src/tls_context.cc.orig 2019-09-20 08:30:51 UTC
-+++ router/src/harness/src/tls_context.cc
-@@ -91,7 +91,7 @@ static constexpr int o11x_version(TlsVersion version)
+--- router/src/harness/src/tls_context.cc.orig 2021-11-04 17:14:44.779135000 +0100
++++ router/src/harness/src/tls_context.cc 2021-11-04 17:35:31.121070000 +0100
+@@ -241,7 +241,7 @@ static int o11x_version(TlsVersion version) {
return TLS1_1_VERSION;
case TlsVersion::TLS_1_2:
return TLS1_2_VERSION;
@@ -9,19 +9,19 @@
case TlsVersion::TLS_1_3:
return TLS1_3_VERSION;
#endif
-@@ -121,9 +121,11 @@ void TlsContext::version_range(TlsVersion min_version,
+@@ -272,9 +272,11 @@ stdx::expected<void, std::error_code> TlsContext::vers
default:
// unknown, leave all disabled
- // fallthrough
+ [[fallthrough]];
+#ifdef TLS1_3_VERSION
case TlsVersion::TLS_1_3:
opts |= SSL_OP_NO_TLSv1_2;
- // fallthrough
+ [[fallthrough]];
+#endif
case TlsVersion::TLS_1_2:
opts |= SSL_OP_NO_TLSv1_1;
- // fallthrough
-@@ -170,8 +172,10 @@ TlsVersion TlsContext::min_version() const {
+ [[fallthrough]];
+@@ -322,8 +324,10 @@ TlsVersion TlsContext::min_version() const {
return TlsVersion::TLS_1_1;
case TLS1_2_VERSION:
return TlsVersion::TLS_1_2;
@@ -32,7 +32,7 @@
case 0:
return TlsVersion::AUTO;
default:
-@@ -230,7 +234,8 @@ TlsContext::InfoCallback TlsContext::info_callback() c
+@@ -382,7 +386,8 @@ TlsContext::InfoCallback TlsContext::info_callback() c
}
int TlsContext::security_level() const {
diff --git a/databases/mysql80-server/files/patch-scripts_CMakeLists.txt b/databases/mysql80-server/files/patch-scripts_CMakeLists.txt
index 19e53914846e..976c2397e16d 100644
--- a/databases/mysql80-server/files/patch-scripts_CMakeLists.txt
+++ b/databases/mysql80-server/files/patch-scripts_CMakeLists.txt
@@ -1,24 +1,15 @@
---- scripts/CMakeLists.txt.orig 2019-09-20 08:30:51 UTC
-+++ scripts/CMakeLists.txt
-@@ -330,7 +330,7 @@ MACRO(EXTRACT_LINK_LIBRARIES target var)
- LIST(REMOVE_DUPLICATES ${target}_LIB_DEPENDS)
- FOREACH(lib ${${target}_LIB_DEPENDS})
- # Filter out "general", it is not a library, just CMake hint
-- IF(NOT lib STREQUAL "general" AND NOT ${var} MATCHES "-l${lib} ")
-+ IF(NOT lib STREQUAL "general" AND NOT ${var} MATCHES "-l${lib} " AND NOT lib STREQUAL "imported_openssl" AND NOT lib STREQUAL "imported_crypto")
- IF (lib MATCHES "^\\-l")
- SET(${var} "${${var}} ${lib} ")
- ELSEIF (lib MATCHES "^\\-L")
-@@ -340,6 +340,8 @@ MACRO(EXTRACT_LINK_LIBRARIES target var)
- GET_FILENAME_COMPONENT(lib "${lib}" NAME_WE)
- STRING(REGEX REPLACE "^lib" "" lib "${lib}")
- SET(${var} "${${var}}-l${lib} " )
+--- scripts/CMakeLists.txt.orig 2021-11-04 17:42:29.686664000 +0100
++++ scripts/CMakeLists.txt 2021-11-04 17:57:49.957200000 +0100
+@@ -323,6 +323,8 @@ MACRO(EXTRACT_LINK_LIBRARIES target var)
+ GET_FILENAME_COMPONENT(lib "${lib}" NAME_WE)
+ STRING(REGEX REPLACE "^lib" "" lib "${lib}")
+ SET(${var} "${${var}}-l${lib} " )
+ ELSEIF(lib STREQUAL "-pthread")
+ SET(${var} "${${var}}-pthread " )
- ELSE()
- SET(${var} "${${var}}-l${lib} " )
- ENDIF()
-@@ -414,7 +416,7 @@ ELSE()
+ ELSE()
+ SET(${var} "${${var}}-l${lib} " )
+ ENDIF()
+@@ -396,7 +398,7 @@ ELSE()
${CMAKE_CURRENT_BINARY_DIR}/${PKGCONFIG_FILE}
ESCAPE_QUOTES @ONLY)
@@ -27,7 +18,7 @@
MESSAGE(STATUS "INSTALL ${PKGCONFIG_FILE} ${INSTALL_PKGCONFIGDIR}")
INSTALL(FILES
${CMAKE_CURRENT_BINARY_DIR}/${PKGCONFIG_FILE}
-@@ -427,23 +429,28 @@ ELSE()
+@@ -409,23 +411,28 @@ ELSE()
# mysqld_safe used in mtr even for systemd platforms
IF(WITH_SYSTEMD)
SET(BIN_SCRIPTS
diff --git a/databases/mysql80-server/files/patch-storage_innobase_include_detail_ut_large__page__alloc-linux.h b/databases/mysql80-server/files/patch-storage_innobase_include_detail_ut_large__page__alloc-linux.h
new file mode 100644
index 000000000000..5297a5023741
--- /dev/null
+++ b/databases/mysql80-server/files/patch-storage_innobase_include_detail_ut_large__page__alloc-linux.h
@@ -0,0 +1,11 @@
+--- storage/innobase/include/detail/ut/large_page_alloc-linux.h.orig 2021-09-28 11:46:34 UTC
++++ storage/innobase/include/detail/ut/large_page_alloc-linux.h
+@@ -50,7 +50,7 @@ inline void *large_page_aligned_alloc(size_t n_bytes)
+ // mmap will internally round n_bytes to the multiple of huge-page size if it
+ // is not already
+ void *ptr = mmap(nullptr, n_bytes, PROT_READ | PROT_WRITE,
+- MAP_PRIVATE | MAP_ANON | MAP_HUGETLB, -1, 0);
++ MAP_PRIVATE | MAP_ANON, -1, 0);
+ return (ptr != (void *)-1) ? ptr : nullptr;
+ }
+
diff --git a/databases/mysql80-server/files/patch-vio_viosslfactories.cc b/databases/mysql80-server/files/patch-vio_viosslfactories.cc
index 6c0f821e8911..8c88903163ee 100644
--- a/databases/mysql80-server/files/patch-vio_viosslfactories.cc
+++ b/databases/mysql80-server/files/patch-vio_viosslfactories.cc
@@ -1,5 +1,5 @@
---- vio/viosslfactories.cc.orig 2019-09-20 08:30:51 UTC
-+++ vio/viosslfactories.cc
+--- vio/viosslfactories.cc.orig 2021-11-04 18:02:40.921064000 +0100
++++ vio/viosslfactories.cc 2021-11-04 18:15:24.992676000 +0100
@@ -40,6 +40,7 @@
#include "vio/vio_priv.h"
@@ -16,13 +16,15 @@
/**
Set fips mode in openssl library,
When we set fips mode ON/STRICT, it will perform following operations:
-@@ -525,12 +527,13 @@ EXIT:
+@@ -525,6 +527,7 @@ EXIT:
@returns openssl current fips mode
*/
uint get_fips_mode() { return FIPS_mode(); }
+#endif
- long process_tls_version(const char *tls_version) {
+ /**
+ Toggle FIPS mode, to see whether it is available with the current SSL library.
+@@ -545,7 +548,7 @@ long process_tls_version(const char *tls_version) {
const char *separator = ",";
char *token, *lasts = nullptr;
@@ -31,7 +33,7 @@
const char *tls_version_name_list[] = {"TLSv1", "TLSv1.1", "TLSv1.2",
"TLSv1.3"};
const char ctx_flag_default[] = "TLSv1,TLSv1.1,TLSv1.2,TLSv1.3";
-@@ -609,7 +612,7 @@ static struct st_VioSSLFd *new_VioSSLFd(
+@@ -624,7 +627,7 @@ static struct st_VioSSLFd *new_VioSSLFd(
ssl_ctx_options = (ssl_ctx_options | ssl_ctx_flags) &
(SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 | SSL_OP_NO_TLSv1 |
SSL_OP_NO_TLSv1_1 | SSL_OP_NO_TLSv1_2
@@ -40,7 +42,7 @@
| SSL_OP_NO_TLSv1_3
#endif /* HAVE_TLSv13 */
| SSL_OP_NO_TICKET);
-@@ -618,7 +621,7 @@ static struct st_VioSSLFd *new_VioSSLFd(
+@@ -633,7 +636,7 @@ static struct st_VioSSLFd *new_VioSSLFd(
return nullptr;
if (!(ssl_fd->ssl_context = SSL_CTX_new(is_client ?
@@ -49,7 +51,7 @@
TLS_client_method()
: TLS_server_method()
#else /* HAVE_TLSv13 */
-@@ -633,7 +636,7 @@ static struct st_VioSSLFd *new_VioSSLFd(
+@@ -648,7 +651,7 @@ static struct st_VioSSLFd *new_VioSSLFd(
return nullptr;
}
diff --git a/databases/mysql80-server/pkg-plist b/databases/mysql80-server/pkg-plist
index 880259841bf0..3410b5358397 100644
--- a/databases/mysql80-server/pkg-plist
+++ b/databases/mysql80-server/pkg-plist
@@ -9,8 +9,6 @@ bin/myisampack
bin/mysqldumpslow
bin/mysql_client_test
bin/mysql_keyring_encryption_test
-bin/mysql_secure_installation
-bin/mysql_ssl_rsa_setup
bin/mysql_tzinfo_to_sql
bin/mysql_upgrade
bin/mysqld_multi