diff -ruN mysql80-server.orig/Makefile mysql80-server/Makefile --- mysql80-server.orig/Makefile 2022-01-18 04:08:23.996950000 +0200 +++ mysql80-server/Makefile 2022-01-18 03:54:54.452481000 +0200 @@ -1,7 +1,7 @@ # Created by: Mahdi Mokhtari PORTNAME?= mysql -PORTVERSION= 8.0.27 +PORTVERSION= 8.0.28 PORTREVISION?= 0 CATEGORIES= databases MASTER_SITES= MYSQL/MySQL-8.0 @@ -86,7 +86,8 @@ -DWITH_PROTOBUF=system \ -DWITH_SSL=system \ -DBUILD_BUNDLED_ZLIB=0 \ - -DBUILD_BUNDLED_LZ4=0 + -DBUILD_BUNDLED_LZ4=0 \ + -DWITH_FIDO=bundled # The Mroonga, RocksDB, and TokuDB storage engines are disabled. # Mroonga is only buildable on little endian archs. diff -ruN mysql80-server.orig/distinfo mysql80-server/distinfo --- mysql80-server.orig/distinfo 2022-01-18 04:08:23.996971000 +0200 +++ mysql80-server/distinfo 2022-01-18 02:07:03.127067000 +0200 @@ -1,3 +1,3 @@ -TIMESTAMP = 1635786797 -SHA256 (mysql-boost-8.0.27.tar.gz) = 74b5bc6ff88fe225560174a24b7d5ff139f4c17271c43000dbcf3dcc9507b3f9 -SIZE (mysql-boost-8.0.27.tar.gz) = 292184025 +TIMESTAMP = 1642464423 +SHA256 (mysql-boost-8.0.28.tar.gz) = 6dd0303998e70066d36905bd8fef1c01228ea182dbfbabc6c22ebacdbf8b5941 +SIZE (mysql-boost-8.0.28.tar.gz) = 298044027 diff -ruN mysql80-server.orig/files/extra-patch-config.h.cmake mysql80-server/files/extra-patch-config.h.cmake --- mysql80-server.orig/files/extra-patch-config.h.cmake 2022-01-18 04:08:23.997004000 +0200 +++ mysql80-server/files/extra-patch-config.h.cmake 1970-01-01 02:00:00.000000000 +0200 @@ -1,12 +0,0 @@ ---- config.h.cmake.orig 2014-12-05 16:24:02 UTC -+++ config.h.cmake -@@ -151,7 +151,8 @@ - #cmakedefine HAVE_FESETROUND 1 - #cmakedefine HAVE_FINITE 1 - #cmakedefine HAVE_FP_EXCEPT 1 --#cmakedefine HAVE_FPSETMASK 1 -+#cmakedefine HAVE_FPSETMASK 0 -+#cmakedefine HAVE_FEDISABLEEXCEPT 1 - #cmakedefine HAVE_FSEEKO 1 - #cmakedefine HAVE_FSYNC 1 - #cmakedefine HAVE_FTIME 1 diff -ruN mysql80-server.orig/files/patch-CMakeLists.txt mysql80-server/files/patch-CMakeLists.txt --- mysql80-server.orig/files/patch-CMakeLists.txt 2022-01-18 04:08:23.997082000 +0200 +++ mysql80-server/files/patch-CMakeLists.txt 2022-01-18 02:51:32.972120000 +0200 @@ -1,6 +1,6 @@ ---- CMakeLists.txt.orig 2021-09-28 11:46:34 UTC +--- CMakeLists.txt.orig 2021-12-17 16:07:27 UTC +++ CMakeLists.txt -@@ -1647,7 +1647,7 @@ IF(LINUX AND KNOWN_CUSTOM_LIBRARIES) +@@ -1665,7 +1665,7 @@ IF(LINUX AND KNOWN_CUSTOM_LIBRARIES) ENDIF() IF(WITH_AUTHENTICATION_LDAP) @@ -9,7 +9,7 @@ # 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) +@@ -1714,10 +1714,10 @@ IF(WITH_AUTHENTICATION_KERBEROS) ENDIF() ENDIF() @@ -23,9 +23,9 @@ # Add lz4 library MYSQL_CHECK_LZ4() # Add icu library -@@ -1869,7 +1869,9 @@ OPTION(WITH_HYPERGRAPH_OPTIMIZER - ${WITH_HYPERGRAPH_OPTIMIZER_DEFAULT} - ) +@@ -1917,7 +1917,9 @@ ADD_CUSTOM_TARGET(plugin_all) + # Utility target to build every target added with MYSQL_ADD_COMPONENT. + ADD_CUSTOM_TARGET(component_all) -ADD_SUBDIRECTORY(include) +IF(NOT WITHOUT_CLIENTLIBS) @@ -34,7 +34,7 @@ ADD_SUBDIRECTORY(strings) ADD_SUBDIRECTORY(vio) ADD_SUBDIRECTORY(mysys) -@@ -1913,12 +1915,17 @@ IF(WITH_UNIT_TESTS) +@@ -1962,12 +1964,17 @@ IF(WITH_UNIT_TESTS) ADD_SUBDIRECTORY(unittest/mytap/t) ENDIF() @@ -54,7 +54,7 @@ ADD_SUBDIRECTORY(testclients) ADD_SUBDIRECTORY(sql) ENDIF() -@@ -1971,11 +1978,11 @@ ENDIF() +@@ -2020,11 +2027,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) @@ -67,7 +67,7 @@ IF(WITH_INTERNAL) ADD_SUBDIRECTORY(internal) ENDIF() -@@ -2084,6 +2091,7 @@ IF(PACK_SEPARATE_COMPONENTS) +@@ -2134,6 +2141,7 @@ IF(PACK_SEPARATE_COMPONENTS) SET(CPACK_COMPONENTS_GROUPING IGNORE) ENDIF() @@ -75,7 +75,7 @@ IF(UNIX) INSTALL(FILES Docs/mysql.info -@@ -2118,6 +2126,7 @@ IF(NOT INSTALL_LAYOUT MATCHES "RPM") +@@ -2168,6 +2176,7 @@ IF(NOT INSTALL_LAYOUT MATCHES "RPM") PATTERN "sp-imp-spec.txt" EXCLUDE PATTERN "README.build" EXCLUDE ) diff -ruN mysql80-server.orig/files/patch-client_CMakeLists.txt mysql80-server/files/patch-client_CMakeLists.txt --- mysql80-server.orig/files/patch-client_CMakeLists.txt 2022-01-18 04:08:23.997109000 +0200 +++ mysql80-server/files/patch-client_CMakeLists.txt 2022-01-18 02:51:32.973249000 +0200 @@ -1,4 +1,4 @@ ---- client/CMakeLists.txt.orig 2021-09-28 11:46:34 UTC +--- client/CMakeLists.txt.orig 2021-12-17 16:07:27 UTC +++ client/CMakeLists.txt @@ -28,10 +28,13 @@ DISABLE_MISSING_PROFILE_WARNING() ## Subdirectory with common client code. diff -ruN mysql80-server.orig/files/patch-cmake_install__layout.cmake mysql80-server/files/patch-cmake_install__layout.cmake --- mysql80-server.orig/files/patch-cmake_install__layout.cmake 1970-01-01 02:00:00.000000000 +0200 +++ mysql80-server/files/patch-cmake_install__layout.cmake 2022-01-18 02:51:32.974363000 +0200 @@ -0,0 +1,95 @@ +--- cmake/install_layout.cmake.orig 2021-12-17 16:07:27 UTC ++++ cmake/install_layout.cmake +@@ -41,6 +41,10 @@ + # Build with prefix=/usr/local/mysql, create tarball with install prefix="." + # and relative links. + # ++# FREEBSD ++# Build with prefix=/usr/local, create tarball with install prefix="." ++# and relative links. ++# + # To force a directory layout, use -DINSTALL_LAYOUT=. + # + # The default is STANDALONE. +@@ -80,7 +84,7 @@ IF(NOT INSTALL_LAYOUT) + ENDIF() + + SET(INSTALL_LAYOUT "${DEFAULT_INSTALL_LAYOUT}" +- CACHE STRING "Installation directory layout. Options are: TARGZ (as in tar.gz installer), STANDALONE, RPM, DEB, SVR4" ++ CACHE STRING "Installation directory layout. Options are: TARGZ (as in tar.gz installer), STANDALONE, FREEBSD, RPM, DEB, SVR4" + ) + + IF(UNIX) +@@ -98,7 +102,7 @@ IF(UNIX) + CACHE PATH "install prefix" FORCE) + ENDIF() + SET(VALID_INSTALL_LAYOUTS +- "RPM" "DEB" "SVR4" "TARGZ" "STANDALONE") ++ "RPM" "DEB" "SVR4" "TARGZ" "FREEBSD" "STANDALONE") + LIST(FIND VALID_INSTALL_LAYOUTS "${INSTALL_LAYOUT}" ind) + IF(ind EQUAL -1) + MESSAGE(FATAL_ERROR "Invalid INSTALL_LAYOUT parameter:${INSTALL_LAYOUT}." +@@ -167,6 +171,32 @@ SET(INSTALL_MYSQLKEYRINGDIR_STANDALONE "keyring") + SET(INSTALL_SECURE_FILE_PRIVDIR_STANDALONE ${secure_file_priv_path}) + + # ++# FREEBSD layout ++# ++SET(INSTALL_BINDIR_FREEBSD "bin") ++SET(INSTALL_SBINDIR_FREEBSD "bin") ++# ++SET(INSTALL_LIBDIR_FREEBSD "lib") ++SET(INSTALL_PRIV_LIBDIR_FREEBSD "lib/private") ++SET(INSTALL_PLUGINDIR_FREEBSD "lib/plugin") ++# ++SET(INSTALL_INCLUDEDIR_FREEBSD "include") ++# ++SET(INSTALL_DOCDIR_FREEBSD "docs") ++SET(INSTALL_DOCREADMEDIR_FREEBSD ".") ++SET(INSTALL_MANDIR_FREEBSD "man") ++SET(INSTALL_INFODIR_FREEBSD "docs") ++# ++SET(INSTALL_SHAREDIR_FREEBSD "share") ++SET(INSTALL_MYSQLSHAREDIR_FREEBSD "share") ++SET(INSTALL_MYSQLTESTDIR_FREEBSD "mysql-test") ++SET(INSTALL_SUPPORTFILESDIR_FREEBSD "support-files") ++# ++SET(INSTALL_MYSQLDATADIR_FREEBSD "data") ++SET(INSTALL_MYSQLKEYRINGDIR_FREEBSD "keyring") ++SET(INSTALL_SECURE_FILE_PRIVDIR_FREEBSD ${secure_file_priv_path}) ++ ++# + # TARGZ layout + # + SET(INSTALL_BINDIR_TARGZ "bin") +@@ -361,7 +391,7 @@ ENDIF() + SET(ROUTER_INSTALL_LAYOUT "${DEFAULT_ROUTER_INSTALL_LAYOUT}" + CACHE + STRING +- "Installation directory layout. Options are: STANDALONE RPM DEB SVR4 TARGZ") ++ "Installation directory layout. Options are: STANDALONE FREEBSD RPM DEB SVR4 TARGZ") + + # If we are shared STANDALONE with the the server, we shouldn't write + # into the server's data/ as that would create a "schemadir" in +@@ -405,6 +435,21 @@ FOREACH(var + ) + SET(ROUTER_INSTALL_${var}DIR_TARGZ ${ROUTER_INSTALL_${var}DIR_STANDALONE}) + ENDFOREACH() ++ ++# ++# FreeBSD layout ++# ++SET(ROUTER_INSTALL_CONFIGDIR_FREEBSD "/usr/local/etc/mysqlrouter") ++SET(ROUTER_INSTALL_DATADIR_FREEBSD "/var/db/mysqlrouter") ++SET(ROUTER_INSTALL_LOGDIR_FREEBSD "/var/log/mysqlrouter") ++SET(ROUTER_INSTALL_RUNTIMEDIR_FREEBSD "/var/run/mysqlrouter") ++ ++SET(ROUTER_INSTALL_BINDIR_FREEBSD "bin") ++SET(ROUTER_INSTALL_LIBDIR_FREEBSD "lib/mysql") ++SET(ROUTER_INSTALL_PLUGINDIR_FREEBSD "lib/mysql/mysqlrouter") ++SET(ROUTER_INSTALL_LOGROTATEDIR_FREEBSD "etc/logrotate.d") ++SET(ROUTER_INSTALL_LOGROTATEFILE_FREEBSD "mysqlrouter") ++SET(ROUTER_INSTALL_DOCDIR_FREEBSD "share/mysqlrouter/docs") + + FOREACH(var + LOGROTATE diff -ruN mysql80-server.orig/files/patch-cmake_install_layout.cmake mysql80-server/files/patch-cmake_install_layout.cmake --- mysql80-server.orig/files/patch-cmake_install_layout.cmake 2022-01-18 04:08:23.997137000 +0200 +++ mysql80-server/files/patch-cmake_install_layout.cmake 1970-01-01 02:00:00.000000000 +0200 @@ -1,95 +0,0 @@ ---- cmake/install_layout.cmake.orig 2019-12-09 19:53:17 UTC -+++ cmake/install_layout.cmake -@@ -41,6 +41,10 @@ - # Build with prefix=/usr/local/mysql, create tarball with install prefix="." - # and relative links. - # -+# FREEBSD -+# Build with prefix=/usr/local, create tarball with install prefix="." -+# and relative links. -+# - # To force a directory layout, use -DINSTALL_LAYOUT=. - # - # The default is STANDALONE. -@@ -80,7 +84,7 @@ IF(NOT INSTALL_LAYOUT) - ENDIF() - - SET(INSTALL_LAYOUT "${DEFAULT_INSTALL_LAYOUT}" -- CACHE STRING "Installation directory layout. Options are: TARGZ (as in tar.gz installer), STANDALONE, RPM, DEB, SVR4" -+ CACHE STRING "Installation directory layout. Options are: TARGZ (as in tar.gz installer), STANDALONE, FREEBSD, RPM, DEB, SVR4" - ) - - IF(UNIX) -@@ -98,7 +102,7 @@ IF(UNIX) - CACHE PATH "install prefix" FORCE) - ENDIF() - SET(VALID_INSTALL_LAYOUTS -- "RPM" "DEB" "SVR4" "TARGZ" "STANDALONE") -+ "RPM" "DEB" "SVR4" "TARGZ" "FREEBSD" "STANDALONE") - LIST(FIND VALID_INSTALL_LAYOUTS "${INSTALL_LAYOUT}" ind) - IF(ind EQUAL -1) - MESSAGE(FATAL_ERROR "Invalid INSTALL_LAYOUT parameter:${INSTALL_LAYOUT}." -@@ -167,6 +171,32 @@ SET(INSTALL_MYSQLKEYRINGDIR_STANDALONE "keyring") - SET(INSTALL_SECURE_FILE_PRIVDIR_STANDALONE ${secure_file_priv_path}) - - # -+# FREEBSD layout -+# -+SET(INSTALL_BINDIR_FREEBSD "bin") -+SET(INSTALL_SBINDIR_FREEBSD "bin") -+# -+SET(INSTALL_LIBDIR_FREEBSD "lib") -+SET(INSTALL_PRIV_LIBDIR_FREEBSD "lib/private") -+SET(INSTALL_PLUGINDIR_FREEBSD "lib/plugin") -+# -+SET(INSTALL_INCLUDEDIR_FREEBSD "include") -+# -+SET(INSTALL_DOCDIR_FREEBSD "docs") -+SET(INSTALL_DOCREADMEDIR_FREEBSD ".") -+SET(INSTALL_MANDIR_FREEBSD "man") -+SET(INSTALL_INFODIR_FREEBSD "docs") -+# -+SET(INSTALL_SHAREDIR_FREEBSD "share") -+SET(INSTALL_MYSQLSHAREDIR_FREEBSD "share") -+SET(INSTALL_MYSQLTESTDIR_FREEBSD "mysql-test") -+SET(INSTALL_SUPPORTFILESDIR_FREEBSD "support-files") -+# -+SET(INSTALL_MYSQLDATADIR_FREEBSD "data") -+SET(INSTALL_MYSQLKEYRINGDIR_FREEBSD "keyring") -+SET(INSTALL_SECURE_FILE_PRIVDIR_FREEBSD ${secure_file_priv_path}) -+ -+# - # TARGZ layout - # - SET(INSTALL_BINDIR_TARGZ "bin") -@@ -361,7 +391,7 @@ ENDIF() - SET(ROUTER_INSTALL_LAYOUT "${DEFAULT_ROUTER_INSTALL_LAYOUT}" - CACHE - STRING -- "Installation directory layout. Options are: STANDALONE RPM DEB SVR4 TARGZ") -+ "Installation directory layout. Options are: STANDALONE FREEBSD RPM DEB SVR4 TARGZ") - - # If we are shared STANDALONE with the the server, we shouldn't write - # into the server's data/ as that would create a "schemadir" in -@@ -405,6 +435,21 @@ FOREACH(var - ) - SET(ROUTER_INSTALL_${var}DIR_TARGZ ${ROUTER_INSTALL_${var}DIR_STANDALONE}) - ENDFOREACH() -+ -+# -+# FreeBSD layout -+# -+SET(ROUTER_INSTALL_CONFIGDIR_FREEBSD "/usr/local/etc/mysqlrouter") -+SET(ROUTER_INSTALL_DATADIR_FREEBSD "/var/db/mysqlrouter") -+SET(ROUTER_INSTALL_LOGDIR_FREEBSD "/var/log/mysqlrouter") -+SET(ROUTER_INSTALL_RUNTIMEDIR_FREEBSD "/var/run/mysqlrouter") -+ -+SET(ROUTER_INSTALL_BINDIR_FREEBSD "bin") -+SET(ROUTER_INSTALL_LIBDIR_FREEBSD "lib/mysql") -+SET(ROUTER_INSTALL_PLUGINDIR_FREEBSD "lib/mysql/mysqlrouter") -+SET(ROUTER_INSTALL_LOGROTATEDIR_FREEBSD "etc/logrotate.d") -+SET(ROUTER_INSTALL_LOGROTATEFILE_FREEBSD "mysqlrouter") -+SET(ROUTER_INSTALL_DOCDIR_FREEBSD "share/mysqlrouter/docs") - - FOREACH(var - LOGROTATE diff -ruN mysql80-server.orig/files/patch-cmake_os_DragonFly.cmake mysql80-server/files/patch-cmake_os_DragonFly.cmake --- mysql80-server.orig/files/patch-cmake_os_DragonFly.cmake 2022-01-18 04:08:23.997158000 +0200 +++ mysql80-server/files/patch-cmake_os_DragonFly.cmake 2022-01-18 02:51:32.975466000 +0200 @@ -1,4 +1,4 @@ ---- cmake/os/DragonFly.cmake.orig 2016-04-14 10:16:17 UTC +--- cmake/os/DragonFly.cmake.orig 2022-01-18 00:38:55 UTC +++ cmake/os/DragonFly.cmake @@ -0,0 +1,24 @@ +INCLUDE(CheckCSourceRuns) diff -ruN mysql80-server.orig/files/patch-cmake_os_FreeBSD.cmake mysql80-server/files/patch-cmake_os_FreeBSD.cmake --- mysql80-server.orig/files/patch-cmake_os_FreeBSD.cmake 2022-01-18 04:08:23.997178000 +0200 +++ mysql80-server/files/patch-cmake_os_FreeBSD.cmake 2022-01-18 02:51:32.976582000 +0200 @@ -1,8 +1,8 @@ ---- cmake/os/FreeBSD.cmake.orig 2019-09-20 08:30:51 UTC +--- cmake/os/FreeBSD.cmake.orig 2021-12-17 16:07:27 UTC +++ cmake/os/FreeBSD.cmake -@@ -45,8 +45,20 @@ IF(NOT FORCE_UNSUPPORTED_COMPILER) - MESSAGE(FATAL_ERROR - "GCC 5.3 or newer is required (-dumpversion says ${GCC_VERSION})") +@@ -48,8 +48,20 @@ IF(NOT FORCE_UNSUPPORTED_COMPILER) + IF(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.1) + MESSAGE(FATAL_ERROR "GCC 7.1 or newer is required") ENDIF() - ELSE() - MESSAGE(FATAL_ERROR "Unsupported compiler!") diff -ruN mysql80-server.orig/files/patch-cmake_plugin.cmake mysql80-server/files/patch-cmake_plugin.cmake --- mysql80-server.orig/files/patch-cmake_plugin.cmake 2022-01-18 04:08:23.997198000 +0200 +++ mysql80-server/files/patch-cmake_plugin.cmake 2022-01-18 02:51:32.977687000 +0200 @@ -1,6 +1,6 @@ ---- cmake/plugin.cmake.orig 2019-09-20 08:30:51 UTC +--- cmake/plugin.cmake.orig 2021-12-17 16:07:27 UTC +++ cmake/plugin.cmake -@@ -230,15 +230,15 @@ MACRO(MYSQL_ADD_PLUGIN plugin_arg) +@@ -247,15 +247,15 @@ MACRO(MYSQL_ADD_PLUGIN plugin_arg) # For testing purposes, we need # <...>/lib/plugin/debug/authentication_ldap_sasl_client.so diff -ruN mysql80-server.orig/files/patch-cmake_ssl.cmake mysql80-server/files/patch-cmake_ssl.cmake --- mysql80-server.orig/files/patch-cmake_ssl.cmake 2022-01-18 04:08:23.997218000 +0200 +++ mysql80-server/files/patch-cmake_ssl.cmake 1970-01-01 02:00:00.000000000 +0200 @@ -1,29 +0,0 @@ ---- cmake/ssl.cmake.orig 2019-09-20 08:30:51 UTC -+++ cmake/ssl.cmake -@@ -199,7 +199,7 @@ MACRO (MYSQL_CHECK_SSL) - # Encoded as MNNFFPPS: major minor fix patch status - FILE(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h" - OPENSSL_VERSION_NUMBER -- REGEX "^#[ ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9].*" -+ REGEX "^#[\t ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9].*" - ) - STRING(REGEX REPLACE - "^.*OPENSSL_VERSION_NUMBER[\t ]+0x([0-9]).*$" "\\1" -@@ -222,13 +222,14 @@ MACRO (MYSQL_CHECK_SSL) - OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}" - ) - ENDIF() -- IF("${OPENSSL_MAJOR_VERSION}.${OPENSSL_MINOR_VERSION}.${OPENSSL_FIX_VERSION}" VERSION_GREATER "1.1.0") -- ADD_DEFINITIONS(-DHAVE_TLSv13) -+ CHECK_SYMBOL_EXISTS(TLS1_3_VERSION "openssl/tls1.h" HAVE_TLS1_3_VERSION) -+ IF(HAVE_TLS1_3_VERSION) -+ #ADD_DEFINITIONS(-DHAVE_TLSv13) - ENDIF() - IF(OPENSSL_INCLUDE_DIR AND - OPENSSL_LIBRARY AND - CRYPTO_LIBRARY AND -- OPENSSL_MAJOR_VERSION STREQUAL "1" -+ OPENSSL_MAJOR_VERSION VERSION_GREATER_EQUAL "1" - ) - SET(OPENSSL_FOUND TRUE) - FIND_PROGRAM(OPENSSL_EXECUTABLE openssl diff -ruN mysql80-server.orig/files/patch-include_CMakeLists.txt mysql80-server/files/patch-include_CMakeLists.txt --- mysql80-server.orig/files/patch-include_CMakeLists.txt 2022-01-18 04:08:23.997239000 +0200 +++ mysql80-server/files/patch-include_CMakeLists.txt 2022-01-18 02:51:32.978790000 +0200 @@ -1,4 +1,4 @@ ---- include/CMakeLists.txt.orig 2021-09-28 11:46:34 UTC +--- include/CMakeLists.txt.orig 2021-12-17 16:07:27 UTC +++ include/CMakeLists.txt @@ -37,10 +37,182 @@ SET(HEADERS ${CMAKE_CURRENT_BINARY_DIR}/mysql_version.h diff -ruN mysql80-server.orig/files/patch-include_my__compare.h mysql80-server/files/patch-include_my__compare.h --- mysql80-server.orig/files/patch-include_my__compare.h 2022-01-18 04:08:23.997260000 +0200 +++ mysql80-server/files/patch-include_my__compare.h 2022-01-18 02:51:32.979906000 +0200 @@ -1,4 +1,4 @@ ---- include/my_compare.h.orig 2019-09-20 08:30:51 UTC +--- include/my_compare.h.orig 2021-12-17 16:07:27 UTC +++ include/my_compare.h @@ -49,7 +49,7 @@ But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and HA_MAX_KEY_LENGTH. diff -ruN mysql80-server.orig/files/patch-include_my__stacktrace.h mysql80-server/files/patch-include_my__stacktrace.h --- mysql80-server.orig/files/patch-include_my__stacktrace.h 2022-01-18 04:08:23.997280000 +0200 +++ mysql80-server/files/patch-include_my__stacktrace.h 2022-01-18 02:51:32.980999000 +0200 @@ -1,5 +1,5 @@ ---- include/my_stacktrace.h.orig 2020-01-23 19:43:07.769584000 +0100 -+++ include/my_stacktrace.h 2020-01-23 19:43:48.684042000 +0100 +--- include/my_stacktrace.h.orig 2021-12-17 16:07:27 UTC ++++ include/my_stacktrace.h @@ -43,7 +43,7 @@ HAVE_BACKTRACE - Linux, FreeBSD, OSX, Solaris _WIN32 - Windows @@ -8,4 +8,4 @@ +#if (defined(HAVE_BACKTRACE) || defined(_WIN32)) && (defined(__aarch64__) || defined(__amd64__) || defined(__i386__)) #define HAVE_STACKTRACE 1 void my_init_stacktrace(); - void my_print_stacktrace(uchar *stack_bottom, ulong thread_stack); + void my_print_stacktrace(const uchar *stack_bottom, ulong thread_stack); diff -ruN mysql80-server.orig/files/patch-include_my__thread__os__id.h mysql80-server/files/patch-include_my__thread__os__id.h --- mysql80-server.orig/files/patch-include_my__thread__os__id.h 2022-01-18 04:08:23.997302000 +0200 +++ mysql80-server/files/patch-include_my__thread__os__id.h 2022-01-18 02:51:32.982098000 +0200 @@ -1,4 +1,4 @@ ---- include/my_thread_os_id.h.orig 2019-09-20 08:30:51 UTC +--- include/my_thread_os_id.h.orig 2021-12-17 16:07:27 UTC +++ include/my_thread_os_id.h @@ -84,8 +84,12 @@ static inline my_thread_os_id_t my_thread_os_id() { return pthread_getthreadid_np(); diff -ruN mysql80-server.orig/files/patch-include_myisam.h mysql80-server/files/patch-include_myisam.h --- mysql80-server.orig/files/patch-include_myisam.h 2022-01-18 04:08:23.997322000 +0200 +++ mysql80-server/files/patch-include_myisam.h 2022-01-18 02:51:32.983200000 +0200 @@ -1,6 +1,6 @@ ---- include/myisam.h.orig 2019-09-20 08:30:51 UTC +--- include/myisam.h.orig 2021-12-17 16:07:27 UTC +++ include/myisam.h -@@ -59,7 +59,7 @@ +@@ -60,7 +60,7 @@ The following defines can be increased if necessary. But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and MI_MAX_KEY_LENGTH. */ diff -ruN mysql80-server.orig/files/patch-include_violite.h mysql80-server/files/patch-include_violite.h --- mysql80-server.orig/files/patch-include_violite.h 2022-01-18 04:08:23.997342000 +0200 +++ mysql80-server/files/patch-include_violite.h 2022-01-18 02:51:32.984297000 +0200 @@ -1,6 +1,6 @@ ---- include/violite.h.orig 2019-09-20 08:30:51 UTC +--- include/violite.h.orig 2021-12-17 16:07:27 UTC +++ include/violite.h -@@ -269,9 +269,11 @@ struct st_VioSSLFd *new_VioSSLConnectorFd( +@@ -268,9 +268,11 @@ struct st_VioSSLFd *new_VioSSLConnectorFd( long process_tls_version(const char *tls_version); @@ -10,5 +10,5 @@ uint get_fips_mode(); +#endif - struct st_VioSSLFd *new_VioSSLAcceptorFd( - const char *key_file, const char *cert_file, const char *ca_file, + int test_ssl_fips_mode(char *err_string); + diff -ruN mysql80-server.orig/files/patch-libmysql_CMakeLists.txt mysql80-server/files/patch-libmysql_CMakeLists.txt --- mysql80-server.orig/files/patch-libmysql_CMakeLists.txt 2022-01-18 04:08:23.997362000 +0200 +++ mysql80-server/files/patch-libmysql_CMakeLists.txt 1970-01-01 02:00:00.000000000 +0200 @@ -1,68 +0,0 @@ ---- libmysql/CMakeLists.txt.orig 2021-07-01 07:53:49 UTC -+++ libmysql/CMakeLists.txt -@@ -197,6 +197,11 @@ IF (WIN32 AND OPENSSL_APPLINK_C) - ) - ENDIF() - -+INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake) -+IF (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") -+ ADD_COMPILE_FLAGS(${CLIENT_SOURCES} COMPILE_FLAGS "-fPIC") -+ENDIF() -+ - # - # Include protocol tracing infrastructure and the test - # trace plugin if enabled by build options. -@@ -270,8 +275,15 @@ IF(WIN32) - LIST(APPEND LIBS_TO_MERGE auth_win_client) - ENDIF() - --# LDAP authentication SASL client plug-in --ADD_SUBDIRECTORY(authentication_ldap) -+IF(WITHOUT_CLIENTLIBS) -+ # Merge several convenience libraries into one big mysqlclient -+ MERGE_CONVENIENCE_LIBRARIES(mysqlclient ${LIBS_TO_MERGE} -+ COMPONENT Development -+ SKIP_INSTALL) -+ELSE(WITHOUT_CLIENTLIBS) -+ # LDAP authentication SASL client plugin -+ MESSAGE(STATUS "Creating LDAP authentication SASL client library.") -+ ADD_SUBDIRECTORY(authentication_ldap) - - # authentication kerberos client plug-in - ADD_SUBDIRECTORY(authentication_kerberos) -@@ -281,6 +293,7 @@ MERGE_CONVENIENCE_LIBRARIES(mysqlclient ${LIBS_TO_MERG - COMPONENT Development - LINK_LIBRARIES ${LIBS_TO_LINK} - ) -+ENDIF(WITHOUT_CLIENTLIBS) - - # Visual Studio users need debug static library for debug projects - IF(MSVC) -@@ -327,17 +340,27 @@ ENDIF() - - # Merge several convenience libraries into one big mysqlclient - # and link them together into shared library. -+IF(WITHOUT_CLIENTLIBS) - MERGE_LIBRARIES_SHARED(libmysql ${LIBS_TO_MERGE} - EXPORTS - ${CLIENT_API_FUNCTIONS} - ${CLIENT_API_FUNCTIONS_UNDOCUMENTED} - ${CLIENT_API_NONBLOCKING_FUNCTIONS} - COMPONENT SharedLibraries -+ SKIP_INSTALL ) -+ELSE(WITHOUT_CLIENTLIBS) -+MERGE_LIBRARIES_SHARED(libmysql ${LIBS_TO_MERGE} -+ EXPORTS -+ ${CLIENT_API_FUNCTIONS} -+ ${CLIENT_API_FUNCTIONS_UNDOCUMENTED} -+ ${CLIENT_API_NONBLOCKING_FUNCTIONS} -+ COMPONENT SharedLibraries - LINK_LIBRARIES ${LIBS_TO_LINK} - ${UNIX_OUTPUT_NAME} - ${UNIX_SOVERSION} - ${UNIX_VERSION} - ) -+ENDIF(WITHOUT_CLIENTLIBS) - - IF(LINUX_STANDALONE AND KERBEROS_CUSTOM_LIBRARY) - ADD_DEPENDENCIES(libmysql ${kerberos_target}) diff -ruN mysql80-server.orig/files/patch-libservices_CMakeLists.txt mysql80-server/files/patch-libservices_CMakeLists.txt --- mysql80-server.orig/files/patch-libservices_CMakeLists.txt 2022-01-18 04:08:23.997382000 +0200 +++ mysql80-server/files/patch-libservices_CMakeLists.txt 2022-01-18 02:51:32.985399000 +0200 @@ -1,6 +1,6 @@ ---- libservices/CMakeLists.txt.orig 2019-09-20 08:30:51 UTC +--- libservices/CMakeLists.txt.orig 2021-12-17 16:07:27 UTC +++ libservices/CMakeLists.txt -@@ -45,7 +45,9 @@ SET(MYSQLSERVICES_SOURCES +@@ -47,7 +47,9 @@ SET(MYSQLSERVICES_SOURCES plugin_registry_service.c) ADD_LIBRARY(mysqlservices STATIC ${MYSQLSERVICES_SOURCES}) diff -ruN mysql80-server.orig/files/patch-man_CMakeLists.txt mysql80-server/files/patch-man_CMakeLists.txt --- mysql80-server.orig/files/patch-man_CMakeLists.txt 2022-01-18 04:08:23.997403000 +0200 +++ mysql80-server/files/patch-man_CMakeLists.txt 2022-01-18 02:51:32.986513000 +0200 @@ -1,5 +1,5 @@ ---- man/CMakeLists.txt.orig 2020-10-20 11:47:42.675974000 +0200 -+++ man/CMakeLists.txt 2020-10-20 13:53:03.993879000 +0200 +--- man/CMakeLists.txt.orig 2021-12-17 16:07:27 UTC ++++ man/CMakeLists.txt @@ -23,26 +23,14 @@ # Copy man pages SET(MAN1 @@ -27,7 +27,7 @@ mysqlimport.1 mysqlman.1 mysqlpump.1 -@@ -52,13 +41,23 @@ SET(MAN1 +@@ -52,13 +40,23 @@ SET(MAN1 zlib_decompress.1 ) @@ -56,8 +56,8 @@ -ENDIF() SET(MAN1_NDB - ndb-common-options.1 -@@ -105,8 +104,14 @@ SET(MAN8_NDB + ndb_blob_tool.1 +@@ -103,8 +101,14 @@ SET(MAN8_NDB ndbmtd.8 ) diff -ruN mysql80-server.orig/files/patch-mysys_my__default.cc mysql80-server/files/patch-mysys_my__default.cc --- mysql80-server.orig/files/patch-mysys_my__default.cc 2022-01-18 04:08:23.997423000 +0200 +++ mysql80-server/files/patch-mysys_my__default.cc 2022-01-18 02:51:32.987610000 +0200 @@ -1,5 +1,5 @@ ---- 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 +--- mysys/my_default.cc.orig 2021-12-17 16:07:27 UTC ++++ mysys/my_default.cc @@ -204,7 +204,7 @@ bool no_defaults = false; /* Which directories are searched for options (and in which order) */ @@ -24,7 +24,7 @@ while (true) { auto fileline = mysql_file_getline(buff, sizeof(buff), fp, is_login_file); char *linebuff = fileline.get(); -@@ -1315,7 +1323,8 @@ void my_print_default_files(const char *conf_file) { +@@ -1311,7 +1319,8 @@ void my_print_default_files(const char *conf_file) { end[(strlen(end) - 1)] = ' '; else strxmov(end, conf_file, *ext, " ", NullS); @@ -34,7 +34,7 @@ } } } -@@ -1655,14 +1664,9 @@ static const char **init_default_directories(MEM_ROOT +@@ -1651,14 +1660,9 @@ static const char **init_default_directories(MEM_ROOT #else @@ -51,7 +51,7 @@ #endif if ((env = getenv("MYSQL_HOME"))) errors += add_directory(alloc, env, dirs); -@@ -1727,7 +1731,7 @@ int check_file_permissions(const char *file_name, bool +@@ -1723,7 +1727,7 @@ int check_file_permissions(const char *file_name, bool #if !defined(_WIN32) MY_STAT stat_info; diff -ruN mysql80-server.orig/files/patch-mysys_my__md5.cc mysql80-server/files/patch-mysys_my__md5.cc --- mysql80-server.orig/files/patch-mysys_my__md5.cc 2022-01-18 04:08:23.997444000 +0200 +++ mysql80-server/files/patch-mysys_my__md5.cc 2022-01-18 02:51:32.988707000 +0200 @@ -1,4 +1,4 @@ ---- mysys/my_md5.cc.orig 2019-09-20 08:30:51 UTC +--- mysys/my_md5.cc.orig 2021-12-17 16:07:27 UTC +++ mysys/my_md5.cc @@ -56,7 +56,9 @@ static void my_md5_hash(unsigned char *digest, unsigne int compute_md5_hash(char *digest, const char *buf, int len) { diff -ruN mysql80-server.orig/files/patch-plugin_password__validation_validate__password.cc mysql80-server/files/patch-plugin_password__validation_validate__password.cc --- mysql80-server.orig/files/patch-plugin_password__validation_validate__password.cc 2022-01-18 04:08:23.997466000 +0200 +++ mysql80-server/files/patch-plugin_password__validation_validate__password.cc 2022-01-18 02:51:32.989810000 +0200 @@ -1,4 +1,4 @@ ---- plugin/password_validation/validate_password.cc.orig 2019-09-20 08:30:51 UTC +--- plugin/password_validation/validate_password.cc.orig 2021-12-17 16:07:27 UTC +++ plugin/password_validation/validate_password.cc @@ -25,6 +25,8 @@ #include diff -ruN mysql80-server.orig/files/patch-plugin_x_CMakeLists.txt mysql80-server/files/patch-plugin_x_CMakeLists.txt --- mysql80-server.orig/files/patch-plugin_x_CMakeLists.txt 2022-01-18 04:08:23.997487000 +0200 +++ mysql80-server/files/patch-plugin_x_CMakeLists.txt 2022-01-18 02:51:32.990896000 +0200 @@ -1,4 +1,4 @@ ---- plugin/x/CMakeLists.txt.orig 2019-09-20 08:30:51 UTC +--- plugin/x/CMakeLists.txt.orig 2021-12-17 16:07:27 UTC +++ plugin/x/CMakeLists.txt @@ -77,6 +77,8 @@ INCLUDE_DIRECTORIES( ${MYSQLX_GENERATE_DIR} @@ -8,4 +8,4 @@ + ${BOOST_INCLUDE_DIR} ) - MY_INCLUDE_SYSTEM_DIRECTORIES(PROTOBUF) + MY_INCLUDE_SYSTEM_DIRECTORIES(LIBEVENT) diff -ruN mysql80-server.orig/files/patch-plugin_x_client_authentication_sha256__scramble__generator.cc mysql80-server/files/patch-plugin_x_client_authentication_sha256__scramble__generator.cc --- mysql80-server.orig/files/patch-plugin_x_client_authentication_sha256__scramble__generator.cc 2022-01-18 04:08:23.997509000 +0200 +++ mysql80-server/files/patch-plugin_x_client_authentication_sha256__scramble__generator.cc 2022-01-18 02:51:32.992005000 +0200 @@ -1,4 +1,4 @@ ---- plugin/x/client/authentication/sha256_scramble_generator.cc.orig 2019-09-20 08:30:51 UTC +--- plugin/x/client/authentication/sha256_scramble_generator.cc.orig 2021-12-17 16:07:27 UTC +++ plugin/x/client/authentication/sha256_scramble_generator.cc @@ -97,7 +97,7 @@ bool SHA256_digest::retrieve_digest(unsigned char *dig return true; diff -ruN mysql80-server.orig/files/patch-plugin_x_client_xconnection__impl.cc mysql80-server/files/patch-plugin_x_client_xconnection__impl.cc --- mysql80-server.orig/files/patch-plugin_x_client_xconnection__impl.cc 2022-01-18 04:08:23.997531000 +0200 +++ mysql80-server/files/patch-plugin_x_client_xconnection__impl.cc 2022-01-18 02:51:32.993096000 +0200 @@ -1,6 +1,6 @@ ---- plugin/x/client/xconnection_impl.cc.orig 2019-09-20 08:30:51 UTC +--- plugin/x/client/xconnection_impl.cc.orig 2021-12-17 16:07:27 UTC +++ plugin/x/client/xconnection_impl.cc -@@ -520,6 +520,7 @@ XError Connection_impl::get_ssl_error(const int error_ +@@ -618,6 +618,7 @@ XError Connection_impl::get_ssl_error(const int error_ return XError(CR_SSL_CONNECTION_ERROR, buffer); } @@ -8,7 +8,7 @@ /** Set fips mode in openssl library, When we set fips mode ON/STRICT, it will perform following operations: -@@ -559,6 +560,7 @@ int set_fips_mode(const uint32_t fips_mode, +@@ -657,6 +658,7 @@ int set_fips_mode(const uint32_t fips_mode, EXIT: return rc; } @@ -16,7 +16,7 @@ XError Connection_impl::activate_tls() { if (nullptr == m_vio) return get_socket_error(SOCKET_ECONNRESET); -@@ -569,12 +571,14 @@ XError Connection_impl::activate_tls() { +@@ -667,12 +669,14 @@ XError Connection_impl::activate_tls() { if (!m_context->m_ssl_config.is_configured()) return XError{CR_SSL_CONNECTION_ERROR, ER_TEXT_TLS_NOT_CONFIGURATED, true}; diff -ruN mysql80-server.orig/files/patch-plugin_x_configure.cmake mysql80-server/files/patch-plugin_x_configure.cmake --- mysql80-server.orig/files/patch-plugin_x_configure.cmake 2022-01-18 04:08:23.997552000 +0200 +++ mysql80-server/files/patch-plugin_x_configure.cmake 2022-01-18 02:51:32.994211000 +0200 @@ -1,4 +1,4 @@ ---- plugin/x/configure.cmake.orig 2019-09-20 08:30:51 UTC +--- plugin/x/configure.cmake.orig 2021-12-17 16:07:27 UTC +++ plugin/x/configure.cmake @@ -45,6 +45,7 @@ CONFIGURE_FILE(${MYSQLX_PROJECT_DIR}/src/config/mysqlx CONFIGURE_FILE(${MYSQLX_PROJECT_DIR}/src/config/mysqlx_version.h.in diff -ruN mysql80-server.orig/files/patch-router_src_harness_include_mysql_harness_net__ts_impl_kqueue__io__service.h mysql80-server/files/patch-router_src_harness_include_mysql_harness_net__ts_impl_kqueue__io__service.h --- mysql80-server.orig/files/patch-router_src_harness_include_mysql_harness_net__ts_impl_kqueue__io__service.h 1970-01-01 02:00:00.000000000 +0200 +++ mysql80-server/files/patch-router_src_harness_include_mysql_harness_net__ts_impl_kqueue__io__service.h 2022-01-18 02:51:32.995326000 +0200 @@ -0,0 +1,13 @@ +--- router/src/harness/include/mysql/harness/net_ts/impl/kqueue_io_service.h.orig 2021-12-17 16:07:27 UTC ++++ router/src/harness/include/mysql/harness/net_ts/impl/kqueue_io_service.h +@@ -190,8 +190,8 @@ class kqueue_io_service : public IoServiceBase { + auto secs = std::chrono::duration_cast(timeout); + timeout -= secs; + +- ts = {secs.count(), +- std::chrono::duration_cast(timeout) ++ ts = {(time_t)secs.count(), ++ (time_t)std::chrono::duration_cast(timeout) + .count()}; + + p_ts = &ts; diff -ruN mysql80-server.orig/files/patch-router_src_harness_include_mysql_harness_net__ts_internet.h mysql80-server/files/patch-router_src_harness_include_mysql_harness_net__ts_internet.h --- mysql80-server.orig/files/patch-router_src_harness_include_mysql_harness_net__ts_internet.h 2022-01-18 04:08:23.997574000 +0200 +++ mysql80-server/files/patch-router_src_harness_include_mysql_harness_net__ts_internet.h 2022-01-18 02:51:32.996431000 +0200 @@ -1,4 +1,4 @@ ---- router/src/harness/include/mysql/harness/net_ts/internet.h.orig 2020-11-09 00:30:01 UTC +--- router/src/harness/include/mysql/harness/net_ts/internet.h.orig 2021-12-17 16:07:27 UTC +++ router/src/harness/include/mysql/harness/net_ts/internet.h @@ -43,6 +43,7 @@ #include // inet_ntop diff -ruN mysql80-server.orig/files/patch-router_src_harness_include_mysql_harness_net_ts_impl_kqueue_io_service.h mysql80-server/files/patch-router_src_harness_include_mysql_harness_net_ts_impl_kqueue_io_service.h --- mysql80-server.orig/files/patch-router_src_harness_include_mysql_harness_net_ts_impl_kqueue_io_service.h 2022-01-18 04:08:23.997595000 +0200 +++ mysql80-server/files/patch-router_src_harness_include_mysql_harness_net_ts_impl_kqueue_io_service.h 1970-01-01 02:00:00.000000000 +0200 @@ -1,13 +0,0 @@ ---- router/src/harness/include/mysql/harness/net_ts/impl/kqueue_io_service.h.orig 2020-09-23 12:37:48 UTC -+++ router/src/harness/include/mysql/harness/net_ts/impl/kqueue_io_service.h -@@ -190,8 +190,8 @@ - auto secs = std::chrono::duration_cast(timeout); - timeout -= secs; - -- ts = {secs.count(), -- std::chrono::duration_cast(timeout) -+ ts = {(time_t)secs.count(), -+ (time_t)std::chrono::duration_cast(timeout) - .count()}; - - p_ts = &ts; diff -ruN mysql80-server.orig/files/patch-router_src_harness_src_CMakeLists.txt mysql80-server/files/patch-router_src_harness_src_CMakeLists.txt --- mysql80-server.orig/files/patch-router_src_harness_src_CMakeLists.txt 2022-01-18 04:08:23.997616000 +0200 +++ mysql80-server/files/patch-router_src_harness_src_CMakeLists.txt 2022-01-18 02:51:32.997533000 +0200 @@ -1,14 +1,14 @@ ---- router/src/harness/src/CMakeLists.txt.orig 2019-12-09 19:53:17 UTC +--- router/src/harness/src/CMakeLists.txt.orig 2021-12-17 16:07:27 UTC +++ router/src/harness/src/CMakeLists.txt -@@ -205,7 +205,6 @@ IF(NOT WIN32) +@@ -212,7 +212,6 @@ ELSE() INSTALL(TARGETS harness-library LIBRARY DESTINATION ${ROUTER_INSTALL_LIBDIR} COMPONENT Router - NAMELINK_SKIP ) - ELSE() - INSTALL(TARGETS harness-library -@@ -240,7 +239,6 @@ INSTALL(TARGETS harness_stdx + ENDIF() + +@@ -243,7 +242,6 @@ INSTALL(TARGETS harness_stdx RUNTIME DESTINATION ${ROUTER_INSTALL_BINDIR} COMPONENT Router ARCHIVE DESTINATION ${ROUTER_INSTALL_LIBDIR} COMPONENT Router LIBRARY DESTINATION ${ROUTER_INSTALL_LIBDIR} COMPONENT Router @@ -16,7 +16,7 @@ ) ## harness_tls -@@ -277,5 +275,4 @@ INSTALL(TARGETS harness_tls +@@ -284,5 +282,4 @@ INSTALL(TARGETS harness_tls RUNTIME DESTINATION ${ROUTER_INSTALL_BINDIR} COMPONENT Router ARCHIVE DESTINATION ${ROUTER_INSTALL_LIBDIR} COMPONENT Router LIBRARY DESTINATION ${ROUTER_INSTALL_LIBDIR} COMPONENT Router diff -ruN mysql80-server.orig/files/patch-router_src_harness_src_tls__client__context.cc mysql80-server/files/patch-router_src_harness_src_tls__client__context.cc --- mysql80-server.orig/files/patch-router_src_harness_src_tls__client__context.cc 2022-01-18 04:08:23.997637000 +0200 +++ mysql80-server/files/patch-router_src_harness_src_tls__client__context.cc 2022-01-18 02:51:32.998643000 +0200 @@ -1,11 +1,11 @@ ---- router/src/harness/src/tls_client_context.cc.orig 2019-09-20 08:30:51 UTC +--- router/src/harness/src/tls_client_context.cc.orig 2021-12-17 16:07:27 UTC +++ router/src/harness/src/tls_client_context.cc -@@ -54,7 +54,7 @@ void TlsClientContext::verify(TlsVerify verify) { - - void TlsClientContext::cipher_suites(const std::string &ciphers) { +@@ -61,7 +61,7 @@ stdx::expected TlsClientContext + stdx::expected TlsClientContext::cipher_suites( + const std::string &ciphers) { // TLSv1.3 ciphers are controlled via SSL_CTX_set_ciphersuites() -#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 1) +#ifdef TLS1_3_VERSION if (1 != SSL_CTX_set_ciphersuites(ssl_ctx_.get(), ciphers.c_str())) { - throw TlsError("set-cipher-suites"); + return stdx::make_unexpected(make_tls_error()); } diff -ruN mysql80-server.orig/files/patch-router_src_harness_src_tls__context.cc mysql80-server/files/patch-router_src_harness_src_tls__context.cc --- mysql80-server.orig/files/patch-router_src_harness_src_tls__context.cc 2022-01-18 04:08:23.997658000 +0200 +++ mysql80-server/files/patch-router_src_harness_src_tls__context.cc 2022-01-18 02:51:32.999742000 +0200 @@ -1,5 +1,5 @@ ---- 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 +--- router/src/harness/src/tls_context.cc.orig 2021-12-17 16:07:27 UTC ++++ router/src/harness/src/tls_context.cc @@ -241,7 +241,7 @@ static int o11x_version(TlsVersion version) { return TLS1_1_VERSION; case TlsVersion::TLS_1_2: diff -ruN mysql80-server.orig/files/patch-router_src_harness_src_tls__server__context.cc mysql80-server/files/patch-router_src_harness_src_tls__server__context.cc --- mysql80-server.orig/files/patch-router_src_harness_src_tls__server__context.cc 2022-01-18 04:08:23.997679000 +0200 +++ mysql80-server/files/patch-router_src_harness_src_tls__server__context.cc 2022-01-18 02:51:33.000843000 +0200 @@ -1,6 +1,6 @@ ---- router/src/harness/src/tls_server_context.cc.orig 2019-09-20 08:30:51 UTC +--- router/src/harness/src/tls_server_context.cc.orig 2021-12-17 16:07:27 UTC +++ router/src/harness/src/tls_server_context.cc -@@ -166,7 +166,8 @@ void TlsServerContext::init_tmp_dh(const std::string & +@@ -169,7 +169,8 @@ stdx::expected TlsServerContext } } else { diff -ruN mysql80-server.orig/files/patch-router_src_http_src_CMakeLists.txt mysql80-server/files/patch-router_src_http_src_CMakeLists.txt --- mysql80-server.orig/files/patch-router_src_http_src_CMakeLists.txt 2022-01-18 04:08:23.997701000 +0200 +++ mysql80-server/files/patch-router_src_http_src_CMakeLists.txt 2022-01-18 02:51:33.001949000 +0200 @@ -1,6 +1,6 @@ ---- router/src/http/src/CMakeLists.txt.orig 2019-12-09 19:53:17 UTC +--- router/src/http/src/CMakeLists.txt.orig 2021-12-17 16:07:27 UTC +++ router/src/http/src/CMakeLists.txt -@@ -62,7 +62,6 @@ INSTALL(TARGETS http_common +@@ -58,7 +58,6 @@ INSTALL(TARGETS http_common RUNTIME DESTINATION ${ROUTER_INSTALL_BINDIR} COMPONENT Router ARCHIVE DESTINATION ${ROUTER_INSTALL_LIBDIR} COMPONENT Router LIBRARY DESTINATION ${ROUTER_INSTALL_LIBDIR} COMPONENT Router @@ -8,7 +8,7 @@ ) ## split library code from the plugin to use them _passwd and tests -@@ -88,7 +87,6 @@ INSTALL(TARGETS http_auth_backend_lib +@@ -84,7 +83,6 @@ INSTALL(TARGETS http_auth_backend_lib RUNTIME DESTINATION ${ROUTER_INSTALL_BINDIR} COMPONENT Router ARCHIVE DESTINATION ${ROUTER_INSTALL_LIBDIR} COMPONENT Router LIBRARY DESTINATION ${ROUTER_INSTALL_LIBDIR} COMPONENT Router @@ -16,7 +16,7 @@ ) TARGET_INCLUDE_DIRECTORIES(http_auth_backend_lib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} -@@ -141,7 +139,6 @@ INSTALL(TARGETS http_auth_realm_lib +@@ -137,7 +135,6 @@ INSTALL(TARGETS http_auth_realm_lib RUNTIME DESTINATION ${ROUTER_INSTALL_BINDIR} COMPONENT Router ARCHIVE DESTINATION ${ROUTER_INSTALL_LIBDIR} COMPONENT Router LIBRARY DESTINATION ${ROUTER_INSTALL_LIBDIR} COMPONENT Router diff -ruN mysql80-server.orig/files/patch-router_src_io_src_CMakeLists.txt mysql80-server/files/patch-router_src_io_src_CMakeLists.txt --- mysql80-server.orig/files/patch-router_src_io_src_CMakeLists.txt 2022-01-18 04:08:23.997722000 +0200 +++ mysql80-server/files/patch-router_src_io_src_CMakeLists.txt 2022-01-18 02:51:33.003125000 +0200 @@ -1,4 +1,4 @@ ---- router/src/io/src/CMakeLists.txt.orig 2020-09-23 12:37:48 UTC +--- router/src/io/src/CMakeLists.txt.orig 2021-12-17 16:07:27 UTC +++ router/src/io/src/CMakeLists.txt @@ -47,7 +47,6 @@ INSTALL(TARGETS io_component RUNTIME DESTINATION ${ROUTER_INSTALL_BINDIR} COMPONENT Router diff -ruN mysql80-server.orig/files/patch-router_src_router_src_CMakeLists.txt mysql80-server/files/patch-router_src_router_src_CMakeLists.txt --- mysql80-server.orig/files/patch-router_src_router_src_CMakeLists.txt 2022-01-18 04:08:23.997743000 +0200 +++ mysql80-server/files/patch-router_src_router_src_CMakeLists.txt 2022-01-18 02:51:33.004235000 +0200 @@ -1,6 +1,6 @@ ---- router/src/router/src/CMakeLists.txt.orig 2019-12-09 19:53:17 UTC +--- router/src/router/src/CMakeLists.txt.orig 2021-12-17 16:07:27 UTC +++ router/src/router/src/CMakeLists.txt -@@ -119,7 +119,6 @@ INSTALL(TARGETS router_lib +@@ -124,7 +124,6 @@ INSTALL(TARGETS router_lib RUNTIME DESTINATION ${ROUTER_INSTALL_BINDIR} COMPONENT Router ARCHIVE DESTINATION ${ROUTER_INSTALL_LIBDIR} COMPONENT Router LIBRARY DESTINATION ${ROUTER_INSTALL_LIBDIR} COMPONENT Router diff -ruN mysql80-server.orig/files/patch-scripts_CMakeLists.txt mysql80-server/files/patch-scripts_CMakeLists.txt --- mysql80-server.orig/files/patch-scripts_CMakeLists.txt 2022-01-18 04:08:23.997764000 +0200 +++ mysql80-server/files/patch-scripts_CMakeLists.txt 2022-01-18 02:51:33.005338000 +0200 @@ -1,5 +1,5 @@ ---- scripts/CMakeLists.txt.orig 2021-11-04 17:42:29.686664000 +0100 -+++ scripts/CMakeLists.txt 2021-11-04 17:57:49.957200000 +0100 +--- scripts/CMakeLists.txt.orig 2021-12-17 16:07:27 UTC ++++ scripts/CMakeLists.txt @@ -323,6 +323,8 @@ MACRO(EXTRACT_LINK_LIBRARIES target var) GET_FILENAME_COMPONENT(lib "${lib}" NAME_WE) STRING(REGEX REPLACE "^lib" "" lib "${lib}") diff -ruN mysql80-server.orig/files/patch-scripts_mysqld__safe.sh mysql80-server/files/patch-scripts_mysqld__safe.sh --- mysql80-server.orig/files/patch-scripts_mysqld__safe.sh 1970-01-01 02:00:00.000000000 +0200 +++ mysql80-server/files/patch-scripts_mysqld__safe.sh 2022-01-18 02:51:33.006450000 +0200 @@ -0,0 +1,19 @@ +--- scripts/mysqld_safe.sh.orig 2021-12-17 16:07:27 UTC ++++ scripts/mysqld_safe.sh +@@ -360,7 +360,7 @@ mysqld_ld_preload_text() { + # running mysqld. See ld.so for details. + set_malloc_lib() { + # This list is kept intentionally simple. +- malloc_dirs="/usr/lib /usr/lib64 /usr/lib/i386-linux-gnu /usr/lib/x86_64-linux-gnu" ++ malloc_dirs="/usr/lib /usr/lib64 /usr/lib/i386-linux-gnu /usr/lib/x86_64-linux-gnu /usr/local/lib" + malloc_lib="$1" + + # Allow --malloc-lib='' to override other settings +@@ -379,6 +379,7 @@ set_malloc_lib() { + /usr/lib64) ;; + /usr/lib/i386-linux-gnu) ;; + /usr/lib/x86_64-linux-gnu) ;; ++ /usr/local/lib) ;; + *) + log_error "--malloc-lib must be located in one of the directories: $malloc_dirs" + exit 1 diff -ruN mysql80-server.orig/files/patch-scripts_mysqld__safe.txt mysql80-server/files/patch-scripts_mysqld__safe.txt --- mysql80-server.orig/files/patch-scripts_mysqld__safe.txt 2022-01-18 04:08:23.997785000 +0200 +++ mysql80-server/files/patch-scripts_mysqld__safe.txt 1970-01-01 02:00:00.000000000 +0200 @@ -1,19 +0,0 @@ ---- scripts/mysqld_safe.sh.orig 2022-01-07 11:33:53.643546000 +0100 -+++ scripts/mysqld_safe.sh 2022-01-07 11:37:41.505101000 +0100 -@@ -360,7 +360,7 @@ mysqld_ld_preload_text() { - # running mysqld. See ld.so for details. - set_malloc_lib() { - # This list is kept intentionally simple. -- malloc_dirs="/usr/lib /usr/lib64 /usr/lib/i386-linux-gnu /usr/lib/x86_64-linux-gnu" -+ malloc_dirs="/usr/lib /usr/lib64 /usr/lib/i386-linux-gnu /usr/lib/x86_64-linux-gnu /usr/local/lib" - malloc_lib="$1" - - # Allow --malloc-lib='' to override other settings -@@ -379,6 +379,7 @@ set_malloc_lib() { - /usr/lib64) ;; - /usr/lib/i386-linux-gnu) ;; - /usr/lib/x86_64-linux-gnu) ;; -+ /usr/local/lib) ;; - *) - log_error "--malloc-lib must be located in one of the directories: $malloc_dirs" - exit 1 diff -ruN mysql80-server.orig/files/patch-sql-common_client.cc mysql80-server/files/patch-sql-common_client.cc --- mysql80-server.orig/files/patch-sql-common_client.cc 2022-01-18 04:08:23.997806000 +0200 +++ mysql80-server/files/patch-sql-common_client.cc 2022-01-18 02:51:33.007559000 +0200 @@ -1,14 +1,14 @@ ---- sql-common/client.cc.orig 2020-03-26 13:31:45 UTC +--- sql-common/client.cc.orig 2021-12-17 16:07:27 UTC +++ sql-common/client.cc -@@ -7752,6 +7752,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_opt +@@ -8301,6 +8301,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_opt return 1; break; case MYSQL_OPT_SSL_FIPS_MODE: { +#if !defined(LIBRESSL_VERSION_NUMBER) char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'}; ENSURE_EXTENSIONS_PRESENT(&mysql->options); - mysql->options.extension->ssl_fips_mode = *static_cast(arg); -@@ -7763,6 +7764,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_opt + mysql->options.extension->ssl_fips_mode = +@@ -8313,6 +8314,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_opt "Set Fips mode ON/STRICT failed, detail: '%s'.", ssl_err_string); return 1; } diff -ruN mysql80-server.orig/files/patch-sql_auth_sha2__password__common.cc mysql80-server/files/patch-sql_auth_sha2__password__common.cc --- mysql80-server.orig/files/patch-sql_auth_sha2__password__common.cc 2022-01-18 04:08:23.997828000 +0200 +++ mysql80-server/files/patch-sql_auth_sha2__password__common.cc 2022-01-18 02:51:33.008665000 +0200 @@ -1,4 +1,4 @@ ---- sql/auth/sha2_password_common.cc.orig 2019-09-20 08:30:51 UTC +--- sql/auth/sha2_password_common.cc.orig 2021-12-17 16:07:27 UTC +++ sql/auth/sha2_password_common.cc @@ -101,7 +101,7 @@ bool SHA256_digest::retrieve_digest(unsigned char *dig return true; diff -ruN mysql80-server.orig/files/patch-sql_conn__handler_socket__connection.cc mysql80-server/files/patch-sql_conn__handler_socket__connection.cc --- mysql80-server.orig/files/patch-sql_conn__handler_socket__connection.cc 2022-01-18 04:08:23.997849000 +0200 +++ mysql80-server/files/patch-sql_conn__handler_socket__connection.cc 2022-01-18 02:51:33.009766000 +0200 @@ -1,6 +1,6 @@ ---- sql/conn_handler/socket_connection.cc.orig 2019-09-20 08:30:51 UTC +--- sql/conn_handler/socket_connection.cc.orig 2021-12-17 16:07:27 UTC +++ sql/conn_handler/socket_connection.cc -@@ -950,9 +950,11 @@ bool check_connection_refused_by_tcp_wrapper(MYSQL_SOC +@@ -953,9 +953,11 @@ bool check_connection_refused_by_tcp_wrapper(MYSQL_SOC signal(SIGCHLD, SIG_DFL); request_init(&req, RQ_DAEMON, libwrap_name, RQ_FILE, mysql_socket_getfd(connect_sock), NULL); @@ -14,7 +14,7 @@ /* This may be stupid but refuse() includes an exit(0) which we surely don't want... -@@ -964,12 +966,13 @@ bool check_connection_refused_by_tcp_wrapper(MYSQL_SOC +@@ -967,12 +969,13 @@ bool check_connection_refused_by_tcp_wrapper(MYSQL_SOC This is unproblematic as TCP-wrapper is unix specific, anyway. */ diff -ruN mysql80-server.orig/files/patch-sql_mysqld.cc mysql80-server/files/patch-sql_mysqld.cc --- mysql80-server.orig/files/patch-sql_mysqld.cc 2022-01-18 04:08:23.997870000 +0200 +++ mysql80-server/files/patch-sql_mysqld.cc 2022-01-18 02:51:33.010880000 +0200 @@ -1,6 +1,6 @@ ---- sql/mysqld.cc.orig 2019-09-20 08:30:51 UTC +--- sql/mysqld.cc.orig 2021-12-17 16:07:27 UTC +++ sql/mysqld.cc -@@ -5109,7 +5109,7 @@ static int init_thread_environment() { +@@ -5285,7 +5285,7 @@ static int init_thread_environment() { static PSI_memory_key key_memory_openssl = PSI_NOT_INSTRUMENTED; @@ -9,7 +9,7 @@ #define FILE_LINE_ARGS #else #define FILE_LINE_ARGS , const char *, int -@@ -5143,12 +5143,14 @@ static void init_ssl() { +@@ -5316,12 +5316,14 @@ static void init_ssl() { } static int init_ssl_communication() { diff -ruN mysql80-server.orig/files/patch-sql_ssl__init__callback.cc mysql80-server/files/patch-sql_ssl__init__callback.cc --- mysql80-server.orig/files/patch-sql_ssl__init__callback.cc 1970-01-01 02:00:00.000000000 +0200 +++ mysql80-server/files/patch-sql_ssl__init__callback.cc 2022-01-18 02:51:33.011971000 +0200 @@ -0,0 +1,20 @@ +--- sql/ssl_init_callback.cc.orig 2021-12-17 16:07:27 UTC ++++ sql/ssl_init_callback.cc +@@ -113,7 +113,7 @@ static Sys_var_charptr Sys_tls_version( + #endif + PERSIST_AS_READONLY GLOBAL_VAR(opt_tls_version), + CMD_LINE(REQUIRED_ARG, OPT_TLS_VERSION), IN_FS_CHARSET, +-#ifdef HAVE_TLSv13 ++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) + "TLSv1.2,TLSv1.3", + #else + "TLSv1.2", +@@ -182,7 +182,7 @@ static Sys_var_charptr Sys_admin_tls_version( + #endif + PERSIST_AS_READONLY GLOBAL_VAR(opt_admin_tls_version), + CMD_LINE(REQUIRED_ARG, OPT_TLS_VERSION), IN_FS_CHARSET, +-#ifdef HAVE_TLSv13 ++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) + "TLSv1.2,TLSv1.3", + #else + "TLSv1.2", diff -ruN mysql80-server.orig/files/patch-sql_sys__vars.cc mysql80-server/files/patch-sql_sys__vars.cc --- mysql80-server.orig/files/patch-sql_sys__vars.cc 2022-01-18 04:08:23.997891000 +0200 +++ mysql80-server/files/patch-sql_sys__vars.cc 2022-01-18 02:51:33.013070000 +0200 @@ -1,6 +1,6 @@ ---- sql/sys_vars.cc.orig 2019-09-20 08:30:51 UTC +--- sql/sys_vars.cc.orig 2021-12-17 16:07:27 UTC +++ sql/sys_vars.cc -@@ -1875,7 +1875,7 @@ static Sys_var_ulong Sys_connect_timeout( +@@ -1977,7 +1977,7 @@ static Sys_var_ulong Sys_connect_timeout( "The number of seconds the mysqld server is waiting for a connect " "packet before responding with 'Bad handshake'", GLOBAL_VAR(connect_timeout), CMD_LINE(REQUIRED_ARG), @@ -9,7 +9,7 @@ static Sys_var_ulong Sys_information_schema_stats_expiry( "information_schema_stats_expiry", -@@ -2929,7 +2929,7 @@ static Sys_var_ulong Sys_net_read_timeout( +@@ -3093,7 +3093,7 @@ static Sys_var_ulong Sys_net_read_timeout( "Number of seconds to wait for more data from a connection before " "aborting the read", SESSION_VAR(net_read_timeout), CMD_LINE(REQUIRED_ARG), @@ -18,7 +18,7 @@ NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(nullptr), ON_UPDATE(fix_net_read_timeout)); -@@ -2950,7 +2950,7 @@ static Sys_var_ulong Sys_net_write_timeout( +@@ -3114,7 +3114,7 @@ static Sys_var_ulong Sys_net_write_timeout( "Number of seconds to wait for a block to be written to a connection " "before aborting the write", SESSION_VAR(net_write_timeout), CMD_LINE(REQUIRED_ARG), @@ -27,7 +27,7 @@ NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(nullptr), ON_UPDATE(fix_net_write_timeout)); -@@ -4459,6 +4459,7 @@ static Sys_var_ulong Sys_max_execution_time( +@@ -4876,6 +4876,7 @@ static Sys_var_ulong Sys_max_execution_time( HINT_UPDATEABLE SESSION_VAR(max_execution_time), CMD_LINE(REQUIRED_ARG), VALID_RANGE(0, ULONG_MAX), DEFAULT(0), BLOCK_SIZE(1)); @@ -35,7 +35,7 @@ static bool update_fips_mode(sys_var *, THD *, enum_var_type) { char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'}; if (set_fips_mode(opt_ssl_fips_mode, ssl_err_string) != 1) { -@@ -4470,14 +4471,30 @@ static bool update_fips_mode(sys_var *, THD *, enum_va +@@ -4887,14 +4888,30 @@ static bool update_fips_mode(sys_var *, THD *, enum_va } } diff -ruN mysql80-server.orig/files/patch-ssl__init__callback.cc mysql80-server/files/patch-ssl__init__callback.cc --- mysql80-server.orig/files/patch-ssl__init__callback.cc 2022-01-18 04:08:23.997912000 +0200 +++ mysql80-server/files/patch-ssl__init__callback.cc 1970-01-01 02:00:00.000000000 +0200 @@ -1,20 +0,0 @@ ---- sql/ssl_init_callback.cc.orig 2020-12-11 07:42:20 UTC -+++ sql/ssl_init_callback.cc -@@ -88,7 +88,7 @@ static Sys_var_charptr Sys_tls_version( - "TLS version, permitted values are TLSv1, TLSv1.1, TLSv1.2, TLSv1.3", - PERSIST_AS_READONLY GLOBAL_VAR(opt_tls_version), - CMD_LINE(REQUIRED_ARG, OPT_TLS_VERSION), IN_FS_CHARSET, --#ifdef HAVE_TLSv13 -+#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) - "TLSv1,TLSv1.1,TLSv1.2,TLSv1.3", - #else - "TLSv1,TLSv1.1,TLSv1.2", -@@ -154,7 +154,7 @@ static Sys_var_charptr Sys_admin_tls_version( - "TLSv1.2, TLSv1.3", - PERSIST_AS_READONLY GLOBAL_VAR(opt_admin_tls_version), - CMD_LINE(REQUIRED_ARG, OPT_TLS_VERSION), IN_FS_CHARSET, --#ifdef HAVE_TLSv13 -+#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) - "TLSv1,TLSv1.1,TLSv1.2,TLSv1.3", - #else - "TLSv1,TLSv1.1,TLSv1.2", diff -ruN mysql80-server.orig/files/patch-storage_innobase_include_detail_ut_large__page__alloc-linux.h mysql80-server/files/patch-storage_innobase_include_detail_ut_large__page__alloc-linux.h --- mysql80-server.orig/files/patch-storage_innobase_include_detail_ut_large__page__alloc-linux.h 2022-01-18 04:08:23.997939000 +0200 +++ mysql80-server/files/patch-storage_innobase_include_detail_ut_large__page__alloc-linux.h 2022-01-18 02:51:33.014164000 +0200 @@ -1,11 +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.orig 2021-12-17 16:07:27 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) +@@ -52,7 +52,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; - } - + if (unlikely(ptr == (void *)-1)) { + ib::log_warn(ER_IB_MSG_856) << "large_page_aligned_alloc mmap(" << n_bytes + << " bytes) failed;" diff -ruN mysql80-server.orig/files/patch-storage_innobase_include_srv0mon.h mysql80-server/files/patch-storage_innobase_include_srv0mon.h --- mysql80-server.orig/files/patch-storage_innobase_include_srv0mon.h 2022-01-18 04:08:23.997960000 +0200 +++ mysql80-server/files/patch-storage_innobase_include_srv0mon.h 2022-01-18 02:51:33.015279000 +0200 @@ -1,4 +1,4 @@ ---- storage/innobase/include/srv0mon.h.orig 2019-09-20 08:30:51 UTC +--- storage/innobase/include/srv0mon.h.orig 2021-12-17 16:07:27 UTC +++ storage/innobase/include/srv0mon.h @@ -40,6 +40,10 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, /* Required for FreeBSD so that INT64_MAX is defined. */ diff -ruN mysql80-server.orig/files/patch-storage_myisam_mi__dynrec.cc mysql80-server/files/patch-storage_myisam_mi__dynrec.cc --- mysql80-server.orig/files/patch-storage_myisam_mi__dynrec.cc 2022-01-18 04:08:23.997981000 +0200 +++ mysql80-server/files/patch-storage_myisam_mi__dynrec.cc 2022-01-18 02:51:33.016398000 +0200 @@ -1,4 +1,4 @@ ---- storage/myisam/mi_dynrec.cc.orig 2019-09-20 08:30:51 UTC +--- storage/myisam/mi_dynrec.cc.orig 2021-12-17 16:07:27 UTC +++ storage/myisam/mi_dynrec.cc @@ -85,17 +85,12 @@ bool mi_dynmap_file(MI_INFO *info, my_off_t size) { return true; diff -ruN mysql80-server.orig/files/patch-storage_temptable_include_temptable_lock__free__type.h mysql80-server/files/patch-storage_temptable_include_temptable_lock__free__type.h --- mysql80-server.orig/files/patch-storage_temptable_include_temptable_lock__free__type.h 1970-01-01 02:00:00.000000000 +0200 +++ mysql80-server/files/patch-storage_temptable_include_temptable_lock__free__type.h 2022-01-18 02:51:33.017504000 +0200 @@ -0,0 +1,17 @@ +--- storage/temptable/include/temptable/lock_free_type.h.orig 2021-12-17 16:07:27 UTC ++++ storage/temptable/include/temptable/lock_free_type.h +@@ -32,6 +32,14 @@ Lock-free type (selection) implementation. */ + #include "my_config.h" + #include "storage/temptable/include/temptable/constants.h" + ++#if defined(__i386__) //&& defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8) ++/* Fix for clang setting __GCC_ATOMIC_LLONG_LOCK_FREE incorrectly for x86 ++ * https://llvm.org/bugs/show_bug.cgi?id=19355 ++ */ ++#undef ATOMIC_LLONG_LOCK_FREE ++#define ATOMIC_LLONG_LOCK_FREE 2 ++#endif ++ + namespace temptable { + + /** Clang has a bug which causes ATOMIC_LLONG_LOCK_FREE to be defined as 1 diff -ruN mysql80-server.orig/files/patch-storage_temptable_include_temptable_lock_free_type.h mysql80-server/files/patch-storage_temptable_include_temptable_lock_free_type.h --- mysql80-server.orig/files/patch-storage_temptable_include_temptable_lock_free_type.h 2022-01-18 04:08:23.998003000 +0200 +++ mysql80-server/files/patch-storage_temptable_include_temptable_lock_free_type.h 1970-01-01 02:00:00.000000000 +0200 @@ -1,17 +0,0 @@ ---- storage/temptable/include/temptable/lock_free_type.h.orig 2020-06-16 16:31:03 UTC -+++ storage/temptable/include/temptable/lock_free_type.h -@@ -31,6 +31,14 @@ Lock-free type (selection) implementation. */ - - #include "storage/temptable/include/temptable/constants.h" - -+#if defined(__i386__) //&& defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8) -+/* Fix for clang setting __GCC_ATOMIC_LLONG_LOCK_FREE incorrectly for x86 -+ * https://llvm.org/bugs/show_bug.cgi?id=19355 -+ */ -+#undef ATOMIC_LLONG_LOCK_FREE -+#define ATOMIC_LLONG_LOCK_FREE 2 -+#endif -+ - namespace temptable { - - /** Enum class describing alignment-requirements. */ diff -ruN mysql80-server.orig/files/patch-support-files_CMakeLists.txt mysql80-server/files/patch-support-files_CMakeLists.txt --- mysql80-server.orig/files/patch-support-files_CMakeLists.txt 2022-01-18 04:08:23.998023000 +0200 +++ mysql80-server/files/patch-support-files_CMakeLists.txt 2022-01-18 02:51:33.018608000 +0200 @@ -1,4 +1,4 @@ ---- support-files/CMakeLists.txt.orig 2020-09-23 12:37:48 UTC +--- support-files/CMakeLists.txt.orig 2021-12-17 16:07:27 UTC +++ support-files/CMakeLists.txt @@ -24,8 +24,9 @@ IF(NOT UNIX) RETURN() diff -ruN mysql80-server.orig/files/patch-utilities_CMakeLists.txt mysql80-server/files/patch-utilities_CMakeLists.txt --- mysql80-server.orig/files/patch-utilities_CMakeLists.txt 2022-01-18 04:08:23.998045000 +0200 +++ mysql80-server/files/patch-utilities_CMakeLists.txt 2022-01-18 02:51:33.019722000 +0200 @@ -1,4 +1,4 @@ ---- utilities/CMakeLists.txt.orig 2020-09-23 12:37:48 UTC +--- utilities/CMakeLists.txt.orig 2021-12-17 16:07:27 UTC +++ utilities/CMakeLists.txt @@ -23,13 +23,19 @@ ADD_WSHADOW_WARNING() diff -ruN mysql80-server.orig/files/patch-vio_viossl.cc mysql80-server/files/patch-vio_viossl.cc --- mysql80-server.orig/files/patch-vio_viossl.cc 2022-01-18 04:08:23.998064000 +0200 +++ mysql80-server/files/patch-vio_viossl.cc 2022-01-18 02:51:33.020823000 +0200 @@ -1,4 +1,4 @@ ---- vio/viossl.cc.orig 2019-09-20 08:30:51 UTC +--- vio/viossl.cc.orig 2021-12-17 16:07:27 UTC +++ vio/viossl.cc @@ -45,7 +45,8 @@ BIO_set_callback_ex was added in openSSL 1.1.1 @@ -10,8 +10,8 @@ #define HAVE_BIO_SET_CALLBACK_EX #endif -@@ -635,7 +636,7 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, l - #if !defined(DBUG_OFF) +@@ -640,7 +641,7 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, l + #if !defined(NDEBUG) { STACK_OF(SSL_COMP) *ssl_comp_methods = nullptr; - ssl_comp_methods = SSL_COMP_get_compression_methods(); @@ -19,7 +19,7 @@ n = sk_SSL_COMP_num(ssl_comp_methods); DBUG_PRINT("info", ("Available compression methods:\n")); if (n == 0) -@@ -643,7 +644,7 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, l +@@ -648,7 +649,7 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, l else for (j = 0; j < n; j++) { SSL_COMP *c = sk_SSL_COMP_value(ssl_comp_methods, j); diff -ruN mysql80-server.orig/files/patch-vio_viosslfactories.cc mysql80-server/files/patch-vio_viosslfactories.cc --- mysql80-server.orig/files/patch-vio_viosslfactories.cc 2022-01-18 04:08:23.998083000 +0200 +++ mysql80-server/files/patch-vio_viosslfactories.cc 2022-01-18 02:51:33.021932000 +0200 @@ -1,5 +1,5 @@ ---- vio/viosslfactories.cc.orig 2021-11-04 18:02:40.921064000 +0100 -+++ vio/viosslfactories.cc 2021-11-04 18:15:24.992676000 +0100 +--- vio/viosslfactories.cc.orig 2021-12-17 16:07:27 UTC ++++ vio/viosslfactories.cc @@ -40,6 +40,7 @@ #include "vio/vio_priv.h" @@ -30,10 +30,10 @@ -#ifdef HAVE_TLSv13 +#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) - 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"; -@@ -624,7 +627,7 @@ static struct st_VioSSLFd *new_VioSSLFd( + const char *tls_version_name_list[] = {"TLSv1.2", "TLSv1.3"}; + const char ctx_flag_default[] = "TLSv1.2,TLSv1.3"; + const long tls_ctx_list[] = {SSL_OP_NO_TLSv1_2, SSL_OP_NO_TLSv1_3}; +@@ -623,7 +626,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 @@ -42,7 +42,7 @@ | SSL_OP_NO_TLSv1_3 #endif /* HAVE_TLSv13 */ | SSL_OP_NO_TICKET); -@@ -633,7 +636,7 @@ static struct st_VioSSLFd *new_VioSSLFd( +@@ -632,7 +635,7 @@ static struct st_VioSSLFd *new_VioSSLFd( return nullptr; if (!(ssl_fd->ssl_context = SSL_CTX_new(is_client ? @@ -51,7 +51,7 @@ TLS_client_method() : TLS_server_method() #else /* HAVE_TLSv13 */ -@@ -648,7 +651,7 @@ static struct st_VioSSLFd *new_VioSSLFd( +@@ -647,7 +650,7 @@ static struct st_VioSSLFd *new_VioSSLFd( return nullptr; }