git: b8d235ae4f73 - main - databases/mysql80-*: Update to 8.0.28

From: Jochen Neumeister <joneum_at_FreeBSD.org>
Date: Fri, 28 Jan 2022 15:32:22 UTC
The branch main has been updated by joneum:

URL: https://cgit.FreeBSD.org/ports/commit/?id=b8d235ae4f734d0737d3123afd8c3e2b2adb0848

commit b8d235ae4f734d0737d3123afd8c3e2b2adb0848
Author:     Jochen Neumeister <joneum@FreeBSD.org>
AuthorDate: 2022-01-28 15:28:44 +0000
Commit:     Jochen Neumeister <joneum@FreeBSD.org>
CommitDate: 2022-01-28 15:32:16 +0000

    databases/mysql80-*: Update to 8.0.28
    
    Changelog: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-28.html
    
    Sponsored by:   Netzkommune GmbH
---
 databases/mysql80-client/Makefile                  |  9 ++----
 databases/mysql80-client/pkg-plist                 |  4 +--
 databases/mysql80-server/Makefile                  | 10 ++++--
 databases/mysql80-server/distinfo                  |  6 ++--
 .../files/extra-patch-config.h.cmake               | 12 --------
 .../mysql80-server/files/patch-CMakeLists.txt      | 20 ++++++------
 .../files/patch-cmake_os_FreeBSD.cmake             |  8 ++---
 .../mysql80-server/files/patch-cmake_plugin.cmake  |  4 +--
 .../mysql80-server/files/patch-cmake_ssl.cmake     |  6 ++--
 .../files/patch-include_my__stacktrace.h           |  6 ++--
 .../mysql80-server/files/patch-include_myisam.h    |  4 +--
 .../mysql80-server/files/patch-include_violite.h   |  8 ++---
 .../files/patch-libmysql_CMakeLists.txt            | 18 +++++------
 .../files/patch-libservices_CMakeLists.txt         |  4 +--
 .../mysql80-server/files/patch-man_CMakeLists.txt  | 10 +++---
 .../files/patch-mysys_my__default.cc               | 10 +++---
 .../files/patch-plugin_x_CMakeLists.txt            |  4 +--
 .../patch-plugin_x_client_xconnection__impl.cc     |  8 ++---
 .../patch-router_src_harness_src_CMakeLists.txt    | 12 ++++----
 ...-router_src_harness_src_tls__client__context.cc | 10 +++---
 .../patch-router_src_harness_src_tls__context.cc   |  4 +--
 ...-router_src_harness_src_tls__server__context.cc |  4 +--
 .../files/patch-router_src_http_src_CMakeLists.txt |  8 ++---
 .../patch-router_src_router_src_CMakeLists.txt     |  4 +--
 .../files/patch-scripts_CMakeLists.txt             |  4 +--
 ...qld__safe.txt => patch-scripts_mysqld__safe.sh} |  4 +--
 .../files/patch-sql-common_client.cc               |  8 ++---
 .../patch-sql_conn__handler_socket__connection.cc  |  6 ++--
 databases/mysql80-server/files/patch-sql_mysqld.cc |  6 ++--
 .../files/patch-sql_ssl__init__callback.cc         | 36 ++++++++++++++++++++++
 .../mysql80-server/files/patch-sql_sys__vars.cc    | 12 ++++----
 .../files/patch-ssl__init__callback.cc             | 20 ------------
 ...se_include_detail_ut_large__page__alloc-linux.h | 10 +++---
 databases/mysql80-server/files/patch-vio_viossl.cc |  8 ++---
 .../files/patch-vio_viosslfactories.cc             | 16 +++++-----
 35 files changed, 164 insertions(+), 159 deletions(-)

diff --git a/databases/mysql80-client/Makefile b/databases/mysql80-client/Makefile
index 32d382f0c8f9..17516ff51626 100644
--- a/databases/mysql80-client/Makefile
+++ b/databases/mysql80-client/Makefile
@@ -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 -DWITH_AUTHENTICATION_FIDO=ON
+CMAKE_ARGS+=	-DWITHOUT_SERVER=1 -DINSTALL_SUPPORTFILESDIR=0
 
 USE_LDCONFIG+=	${PREFIX}/lib/mysql
 
@@ -31,17 +31,12 @@ CLIENT_ONLY=	yes
 
 OPTIONS_GROUP+=	PLUGINS
 PLUGINS_DESC=	Default Client Plugins
-OPTIONS_GROUP_PLUGINS=	SASLCLIENT FIDO
+OPTIONS_GROUP_PLUGINS=	SASLCLIENT
 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 e6d742f49109..f40325bbd618 100644
--- a/databases/mysql80-client/pkg-plist
+++ b/databases/mysql80-client/pkg-plist
@@ -204,8 +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
-%%FIDO%%lib/mysql/plugin/authentication_oci_client.so
+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 13db1af59e53..781d91f5c3f1 100644
--- a/databases/mysql80-server/Makefile
+++ b/databases/mysql80-server/Makefile
@@ -1,7 +1,7 @@
 # Created by: Mahdi Mokhtari <mokhi64@gmail.com>
 
 PORTNAME?=		mysql
-PORTVERSION=		8.0.27
+PORTVERSION=		8.0.28
 PORTREVISION?=		0
 CATEGORIES=		databases
 MASTER_SITES=		MYSQL/MySQL-8.0
@@ -34,6 +34,8 @@ LIB_DEPENDS+=	libcurl.so:ftp/curl \
 		liblz4.so:archivers/liblz4 \
 		libzstd.so:archivers/zstd \
 		libprotobuf.so:devel/protobuf \
+		libfido2.so:security/libfido2 \
+		libhidapi.so:comms/hidapi \
 		${LIB_DEPENDS_${ARCH}}
 LIB_DEPENDS_aarch64=	libunwind.so:devel/libunwind
 LIB_DEPENDS_amd64=	libunwind.so:devel/libunwind
@@ -85,6 +87,7 @@ CMAKE_ARGS+=	-DINSTALL_LAYOUT=FREEBSD \
 		-DWITH_ZSTD=system \
 		-DWITH_PROTOBUF=system \
 		-DWITH_SSL=system \
+		-DWITH_AUTHENTICATION_FIDO=1 \
 		-DBUILD_BUNDLED_ZLIB=0 \
 		-DBUILD_BUNDLED_LZ4=0
 
@@ -137,6 +140,8 @@ MMAN8=		mysqld.8
 
 CMAKE_ARGS+=	-DWITH_EMBEDDED_SERVER="ON"
 CMAKE_ARGS+=	-DWITHOUT_CLIENTLIBS="ON"
+# Disable unit tests, it fails on !amd64 and <13.0 due to c++17 rules
+CMAKE_ARGS+=   -DWITH_UNIT_TESTS="OFF"
 
 OPTIONS_GROUP=		STORAGE
 OPTIONS_GROUP_STORAGE=	ARCHIVE BLACKHOLE EXAMPLE FEDERATED INNOBASE PARTITION PERFSCHEMA
@@ -176,7 +181,8 @@ FEDERATED_SUB_LIST_OFF+=	FEDER=""
 # which is broken on i386 due to different size of types and caused a
 # 'static_assert(alignof(T) <= alignof(std::max_align_t))' error
 .if ${ARCH} == i386
-CMAKE_ARGS+=	-DDISABLE_PSI_MEMORY=1
+#CMAKE_ARGS+=	-DDISABLE_PSI_MEMORY=1
+SSP_UNSAFE=	yes
 .endif
 
 post-extract:
diff --git a/databases/mysql80-server/distinfo b/databases/mysql80-server/distinfo
index 55029d0a7a90..d74c18256ce7 100644
--- a/databases/mysql80-server/distinfo
+++ b/databases/mysql80-server/distinfo
@@ -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 = 1642804921
+SHA256 (mysql-boost-8.0.28.tar.gz) = 6dd0303998e70066d36905bd8fef1c01228ea182dbfbabc6c22ebacdbf8b5941
+SIZE (mysql-boost-8.0.28.tar.gz) = 298044027
diff --git a/databases/mysql80-server/files/extra-patch-config.h.cmake b/databases/mysql80-server/files/extra-patch-config.h.cmake
deleted file mode 100644
index 3ac1add1b9ce..000000000000
--- a/databases/mysql80-server/files/extra-patch-config.h.cmake
+++ /dev/null
@@ -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 --git a/databases/mysql80-server/files/patch-CMakeLists.txt b/databases/mysql80-server/files/patch-CMakeLists.txt
index 0b4f88bfd853..e977c8863cc0 100644
--- a/databases/mysql80-server/files/patch-CMakeLists.txt
+++ b/databases/mysql80-server/files/patch-CMakeLists.txt
@@ -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 --git a/databases/mysql80-server/files/patch-cmake_os_FreeBSD.cmake b/databases/mysql80-server/files/patch-cmake_os_FreeBSD.cmake
index 2f6f488d4abd..90629de01287 100644
--- a/databases/mysql80-server/files/patch-cmake_os_FreeBSD.cmake
+++ b/databases/mysql80-server/files/patch-cmake_os_FreeBSD.cmake
@@ -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 --git a/databases/mysql80-server/files/patch-cmake_plugin.cmake b/databases/mysql80-server/files/patch-cmake_plugin.cmake
index ecd2598f320e..874c450a4ef2 100644
--- a/databases/mysql80-server/files/patch-cmake_plugin.cmake
+++ b/databases/mysql80-server/files/patch-cmake_plugin.cmake
@@ -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 --git a/databases/mysql80-server/files/patch-cmake_ssl.cmake b/databases/mysql80-server/files/patch-cmake_ssl.cmake
index 9173b842a952..9643e476f4eb 100644
--- a/databases/mysql80-server/files/patch-cmake_ssl.cmake
+++ b/databases/mysql80-server/files/patch-cmake_ssl.cmake
@@ -1,6 +1,6 @@
---- cmake/ssl.cmake.orig	2019-09-20 08:30:51 UTC
+--- cmake/ssl.cmake.orig	2021-12-17 16:07:27 UTC
 +++ cmake/ssl.cmake
-@@ -199,7 +199,7 @@ MACRO (MYSQL_CHECK_SSL)
+@@ -211,7 +211,7 @@ MACRO (MYSQL_CHECK_SSL)
        # Encoded as MNNFFPPS: major minor fix patch status
        FILE(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h"
          OPENSSL_VERSION_NUMBER
@@ -9,7 +9,7 @@
          )
        STRING(REGEX REPLACE
          "^.*OPENSSL_VERSION_NUMBER[\t ]+0x([0-9]).*$" "\\1"
-@@ -222,13 +222,14 @@ MACRO (MYSQL_CHECK_SSL)
+@@ -226,13 +226,14 @@ MACRO (MYSQL_CHECK_SSL)
          OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}"
          )
      ENDIF()
diff --git a/databases/mysql80-server/files/patch-include_my__stacktrace.h b/databases/mysql80-server/files/patch-include_my__stacktrace.h
index 372aec242a8d..1654014bd77b 100644
--- a/databases/mysql80-server/files/patch-include_my__stacktrace.h
+++ b/databases/mysql80-server/files/patch-include_my__stacktrace.h
@@ -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 --git a/databases/mysql80-server/files/patch-include_myisam.h b/databases/mysql80-server/files/patch-include_myisam.h
index b8f3ec7ef519..311c935fc115 100644
--- a/databases/mysql80-server/files/patch-include_myisam.h
+++ b/databases/mysql80-server/files/patch-include_myisam.h
@@ -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 --git a/databases/mysql80-server/files/patch-include_violite.h b/databases/mysql80-server/files/patch-include_violite.h
index 78d606a68c6c..00065b6ea59c 100644
--- a/databases/mysql80-server/files/patch-include_violite.h
+++ b/databases/mysql80-server/files/patch-include_violite.h
@@ -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 --git a/databases/mysql80-server/files/patch-libmysql_CMakeLists.txt b/databases/mysql80-server/files/patch-libmysql_CMakeLists.txt
index bfc8693d6480..44e1979f8075 100644
--- a/databases/mysql80-server/files/patch-libmysql_CMakeLists.txt
+++ b/databases/mysql80-server/files/patch-libmysql_CMakeLists.txt
@@ -1,6 +1,6 @@
---- libmysql/CMakeLists.txt.orig	2021-07-01 07:53:49 UTC
+--- libmysql/CMakeLists.txt.orig	2021-12-17 16:07:27 UTC
 +++ libmysql/CMakeLists.txt
-@@ -197,6 +197,11 @@ IF (WIN32 AND OPENSSL_APPLINK_C)
+@@ -198,6 +198,11 @@ IF (WIN32 AND OPENSSL_APPLINK_C)
    )
  ENDIF()
  
@@ -12,7 +12,7 @@
  #
  # Include protocol tracing infrastructure and the test
  # trace plugin if enabled by build options.
-@@ -270,8 +275,15 @@ IF(WIN32)
+@@ -271,8 +276,15 @@ IF(WIN32)
    LIST(APPEND LIBS_TO_MERGE auth_win_client)
  ENDIF()
  
@@ -28,9 +28,9 @@
 +  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
+ # FIDO authentication client plugin
+ ADD_SUBDIRECTORY(authentication_fido)
+@@ -288,6 +300,7 @@ MERGE_CONVENIENCE_LIBRARIES(mysqlclient ${LIBS_TO_MERG
    COMPONENT Development
    LINK_LIBRARIES ${LIBS_TO_LINK}
    )
@@ -38,7 +38,7 @@
  
  # Visual Studio users need debug  static library for debug projects
  IF(MSVC)
-@@ -327,17 +340,27 @@ ENDIF()
+@@ -334,17 +347,27 @@ ENDIF()
  
  # Merge several convenience libraries into one big mysqlclient
  # and link them together into shared library.
@@ -64,5 +64,5 @@
    )
 +ENDIF(WITHOUT_CLIENTLIBS)
  
- IF(LINUX_STANDALONE AND KERBEROS_CUSTOM_LIBRARY)
-   ADD_DEPENDENCIES(libmysql ${kerberos_target})
+ # Downgrade warning for strncat in my_crypt_genhash.
+ IF((WITH_LTO OR CMAKE_COMPILER_FLAG_WITH_LTO) AND MY_COMPILER_IS_GNU)
diff --git a/databases/mysql80-server/files/patch-libservices_CMakeLists.txt b/databases/mysql80-server/files/patch-libservices_CMakeLists.txt
index 1fa50bdd2bca..95610f261f3a 100644
--- a/databases/mysql80-server/files/patch-libservices_CMakeLists.txt
+++ b/databases/mysql80-server/files/patch-libservices_CMakeLists.txt
@@ -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 --git a/databases/mysql80-server/files/patch-man_CMakeLists.txt b/databases/mysql80-server/files/patch-man_CMakeLists.txt
index a08c4ce564c0..9c95ebf65a2b 100644
--- a/databases/mysql80-server/files/patch-man_CMakeLists.txt
+++ b/databases/mysql80-server/files/patch-man_CMakeLists.txt
@@ -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 --git a/databases/mysql80-server/files/patch-mysys_my__default.cc b/databases/mysql80-server/files/patch-mysys_my__default.cc
index 6e479597e24a..87b603301f41 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-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 --git a/databases/mysql80-server/files/patch-plugin_x_CMakeLists.txt b/databases/mysql80-server/files/patch-plugin_x_CMakeLists.txt
index e3ee6f45bb06..58cb6a7922b1 100644
--- a/databases/mysql80-server/files/patch-plugin_x_CMakeLists.txt
+++ b/databases/mysql80-server/files/patch-plugin_x_CMakeLists.txt
@@ -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 --git a/databases/mysql80-server/files/patch-plugin_x_client_xconnection__impl.cc b/databases/mysql80-server/files/patch-plugin_x_client_xconnection__impl.cc
index df8f2bfd0942..ecd596100e6b 100644
--- a/databases/mysql80-server/files/patch-plugin_x_client_xconnection__impl.cc
+++ b/databases/mysql80-server/files/patch-plugin_x_client_xconnection__impl.cc
@@ -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 --git a/databases/mysql80-server/files/patch-router_src_harness_src_CMakeLists.txt b/databases/mysql80-server/files/patch-router_src_harness_src_CMakeLists.txt
index 74d19b39f2d3..65fe02456eec 100644
--- a/databases/mysql80-server/files/patch-router_src_harness_src_CMakeLists.txt
+++ b/databases/mysql80-server/files/patch-router_src_harness_src_CMakeLists.txt
@@ -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 --git a/databases/mysql80-server/files/patch-router_src_harness_src_tls__client__context.cc b/databases/mysql80-server/files/patch-router_src_harness_src_tls__client__context.cc
index 3c9c3d70b23f..d4a5ef543b49 100644
--- a/databases/mysql80-server/files/patch-router_src_harness_src_tls__client__context.cc
+++ b/databases/mysql80-server/files/patch-router_src_harness_src_tls__client__context.cc
@@ -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<void, std::error_code> TlsClientContext
+ stdx::expected<void, std::error_code> 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 --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 2d5ba1470260..b1d818afe81a 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,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 --git a/databases/mysql80-server/files/patch-router_src_harness_src_tls__server__context.cc b/databases/mysql80-server/files/patch-router_src_harness_src_tls__server__context.cc
index ac19ffd0c661..e7498ecbfb8a 100644
--- a/databases/mysql80-server/files/patch-router_src_harness_src_tls__server__context.cc
+++ b/databases/mysql80-server/files/patch-router_src_harness_src_tls__server__context.cc
@@ -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<void, std::error_code> TlsServerContext
      }
  
    } else {
diff --git a/databases/mysql80-server/files/patch-router_src_http_src_CMakeLists.txt b/databases/mysql80-server/files/patch-router_src_http_src_CMakeLists.txt
index cea2271c20d1..d6d71414449d 100644
--- a/databases/mysql80-server/files/patch-router_src_http_src_CMakeLists.txt
+++ b/databases/mysql80-server/files/patch-router_src_http_src_CMakeLists.txt
@@ -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 --git a/databases/mysql80-server/files/patch-router_src_router_src_CMakeLists.txt b/databases/mysql80-server/files/patch-router_src_router_src_CMakeLists.txt
index cee2af2e2f73..ae48964a591e 100644
--- a/databases/mysql80-server/files/patch-router_src_router_src_CMakeLists.txt
+++ b/databases/mysql80-server/files/patch-router_src_router_src_CMakeLists.txt
@@ -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 --git a/databases/mysql80-server/files/patch-scripts_CMakeLists.txt b/databases/mysql80-server/files/patch-scripts_CMakeLists.txt
index 976c2397e16d..74acb1291d88 100644
--- a/databases/mysql80-server/files/patch-scripts_CMakeLists.txt
+++ b/databases/mysql80-server/files/patch-scripts_CMakeLists.txt
@@ -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 --git a/databases/mysql80-server/files/patch-scripts_mysqld__safe.txt b/databases/mysql80-server/files/patch-scripts_mysqld__safe.sh
similarity index 84%
rename from databases/mysql80-server/files/patch-scripts_mysqld__safe.txt
rename to databases/mysql80-server/files/patch-scripts_mysqld__safe.sh
index 7da369b97b60..47bc81e3963b 100644
--- a/databases/mysql80-server/files/patch-scripts_mysqld__safe.txt
+++ b/databases/mysql80-server/files/patch-scripts_mysqld__safe.sh
@@ -1,5 +1,5 @@
---- 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
+--- scripts/mysqld_safe.sh.orig	2022-01-23 11:48:36 UTC
++++ scripts/mysqld_safe.sh
 @@ -360,7 +360,7 @@ mysqld_ld_preload_text() {
  # running mysqld.  See ld.so for details.
  set_malloc_lib() {
diff --git a/databases/mysql80-server/files/patch-sql-common_client.cc b/databases/mysql80-server/files/patch-sql-common_client.cc
index acf9035fb33c..b01beea3686b 100644
--- a/databases/mysql80-server/files/patch-sql-common_client.cc
+++ b/databases/mysql80-server/files/patch-sql-common_client.cc
@@ -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<const uint *>(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 --git a/databases/mysql80-server/files/patch-sql_conn__handler_socket__connection.cc b/databases/mysql80-server/files/patch-sql_conn__handler_socket__connection.cc
index edcba63dec28..8f5d99aa45b4 100644
--- a/databases/mysql80-server/files/patch-sql_conn__handler_socket__connection.cc
+++ b/databases/mysql80-server/files/patch-sql_conn__handler_socket__connection.cc
@@ -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 --git a/databases/mysql80-server/files/patch-sql_mysqld.cc b/databases/mysql80-server/files/patch-sql_mysqld.cc
index 39a7fb89844a..a8eccb94f647 100644
--- a/databases/mysql80-server/files/patch-sql_mysqld.cc
+++ b/databases/mysql80-server/files/patch-sql_mysqld.cc
@@ -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 --git a/databases/mysql80-server/files/patch-sql_ssl__init__callback.cc b/databases/mysql80-server/files/patch-sql_ssl__init__callback.cc
new file mode 100644
index 000000000000..33f3d0645524
--- /dev/null
+++ b/databases/mysql80-server/files/patch-sql_ssl__init__callback.cc
@@ -0,0 +1,36 @@
+--- sql/ssl_init_callback.cc.orig	2021-12-17 16:07:27 UTC
++++ sql/ssl_init_callback.cc
+@@ -106,14 +106,14 @@ static Sys_var_charptr Sys_ssl_capath(
+ 
+ static Sys_var_charptr Sys_tls_version(
+     "tls_version",
+-#ifdef HAVE_TLSv13
++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER)
+     "TLS version, permitted values are TLSv1.2, TLSv1.3",
+ #else
+     "TLS version, permitted values are TLSv1.2",
+ #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",
+@@ -175,14 +175,14 @@ static Sys_var_charptr Sys_admin_ssl_capath(
+ 
+ static Sys_var_charptr Sys_admin_tls_version(
+     "admin_tls_version",
+-#ifdef HAVE_TLSv13
++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER)
+     "TLS version for --admin-port, permitted values are TLSv1.2, TLSv1.3",
+ #else
+     "TLS version for --admin-port, permitted values are TLSv1.2",
+ #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 --git a/databases/mysql80-server/files/patch-sql_sys__vars.cc b/databases/mysql80-server/files/patch-sql_sys__vars.cc
index 9c12715fd6df..3bee6a98fbad 100644
--- a/databases/mysql80-server/files/patch-sql_sys__vars.cc
+++ b/databases/mysql80-server/files/patch-sql_sys__vars.cc
@@ -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 --git a/databases/mysql80-server/files/patch-ssl__init__callback.cc b/databases/mysql80-server/files/patch-ssl__init__callback.cc
deleted file mode 100644
index 2d80cf5e6c78..000000000000
--- a/databases/mysql80-server/files/patch-ssl__init__callback.cc
+++ /dev/null
@@ -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 --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
index 5297a5023741..3898f3653e6e 100644
--- 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
@@ -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 --git a/databases/mysql80-server/files/patch-vio_viossl.cc b/databases/mysql80-server/files/patch-vio_viossl.cc
index e7f2a2a7c952..8fe78ce89f2a 100644
--- a/databases/mysql80-server/files/patch-vio_viossl.cc
+++ b/databases/mysql80-server/files/patch-vio_viossl.cc
@@ -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 --git a/databases/mysql80-server/files/patch-vio_viosslfactories.cc b/databases/mysql80-server/files/patch-vio_viosslfactories.cc
index 8c88903163ee..06cc1f909f4f 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	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;
    }