Index: branches/2021Q1/databases/mysql56-client/files/patch-cmake_ssl.cmake =================================================================== --- branches/2021Q1/databases/mysql56-client/files/patch-cmake_ssl.cmake (revision 564146) +++ branches/2021Q1/databases/mysql56-client/files/patch-cmake_ssl.cmake (revision 564147) @@ -1,25 +1,26 @@ --- cmake/ssl.cmake.orig 2019-11-26 16:53:45 UTC +++ cmake/ssl.cmake @@ -189,13 +189,20 @@ 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) ++ #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) + ELSEIF(OPENSSL_INCLUDE_DIR AND + OPENSSL_LIBRARY AND + CRYPTO_LIBRARY AND + OPENSSL_MAJOR_VERSION STREQUAL "2" ) SET(OPENSSL_FOUND TRUE) ELSE() Index: branches/2021Q1/databases/mysql56-client/files/patch-vio_viossl.c =================================================================== --- branches/2021Q1/databases/mysql56-client/files/patch-vio_viossl.c (revision 564146) +++ branches/2021Q1/databases/mysql56-client/files/patch-vio_viossl.c (revision 564147) @@ -1,11 +1,20 @@ --- vio/viossl.c.orig 2019-11-26 16:53:45 UTC +++ vio/viossl.c +@@ -385,7 +385,7 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, + DBUG_PRINT("info", ("ssl: 0x%lx timeout: %ld", (long) ssl, timeout)); + SSL_clear(ssl); + SSL_set_fd(ssl, sd); +-#if defined(SSL_OP_NO_COMPRESSION) ++#if defined(SSL_OP_NO_COMPRESSION) && !defined(LIBRESSL_VERSION_NUMBER) + SSL_set_options(ssl, SSL_OP_NO_COMPRESSION); /* OpenSSL >= 1.0 only */ + #elif OPENSSL_VERSION_NUMBER >= 0x00908000L /* workaround for OpenSSL 0.9.8 */ + sk_SSL_COMP_zero(SSL_COMP_get_compression_methods()); @@ -403,7 +403,7 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, for (j = 0; j < n; j++) { SSL_COMP *c = sk_SSL_COMP_value(ssl_comp_methods, j); -#if OPENSSL_VERSION_NUMBER < 0x10100000L +#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) DBUG_PRINT("info", (" %d: %s\n", c->id, c->name)); #else /* OPENSSL_VERSION_NUMBER < 0x10100000L */ DBUG_PRINT("info", (" %d: %s\n", SSL_COMP_get_id(c), SSL_COMP_get0_name(c))); Index: branches/2021Q1/databases/mysql56-client/files/patch-vio_viosslfactories.c =================================================================== --- branches/2021Q1/databases/mysql56-client/files/patch-vio_viosslfactories.c (revision 564146) +++ branches/2021Q1/databases/mysql56-client/files/patch-vio_viosslfactories.c (revision 564147) @@ -1,20 +1,38 @@ --- vio/viosslfactories.c.orig 2019-11-26 16:53:45 UTC +++ vio/viosslfactories.c @@ -91,7 +91,7 @@ static DH *get_dh2048(void) DH_free(dh); return NULL; } -#if OPENSSL_VERSION_NUMBER < 0x10100000L +#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) dh->p= p; dh->g= g; #endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */ +@@ -226,7 +226,7 @@ new_VioSSLFd(const char *key_file, const char *cert_fi + struct st_VioSSLFd *ssl_fd; + /* MySQL 5.6 supports TLS up to v1.2, explicitly disable TLSv1.3. */ + long ssl_ctx_options= SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 | +-#ifdef HAVE_TLSv13 ++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) + SSL_OP_NO_TLSv1_3 | + #endif /* HAVE_TLSv13 */ + SSL_OP_NO_TICKET; @@ -250,7 +250,7 @@ new_VioSSLFd(const char *key_file, const char *cert_fi DBUG_RETURN(0); if (!(ssl_fd->ssl_context= SSL_CTX_new(is_client ? -#if OPENSSL_VERSION_NUMBER < 0x10100000L +#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) SSLv23_client_method() : SSLv23_server_method() #else /* OPENSSL_VERSION_NUMBER < 0x10100000L */ +@@ -268,7 +268,7 @@ new_VioSSLFd(const char *key_file, const char *cert_fi + + SSL_CTX_set_options(ssl_fd->ssl_context, ssl_ctx_options); + +-#ifdef HAVE_TLSv13 ++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) + /* + MySQL 5.6 doesn't support TLSv1.3 - set empty TLSv1.3 ciphersuites. + */ Index: branches/2021Q1/databases/mysql56-server/Makefile =================================================================== --- branches/2021Q1/databases/mysql56-server/Makefile (revision 564146) +++ branches/2021Q1/databases/mysql56-server/Makefile (revision 564147) @@ -1,172 +1,172 @@ # Created by: Alex Dupre # $FreeBSD$ PORTNAME?= mysql -PORTVERSION= 5.6.50 +PORTVERSION= 5.6.51 PORTREVISION?= 0 CATEGORIES= databases MASTER_SITES= MYSQL/MySQL-5.6 PKGNAMESUFFIX?= 56-server MAINTAINER= joneum@FreeBSD.org COMMENT?= Multithreaded SQL database (server) LICENSE= GPLv2 BROKEN_armv6= qemu: uncaught target signal 11 (Segmentation fault) - core dumped SLAVEDIRS= databases/mysql56-client USES= bison:build cmake:noninja cpe groff:run libedit localbase \ perl5 shebangfix ssl USE_PERL5= run MY_DBDIR= /var/db/mysql MY_SECDIR= /var/db/mysql_secure MY_TMPDIR= /var/db/mysql_tmpdir LIB_DEPENDS+= libevent.so:devel/libevent \ liblz4.so:archivers/liblz4 CMAKE_BUILD_TYPE= Release CMAKE_ARGS+= -DINSTALL_LAYOUT=FREEBSD \ -DINSTALL_LDCONFIGDIR="${LOCALBASE}/libdata/ldconfig" \ -DINSTALL_PKGCONFIGDIR="${LOCALBASE}/libdata/pkgconfig" \ -DINSTALL_DOCDIR="share/doc/mysql" \ -DINSTALL_DOCREADMEDIR="share/doc/mysql" \ -DINSTALL_INCLUDEDIR="include/mysql" \ -DINSTALL_INFODIR="${INFO_PATH}" \ -DINSTALL_LIBDIR="lib/mysql" \ -DINSTALL_MANDIR="man" \ -DINSTALL_MYSQLDATADIR="${MY_DBDIR}" \ -DINSTALL_MYSQLKEYRINGDIR="etc/mysql/keyring" \ -DINSTALL_MYSQLSHAREDIR="share/mysql" \ -DINSTALL_MYSQLTESTDIR="share/mysql/tests" \ -DINSTALL_PLUGINDIR="lib/mysql/plugin" \ -DINSTALL_SBINDIR="libexec" \ -DINSTALL_SCRIPTDIR="bin" \ -DINSTALL_SECURE_FILE_PRIVDIR="${MY_SECDIR}" \ -DINSTALL_SHAREDIR="share" \ -DINSTALL_SQLBENCHDIR="share/mysql" \ -DINSTALL_SUPPORTFILESDIR="share/mysql" \ -DMYSQL_KEYRINGDIR="${ETCDIR}/keyring" \ -DWITH_BOOST="${WRKSRC}/boost" \ -DWITH_EDITLINE=system \ -DWITH_LIBEVENT=system \ -DWITH_LZ4=system \ -DWITH_ZLIB=system \ -DWITH_SSL=${OPENSSLBASE} \ -DCRYPTO_LIBRARY=${OPENSSLLIB}/libcrypto.so \ -DOPENSSL_LIBRARY=${OPENSSLLIB}/libssl.so \ -DINSTALL_MYSQLTESTDIR=0 SHEBANG_FILES= scripts/*.pl* scripts/*.sh .ifdef USE_MYSQL .error You have `USE_MYSQL' variable defined either in environment or in make(1) arguments. Please undefine and try again. .endif SUB_LIST= MY_DBDIR=${MY_DBDIR} \ MY_SECDIR=${MY_SECDIR} \ MY_TMPDIR=${MY_TMPDIR} PLIST_SUB= MY_DBDIR=${MY_DBDIR} \ MY_SECDIR=${MY_SECDIR} \ MY_TMPDIR=${MY_TMPDIR} # MySQL-Server part .if !defined(CLIENT_ONLY) USES+= mysql:56 CONFLICTS_INSTALL= mysql5[0-57-9]-server-* \ mysql[0-46-9][0-9]-server-* \ mysqlwsrep* \ mariadb[0-9][0-9]-server-* \ percona[0-9][0-9]-server-* USE_RC_SUBR= mysql-server SUB_FILES= my.cnf.sample pkg-message USERS= mysql GROUPS= mysql USE_LDCONFIG+= ${PREFIX}/lib/mysql/plugin MMAN1= my_print_defaults.1 myisam_ftdump.1 myisamchk.1 myisamlog.1 myisampack.1 \ mysql.server.1 mysql_convert_table_format.1 mysql_fix_extensions.1 \ mysql_install_db.1 mysql_plugin.1 mysql_secure_installation.1 mysql_setpermission.1 \ mysql_tzinfo_to_sql.1 mysql_upgrade.1 mysql_zap.1 mysqlbug.1 \ mysqld_multi.1 mysqld_safe.1 mysqldumpslow.1 mysqlhotcopy.1 mysqlman.1 \ mysqltest.1 perror.1 replace.1 resolve_stack_dump.1 resolveip.1 CMAKE_ARGS+= -DWITH_EMBEDDED_SERVER="ON" OPTIONS_GROUP= STORAGE OPTIONS_GROUP_STORAGE= ARCHIVE BLACKHOLE EXAMPLE FEDERATED INNOBASE PARTITION PERFSCHEMA OPTIONS_SUB= YES STORAGE_DESC= Permissible "Storage Engines" (to compile statically into the server) ARCHIVE_DESC= Compile "Archive Storage" statically in server BLACKHOLE_DESC= Compile "Blackhole Storage" statically in server EXAMPLE_DESC= Compile "Example Storage" statically in server FEDERATED_DESC= Compile "Federated Storage" statically in server INNOBASE_DESC= Compile "InnoDB Storage" statically in server PARTITION_DESC= Compile "Partitioning support Storage" statically in server PERFSCHEMA_DESC= Compile "Performance Schema Storage" statically in server ARCHIVE_CMAKE_ON= -DWITH_ARCHIVE_STORAGE_ENGINE=1 BLACKHOLE_CMAKE_ON= -DWITH_BLACKHOLE_STORAGE_ENGINE=1 EXAMPLE_CMAKE_ON= -DWITH_EXAMPLE_STORAGE_ENGINE=1 FEDERATED_CMAKE_ON= -DWITH_FEDERATED_STORAGE_ENGINE=1 INNOBASE_CMAKE_ON= -DWITH_INNOBASE_STORAGE_ENGINE=1 PARTITION_CMAKE_ON= -DWITH_PARTITION_STORAGE_ENGINE=1 PERFSCHEMA_CMAKE_ON= -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 OPTIONS_GROUP+= FEATURES OPTIONS_GROUP_FEATURES= PERFSCHM FEATURES_DESC= Default features knobs PERFSCHM_DESC= Enable "Performance Schema" by default (High RAM usage) OPTIONS_DEFAULT+= PERFSCHM PERFSCHM_SUB_LIST+= PERFSCHEMRC="" PERFSCHM_SUB_LIST_OFF+= PERFSCHEMRC="--skip-performance-schema" FEDERATED_SUB_LIST+= FEDER="--federated" FEDERATED_SUB_LIST_OFF+= FEDER="" .endif .include .if defined(PPC_ABI) && ${PPC_ABI} == ELFv2 USES+= compiler:gcc-c++11-lib USE_CXXSTD= gnu++11 .else USES+= compiler:c++11-lib USE_CXXSTD= c++11 .endif .if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1200057 SUB_LIST+= LEGACY_LIMITS="@comment " MODERN_LIMITS="" .else SUB_LIST+= LEGACY_LIMITS="" MODERN_LIMITS="@comment " .endif .include post-patch: @${REINPLACE_CMD} 's/*.1/${MMAN1}/' ${WRKSRC}/man/CMakeLists.txt .if !defined(CLIENT_ONLY) post-install: ${MKDIR} ${STAGEDIR}${ETCDIR} ${INSTALL_DATA} ${WRKDIR}/my.cnf.sample ${STAGEDIR}${ETCDIR}/my.cnf.sample ${MKDIR} ${STAGEDIR}${ETCDIR}/keyring ${MKDIR} ${STAGEDIR}${MY_SECDIR} ${MKDIR} ${STAGEDIR}${MY_TMPDIR} .endif .if ${ARCH} == armv6 || ${ARCH} == armv7 EXTRA_PATCHES+= ${FILESDIR}/extra-patch-config.h.cmake .endif .include Index: branches/2021Q1/databases/mysql56-server/distinfo =================================================================== --- branches/2021Q1/databases/mysql56-server/distinfo (revision 564146) +++ branches/2021Q1/databases/mysql56-server/distinfo (revision 564147) @@ -1,3 +1,3 @@ -TIMESTAMP = 1603108497 -SHA256 (mysql-5.6.50.tar.gz) = efc48d8160a66b50fc498bb42ea730c3b6f30f036b709a7070d356edd645923e -SIZE (mysql-5.6.50.tar.gz) = 32409084 +TIMESTAMP = 1611992804 +SHA256 (mysql-5.6.51.tar.gz) = 262ccaf2930fca1f33787505dd125a7a04844f40d3421289a51974b5935d9abc +SIZE (mysql-5.6.51.tar.gz) = 32411131 Index: branches/2021Q1/databases/mysql56-server/files/patch-cmake_ssl.cmake =================================================================== --- branches/2021Q1/databases/mysql56-server/files/patch-cmake_ssl.cmake (revision 564146) +++ branches/2021Q1/databases/mysql56-server/files/patch-cmake_ssl.cmake (revision 564147) @@ -1,25 +1,26 @@ --- cmake/ssl.cmake.orig 2019-11-26 16:53:45 UTC +++ cmake/ssl.cmake @@ -189,13 +189,20 @@ 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) ++ #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) + ELSEIF(OPENSSL_INCLUDE_DIR AND + OPENSSL_LIBRARY AND + CRYPTO_LIBRARY AND + OPENSSL_MAJOR_VERSION STREQUAL "2" ) SET(OPENSSL_FOUND TRUE) ELSE() Index: branches/2021Q1/databases/mysql56-server/files/patch-vio_viossl.c =================================================================== --- branches/2021Q1/databases/mysql56-server/files/patch-vio_viossl.c (revision 564146) +++ branches/2021Q1/databases/mysql56-server/files/patch-vio_viossl.c (revision 564147) @@ -1,11 +1,20 @@ --- vio/viossl.c.orig 2019-11-26 16:53:45 UTC +++ vio/viossl.c +@@ -385,7 +385,7 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, + DBUG_PRINT("info", ("ssl: 0x%lx timeout: %ld", (long) ssl, timeout)); + SSL_clear(ssl); + SSL_set_fd(ssl, sd); +-#if defined(SSL_OP_NO_COMPRESSION) ++#if defined(SSL_OP_NO_COMPRESSION) && !defined(LIBRESSL_VERSION_NUMBER) + SSL_set_options(ssl, SSL_OP_NO_COMPRESSION); /* OpenSSL >= 1.0 only */ + #elif OPENSSL_VERSION_NUMBER >= 0x00908000L /* workaround for OpenSSL 0.9.8 */ + sk_SSL_COMP_zero(SSL_COMP_get_compression_methods()); @@ -403,7 +403,7 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, for (j = 0; j < n; j++) { SSL_COMP *c = sk_SSL_COMP_value(ssl_comp_methods, j); -#if OPENSSL_VERSION_NUMBER < 0x10100000L +#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) DBUG_PRINT("info", (" %d: %s\n", c->id, c->name)); #else /* OPENSSL_VERSION_NUMBER < 0x10100000L */ DBUG_PRINT("info", (" %d: %s\n", SSL_COMP_get_id(c), SSL_COMP_get0_name(c))); Index: branches/2021Q1/databases/mysql56-server/files/patch-vio_viosslfactories.c =================================================================== --- branches/2021Q1/databases/mysql56-server/files/patch-vio_viosslfactories.c (revision 564146) +++ branches/2021Q1/databases/mysql56-server/files/patch-vio_viosslfactories.c (revision 564147) @@ -1,20 +1,38 @@ --- vio/viosslfactories.c.orig 2019-11-26 16:53:45 UTC +++ vio/viosslfactories.c @@ -91,7 +91,7 @@ static DH *get_dh2048(void) DH_free(dh); return NULL; } -#if OPENSSL_VERSION_NUMBER < 0x10100000L +#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) dh->p= p; dh->g= g; #endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */ +@@ -226,7 +226,7 @@ new_VioSSLFd(const char *key_file, const char *cert_fi + struct st_VioSSLFd *ssl_fd; + /* MySQL 5.6 supports TLS up to v1.2, explicitly disable TLSv1.3. */ + long ssl_ctx_options= SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 | +-#ifdef HAVE_TLSv13 ++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) + SSL_OP_NO_TLSv1_3 | + #endif /* HAVE_TLSv13 */ + SSL_OP_NO_TICKET; @@ -250,7 +250,7 @@ new_VioSSLFd(const char *key_file, const char *cert_fi DBUG_RETURN(0); if (!(ssl_fd->ssl_context= SSL_CTX_new(is_client ? -#if OPENSSL_VERSION_NUMBER < 0x10100000L +#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) SSLv23_client_method() : SSLv23_server_method() #else /* OPENSSL_VERSION_NUMBER < 0x10100000L */ +@@ -268,7 +268,7 @@ new_VioSSLFd(const char *key_file, const char *cert_fi + + SSL_CTX_set_options(ssl_fd->ssl_context, ssl_ctx_options); + +-#ifdef HAVE_TLSv13 ++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) + /* + MySQL 5.6 doesn't support TLSv1.3 - set empty TLSv1.3 ciphersuites. + */ Index: branches/2021Q1/databases/mysql57-client/files/patch-cmake_ssl.cmake =================================================================== --- branches/2021Q1/databases/mysql57-client/files/patch-cmake_ssl.cmake (revision 564146) +++ branches/2021Q1/databases/mysql57-client/files/patch-cmake_ssl.cmake (revision 564147) @@ -1,48 +1,54 @@ ---- cmake/ssl.cmake.orig 2020-07-08 22:29:14.999896000 +0200 -+++ cmake/ssl.cmake 2020-07-08 22:44:05.251931000 +0200 +--- cmake/ssl.cmake.orig 2019-12-06 10:41:47 UTC ++++ cmake/ssl.cmake @@ -150,22 +150,12 @@ MACRO (MYSQL_CHECK_SSL) MESSAGE(STATUS "OPENSSL_APPLINK_C ${OPENSSL_APPLINK_C}") ENDIF() - # On mac this list is <.dylib;.so;.a> - # We prefer static libraries, so we reverse it here. - IF (WITH_SSL_PATH) - LIST(REVERSE CMAKE_FIND_LIBRARY_SUFFIXES) - MESSAGE(STATUS "suffixes <${CMAKE_FIND_LIBRARY_SUFFIXES}>") - ENDIF() - FIND_LIBRARY(OPENSSL_LIBRARY NAMES ssl libssl ssleay32 ssleay32MD HINTS ${OPENSSL_ROOT_DIR}/lib) FIND_LIBRARY(CRYPTO_LIBRARY NAMES crypto libcrypto libeay32 HINTS ${OPENSSL_ROOT_DIR}/lib) - IF (WITH_SSL_PATH) - LIST(REVERSE CMAKE_FIND_LIBRARY_SUFFIXES) - ENDIF() IF(OPENSSL_INCLUDE_DIR) # Verify version number. Version information looks like: -@@ -193,7 +183,8 @@ MACRO (MYSQL_CHECK_SSL) +@@ -193,9 +183,10 @@ MACRO (MYSQL_CHECK_SSL) ) SET(OPENSSL_VERSION ${OPENSSL_VERSION} CACHE INTERNAL "") - IF("${OPENSSL_VERSION}" VERSION_GREATER "1.1.0") -+ CHECK_SYMBOL_EXISTS(TLS1_3_VERSION "openssl/tls1.h" HAVE_TLS1_3_VERSION) -+ IF(HAVE_TLS1_3_VERSION) - ADD_DEFINITIONS(-DHAVE_TLSv13) - SET(HAVE_TLSv13 1) +- ADD_DEFINITIONS(-DHAVE_TLSv13) +- SET(HAVE_TLSv13 1) ++ CHECK_SYMBOL_EXISTS(TLS1_3_VERSION "openssl/tls1.h" HAVE_TLS1_3_VERSION) ++ IF(HAVE_TLS1_3_VERSION) ++ #ADD_DEFINITIONS(-DHAVE_TLSv13) ++ #SET(HAVE_TLSv13 1) IF(SOLARIS) -@@ -204,6 +195,12 @@ MACRO (MYSQL_CHECK_SSL) + SET(FORCE_SSL_SOLARIS "-Wl,--undefined,address_of_sk_new_null") + ENDIF() +@@ -203,7 +204,13 @@ MACRO (MYSQL_CHECK_SSL) + IF(OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARY AND CRYPTO_LIBRARY AND - OPENSSL_MAJOR_VERSION STREQUAL "1" -+ ) -+ SET(OPENSSL_FOUND TRUE) -+ ELSEIF(OPENSSL_INCLUDE_DIR AND -+ OPENSSL_LIBRARY AND -+ CRYPTO_LIBRARY AND -+ OPENSSL_MAJOR_VERSION STREQUAL "2" +- OPENSSL_MAJOR_VERSION STREQUAL "1" ++ OPENSSL_MAJOR_VERSION VERSION_GREATER_EQUAL "1" ++ ) ++ SET(OPENSSL_FOUND TRUE) ++ ELSEIF(OPENSSL_INCLUDE_DIR AND ++ OPENSSL_LIBRARY AND ++ CRYPTO_LIBRARY AND ++ OPENSSL_MAJOR_VERSION STREQUAL "2" ) SET(OPENSSL_FOUND TRUE) ELSE() Index: branches/2021Q1/databases/mysql57-client/files/patch-vio_viosslfactories.c =================================================================== --- branches/2021Q1/databases/mysql57-client/files/patch-vio_viosslfactories.c (revision 564146) +++ branches/2021Q1/databases/mysql57-client/files/patch-vio_viosslfactories.c (revision 564147) @@ -1,35 +1,62 @@ --- vio/viosslfactories.c +++ vio/viosslfactories.c @@ -123,21 +123,19 @@ static DH *get_dh2048(void) DH *dh; if ((dh=DH_new())) { - BIGNUM *p= BN_bin2bn(dh2048_p, sizeof(dh2048_p), NULL); - BIGNUM *g= BN_bin2bn(dh2048_g, sizeof(dh2048_g), NULL); - if (!p || !g -#if OPENSSL_VERSION_NUMBER >= 0x10100000L - || !DH_set0_pqg(dh, p, NULL, g) -#endif /* OPENSSL_VERSION_NUMBER >= 0x10100000L */ - ) { - /* DH_free() will free 'p' and 'g' at once. */ + BIGNUM *p = BN_bin2bn(dh2048_p,sizeof(dh2048_p), NULL); + BIGNUM *g = BN_bin2bn(dh2048_g,sizeof(dh2048_g), NULL); +#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + dh->p=p; + dh->g=g; + if (! dh->p || ! dh->g) +#else + if (!DH_set0_pqg(dh, p, NULL, g)) +#endif + { DH_free(dh); - return NULL; + dh = NULL; } -#if OPENSSL_VERSION_NUMBER < 0x10100000L - dh->p= p; - dh->g= g; -#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */ } return(dh); } +@@ -503,7 +501,7 @@ new_VioSSLFd(const char *key_file, const char *cert_fi + struct st_VioSSLFd *ssl_fd; + /* MySQL 5.7 supports TLS up to v1.2, explicitly disable TLSv1.3. */ + long ssl_ctx_options= SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 +-#ifdef HAVE_TLSv13 ++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) + | SSL_OP_NO_TLSv1_3 + #endif /* HAVE_TLSv13 */ + ; +@@ -536,7 +534,7 @@ new_VioSSLFd(const char *key_file, const char *cert_fi + SSL_OP_NO_TLSv1 | + SSL_OP_NO_TLSv1_1 + | SSL_OP_NO_TLSv1_2 +-#ifdef HAVE_TLSv13 ++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) + | SSL_OP_NO_TLSv1_3 + #endif /* HAVE_TLSv13 */ + | SSL_OP_NO_TICKET +@@ -559,7 +557,7 @@ new_VioSSLFd(const char *key_file, const char *cert_fi + + SSL_CTX_set_options(ssl_fd->ssl_context, ssl_ctx_options); + +-#ifdef HAVE_TLSv13 ++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) + /* + MySQL 5.7 doesn't support TLSv1.3 - set empty TLSv1.3 ciphersuites. + */ Index: branches/2021Q1/databases/mysql57-server/Makefile =================================================================== --- branches/2021Q1/databases/mysql57-server/Makefile (revision 564146) +++ branches/2021Q1/databases/mysql57-server/Makefile (revision 564147) @@ -1,195 +1,195 @@ # Created by: Mahdi Mokhtari # $FreeBSD$ PORTNAME?= mysql -PORTVERSION= 5.7.32 +PORTVERSION= 5.7.33 PORTREVISION?= 0 CATEGORIES= databases MASTER_SITES= MYSQL/MySQL-5.7 PKGNAMESUFFIX?= 57-server DISTNAME= ${PORTNAME}-boost-${PORTVERSION} MAINTAINER= joneum@FreeBSD.org COMMENT?= Multithreaded SQL database (server) LICENSE= GPLv2 WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION} SLAVEDIRS= databases/mysql57-client USES= bison:build cmake:noninja compiler:c11 compiler:c++11-lib \ cpe groff:run libedit localbase perl5 shebangfix ssl USE_PERL5= run MY_DBDIR= /var/db/mysql MY_SECDIR= /var/db/mysql_secure MY_TMPDIR= /var/db/mysql_tmpdir LIB_DEPENDS+= libcurl.so:ftp/curl \ libevent.so:devel/libevent \ liblz4.so:archivers/liblz4 \ libprotobuf.so:devel/protobuf CMAKE_BUILD_TYPE= Release CMAKE_ARGS+= -DINSTALL_LAYOUT=FREEBSD \ -DINSTALL_LDCONFIGDIR="${LOCALBASE}/libdata/ldconfig" \ -DINSTALL_PKGCONFIGDIR="${LOCALBASE}/libdata/pkgconfig" \ -DINSTALL_DOCDIR="share/doc/mysql" \ -DINSTALL_DOCREADMEDIR="share/doc/mysql" \ -DINSTALL_INCLUDEDIR="include/mysql" \ -DINSTALL_INFODIR="${INFO_PATH}" \ -DINSTALL_LIBDIR="lib/mysql" \ -DINSTALL_MANDIR="man" \ -DINSTALL_MYSQLDATADIR="${MY_DBDIR}" \ -DINSTALL_MYSQLKEYRINGDIR="etc/mysql/keyring" \ -DINSTALL_MYSQLSHAREDIR="share/mysql" \ -DINSTALL_MYSQLTESTDIR="share/mysql/tests" \ -DINSTALL_PLUGINDIR="lib/mysql/plugin" \ -DINSTALL_SBINDIR="libexec" \ -DINSTALL_SCRIPTDIR="bin" \ -DINSTALL_SECURE_FILE_PRIVDIR="${MY_SECDIR}" \ -DINSTALL_SHAREDIR="share" \ -DINSTALL_SUPPORTFILESDIR="share/mysql" \ -DMYSQL_KEYRINGDIR="${ETCDIR}/keyring" \ -DWITH_BOOST="${WRKSRC}/boost" \ -DWITH_EDITLINE=system \ -DWITH_LIBEVENT=system \ -DWITH_LZ4=system \ -DWITH_ZLIB=system \ -DWITH_PROTOBUF=system \ -DWITH_CURL=system \ -DINSTALL_MYSQLTESTDIR=0 \ -DWITH_DEBUG=0 SHEBANG_FILES= scripts/*.pl* scripts/*.sh .ifdef USE_MYSQL .error You have `USE_MYSQL' variable defined either in environment or in make(1) arguments. Please undefine and try again. .endif SUB_LIST= MY_DBDIR=${MY_DBDIR} \ MY_SECDIR=${MY_SECDIR} \ MY_TMPDIR=${MY_TMPDIR} PLIST_SUB= MY_DBDIR=${MY_DBDIR} \ MY_SECDIR=${MY_SECDIR} \ MY_TMPDIR=${MY_TMPDIR} OPTIONS_SUB= YES # MySQL-Server part .if !defined(CLIENT_ONLY) USES+= mysql:57 CONFLICTS_INSTALL= mysql5[0-68-9]-server-* \ mysql[0-46-9][0-9]-server-* \ mysqlwsrep* \ mariadb[0-9][0-9]-server-* \ percona[0-9][0-9]-server-* USE_RC_SUBR= mysql-server SUB_FILES= my.cnf.sample pkg-message USERS= mysql GROUPS= mysql USE_CXXSTD= c++11 USE_LDCONFIG+= ${PREFIX}/lib/mysql/plugin MMAN1= my_print_defaults.1 myisam_ftdump.1 myisamchk.1 myisamlog.1 myisampack.1 \ mysql.server.1 mysql_convert_table_format.1 mysql_fix_extensions.1 \ mysql_install_db.1 mysql_plugin.1 mysql_secure_installation.1 mysql_setpermission.1 \ mysql_tzinfo_to_sql.1 mysql_upgrade.1 mysql_zap.1 mysqlbug.1 \ mysqld_multi.1 mysqld_safe.1 mysqldumpslow.1 mysqlhotcopy.1 mysqlman.1 \ mysqltest.1 perror.1 replace.1 resolve_stack_dump.1 resolveip.1 CMAKE_ARGS+= -DWITH_EMBEDDED_SERVER="ON" OPTIONS_GROUP+= STORAGE OPTIONS_GROUP_STORAGE= ARCHIVE BLACKHOLE EXAMPLE FEDERATED INNOBASE PARTITION PERFSCHEMA STORAGE_DESC= Permissible "Storage Engines" (to compile statically into the server) ARCHIVE_DESC= Compile "Archive Storage" statically in server BLACKHOLE_DESC= Compile "Blackhole Storage" statically in server EXAMPLE_DESC= Compile "Example Storage" statically in server FEDERATED_DESC= Compile "Federated Storage" statically in server INNOBASE_DESC= Compile "InnoDB Storage" statically in server PARTITION_DESC= Compile "Partitioning support Storage" statically in server PERFSCHEMA_DESC= Compile "Performance Schema Storage" statically in server ARCHIVE_CMAKE_ON= -DWITH_ARCHIVE_STORAGE_ENGINE=1 BLACKHOLE_CMAKE_ON= -DWITH_BLACKHOLE_STORAGE_ENGINE=1 EXAMPLE_CMAKE_ON= -DWITH_EXAMPLE_STORAGE_ENGINE=1 FEDERATED_CMAKE_ON= -DWITH_FEDERATED_STORAGE_ENGINE=1 INNOBASE_CMAKE_ON= -DWITH_INNOBASE_STORAGE_ENGINE=1 PARTITION_CMAKE_ON= -DWITH_PARTITION_STORAGE_ENGINE=1 PERFSCHEMA_CMAKE_ON= -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 OPTIONS_GROUP+= FEATURES FEATURES_DESC= Default features knobs OPTIONS_GROUP_FEATURES= PERFSCHM PERFSCHM_DESC= Enable "Performance Schema" by default (High RAM usage) OPTIONS_DEFAULT+= PERFSCHM PERFSCHM_SUB_LIST+= PERFSCHEMRC="" PERFSCHM_SUB_LIST_OFF+= PERFSCHEMRC="--skip-performance-schema" FEDERATED_SUB_LIST+= FEDER="--federated" FEDERATED_SUB_LIST_OFF+= FEDER="" # issue 220865: Currently there's no source to be built with server-side support. # But this keeps the pkg-plist not overlaping CMAKE_ARGS+= -DWITH_AUTHENTICATION_LDAP=0 .endif .include .if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1200057 SUB_LIST+= LEGACY_LIMITS="@comment " MODERN_LIMITS="" .else SUB_LIST+= LEGACY_LIMITS="" MODERN_LIMITS="@comment " .endif .include .if ${SSL_DEFAULT} == base CMAKE_ARGS+= -DWITH_SSL=system .else CMAKE_ARGS+= -DWITH_SSL=${OPENSSLBASE} .endif .if ${CHOSEN_COMPILER_TYPE} == gcc CXXFLAGS+= -fpermissive .endif # mysql57-server fails to compile with llvm11, which was imported to current in r364284 # without a version increase (1300109 = r364274). # Until a proper fix is provided, simply use llvm from ports, which probably could be # a backport of amongst other tings: # https://github.com/mysql/mysql-server/commit/08f46b3c00ee70e7ed7825daeb91df2289f80f50 .if ${CHOSEN_COMPILER_TYPE} == clang && ${OPSYS} == FreeBSD && ${OSVERSION} >= 1300109 BUILD_DEPENDS+= clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT} CC= ${LOCALBASE}/bin/clang${LLVM_DEFAULT} CXX= ${LOCALBASE}/bin/clang++${LLVM_DEFAULT} .endif post-extract: @${RM} -rv ${WRKSRC}/sql/sql_hints.yy.cc ${WRKSRC}/sql/sql_hints.yy.h post-patch: @${REINPLACE_CMD} 's/*.1/${MMAN1}/' ${WRKSRC}/man/CMakeLists.txt # issue 220865: MySQL developers forgot that FreeBSD != Linux @${REINPLACE_CMD} -e 's|%%FREEBSD_LOCAL_LIB%%|${LOCALBASE}/lib|g' \ ${WRKSRC}/configure.cmake .if !defined(CLIENT_ONLY) post-install: ${MKDIR} ${STAGEDIR}${ETCDIR} ${INSTALL_DATA} ${WRKDIR}/my.cnf.sample ${STAGEDIR}${ETCDIR}/my.cnf.sample ${MKDIR} ${STAGEDIR}${ETCDIR}/keyring ${MKDIR} ${STAGEDIR}${MY_SECDIR} ${MKDIR} ${STAGEDIR}${MY_TMPDIR} .endif .include Index: branches/2021Q1/databases/mysql57-server/distinfo =================================================================== --- branches/2021Q1/databases/mysql57-server/distinfo (revision 564146) +++ branches/2021Q1/databases/mysql57-server/distinfo (revision 564147) @@ -1,3 +1,3 @@ -TIMESTAMP = 1603133127 -SHA256 (mysql-boost-5.7.32.tar.gz) = 9a8a04a2b0116ccff9a8d8aace07aaeaacf47329b701c5dfa9fa4351d3f1933b -SIZE (mysql-boost-5.7.32.tar.gz) = 52882168 +TIMESTAMP = 1612332815 +SHA256 (mysql-boost-5.7.33.tar.gz) = cfcaf6f37a055d808fe1472eb0359864e2227aa0206c55c4e1961bab2ecc304b +SIZE (mysql-boost-5.7.33.tar.gz) = 52912380 Index: branches/2021Q1/databases/mysql57-server/files/patch-cmake_ssl.cmake =================================================================== --- branches/2021Q1/databases/mysql57-server/files/patch-cmake_ssl.cmake (revision 564146) +++ branches/2021Q1/databases/mysql57-server/files/patch-cmake_ssl.cmake (revision 564147) @@ -1,27 +1,54 @@ --- cmake/ssl.cmake.orig 2019-12-06 10:41:47 UTC +++ cmake/ssl.cmake -@@ -193,7 +193,8 @@ MACRO (MYSQL_CHECK_SSL) +@@ -150,22 +150,12 @@ MACRO (MYSQL_CHECK_SSL) + MESSAGE(STATUS "OPENSSL_APPLINK_C ${OPENSSL_APPLINK_C}") + ENDIF() + +- # On mac this list is <.dylib;.so;.a> +- # We prefer static libraries, so we reverse it here. +- IF (WITH_SSL_PATH) +- LIST(REVERSE CMAKE_FIND_LIBRARY_SUFFIXES) +- MESSAGE(STATUS "suffixes <${CMAKE_FIND_LIBRARY_SUFFIXES}>") +- ENDIF() +- + FIND_LIBRARY(OPENSSL_LIBRARY + NAMES ssl libssl ssleay32 ssleay32MD + HINTS ${OPENSSL_ROOT_DIR}/lib) + FIND_LIBRARY(CRYPTO_LIBRARY + NAMES crypto libcrypto libeay32 + HINTS ${OPENSSL_ROOT_DIR}/lib) +- IF (WITH_SSL_PATH) +- LIST(REVERSE CMAKE_FIND_LIBRARY_SUFFIXES) +- ENDIF() + + IF(OPENSSL_INCLUDE_DIR) + # Verify version number. Version information looks like: +@@ -193,9 +183,10 @@ MACRO (MYSQL_CHECK_SSL) ) SET(OPENSSL_VERSION ${OPENSSL_VERSION} CACHE INTERNAL "") - IF("${OPENSSL_VERSION}" VERSION_GREATER "1.1.0") +- ADD_DEFINITIONS(-DHAVE_TLSv13) +- SET(HAVE_TLSv13 1) + CHECK_SYMBOL_EXISTS(TLS1_3_VERSION "openssl/tls1.h" HAVE_TLS1_3_VERSION) + IF(HAVE_TLS1_3_VERSION) - ADD_DEFINITIONS(-DHAVE_TLSv13) - SET(HAVE_TLSv13 1) ++ #ADD_DEFINITIONS(-DHAVE_TLSv13) ++ #SET(HAVE_TLSv13 1) IF(SOLARIS) + SET(FORCE_SSL_SOLARIS "-Wl,--undefined,address_of_sk_new_null") + ENDIF() @@ -203,7 +204,13 @@ MACRO (MYSQL_CHECK_SSL) 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) + ELSEIF(OPENSSL_INCLUDE_DIR AND + OPENSSL_LIBRARY AND + CRYPTO_LIBRARY AND + OPENSSL_MAJOR_VERSION STREQUAL "2" ) SET(OPENSSL_FOUND TRUE) ELSE() Index: branches/2021Q1/databases/mysql57-server/files/patch-rapid_plugin_group_replication_libmysqlgcs_src_bindings_xcom_xcom_xcom_ssl_transport.c =================================================================== --- branches/2021Q1/databases/mysql57-server/files/patch-rapid_plugin_group_replication_libmysqlgcs_src_bindings_xcom_xcom_xcom_ssl_transport.c (revision 564146) +++ branches/2021Q1/databases/mysql57-server/files/patch-rapid_plugin_group_replication_libmysqlgcs_src_bindings_xcom_xcom_xcom_ssl_transport.c (revision 564147) @@ -1,11 +1,37 @@ --- rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c.orig 2020-03-23 17:35:17 UTC +++ rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c +@@ -232,7 +232,7 @@ static int configure_ssl_algorithms(SSL_CTX* ssl_ctx, + const char* tls_version) + { + DH *dh= NULL; +-#ifdef HAVE_TLSv13 ++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) + /* We support TLS up to 1.2, so explicitly disable TLS 1.3. */ + long ssl_ctx_options= SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 | SSL_OP_NO_TLSv1_3; + #else +@@ -257,14 +257,14 @@ static int configure_ssl_algorithms(SSL_CTX* ssl_ctx, + SSL_OP_NO_TLSv1 | + SSL_OP_NO_TLSv1_1 + | SSL_OP_NO_TLSv1_2 +-#ifdef HAVE_TLSv13 ++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) + | SSL_OP_NO_TLSv1_3 + #endif /* HAVE_TLSv13 */ + ); + + SSL_CTX_set_options(ssl_ctx, ssl_ctx_options); + +-#ifdef HAVE_TLSv13 ++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) + /* We do not support TLS 1.3. + Setting empty TLS 1.3 ciphersuites disables them. */ + if (SSL_CTX_set_ciphersuites(ssl_ctx, "") == 0) @@ -529,7 +529,7 @@ int xcom_init_ssl(const char *server_key_file, const c break e.g. ODBC clients (if the client also uses SSL). */ -#if defined(HAVE_STATIC_OPENSSL) +#if defined(HAVE_STATIC_OPENSSL) && !defined(LIBRESSL_VERSION_NUMBER) OPENSSL_init_crypto(OPENSSL_INIT_NO_ATEXIT, NULL); #else SSL_library_init(); Index: branches/2021Q1/databases/mysql57-server/files/patch-sql_locks_shared__spin__lock.cc =================================================================== --- branches/2021Q1/databases/mysql57-server/files/patch-sql_locks_shared__spin__lock.cc (nonexistent) +++ branches/2021Q1/databases/mysql57-server/files/patch-sql_locks_shared__spin__lock.cc (revision 564147) @@ -0,0 +1,11 @@ +--- sql/locks/shared_spin_lock.cc.orig 2020-12-10 03:01:55 UTC ++++ sql/locks/shared_spin_lock.cc +@@ -239,7 +239,7 @@ lock::Shared_spin_lock &lock::Shared_spin_lock::try_or + { + this->spin_exclusive_lock(); + } +- my_atomic_store64(&this->m_exclusive_owner, self); ++ my_atomic_store64(&this->m_exclusive_owner, reinterpret_cast(self)); + return (*this); + } + Property changes on: branches/2021Q1/databases/mysql57-server/files/patch-sql_locks_shared__spin__lock.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: branches/2021Q1/databases/mysql57-server/files/patch-vio_viosslfactories.c =================================================================== --- branches/2021Q1/databases/mysql57-server/files/patch-vio_viosslfactories.c (revision 564146) +++ branches/2021Q1/databases/mysql57-server/files/patch-vio_viosslfactories.c (revision 564147) @@ -1,35 +1,62 @@ --- vio/viosslfactories.c +++ vio/viosslfactories.c @@ -123,21 +123,19 @@ static DH *get_dh2048(void) DH *dh; if ((dh=DH_new())) { - BIGNUM *p= BN_bin2bn(dh2048_p, sizeof(dh2048_p), NULL); - BIGNUM *g= BN_bin2bn(dh2048_g, sizeof(dh2048_g), NULL); - if (!p || !g -#if OPENSSL_VERSION_NUMBER >= 0x10100000L - || !DH_set0_pqg(dh, p, NULL, g) -#endif /* OPENSSL_VERSION_NUMBER >= 0x10100000L */ - ) { - /* DH_free() will free 'p' and 'g' at once. */ + BIGNUM *p = BN_bin2bn(dh2048_p,sizeof(dh2048_p), NULL); + BIGNUM *g = BN_bin2bn(dh2048_g,sizeof(dh2048_g), NULL); +#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + dh->p=p; + dh->g=g; + if (! dh->p || ! dh->g) +#else + if (!DH_set0_pqg(dh, p, NULL, g)) +#endif + { DH_free(dh); - return NULL; + dh = NULL; } -#if OPENSSL_VERSION_NUMBER < 0x10100000L - dh->p= p; - dh->g= g; -#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */ } return(dh); } +@@ -503,7 +501,7 @@ new_VioSSLFd(const char *key_file, const char *cert_fi + struct st_VioSSLFd *ssl_fd; + /* MySQL 5.7 supports TLS up to v1.2, explicitly disable TLSv1.3. */ + long ssl_ctx_options= SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 +-#ifdef HAVE_TLSv13 ++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) + | SSL_OP_NO_TLSv1_3 + #endif /* HAVE_TLSv13 */ + ; +@@ -536,7 +534,7 @@ new_VioSSLFd(const char *key_file, const char *cert_fi + SSL_OP_NO_TLSv1 | + SSL_OP_NO_TLSv1_1 + | SSL_OP_NO_TLSv1_2 +-#ifdef HAVE_TLSv13 ++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) + | SSL_OP_NO_TLSv1_3 + #endif /* HAVE_TLSv13 */ + | SSL_OP_NO_TICKET +@@ -559,7 +557,7 @@ new_VioSSLFd(const char *key_file, const char *cert_fi + + SSL_CTX_set_options(ssl_fd->ssl_context, ssl_ctx_options); + +-#ifdef HAVE_TLSv13 ++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) + /* + MySQL 5.7 doesn't support TLSv1.3 - set empty TLSv1.3 ciphersuites. + */ Index: branches/2021Q1/databases/mysql80-client/Makefile =================================================================== --- branches/2021Q1/databases/mysql80-client/Makefile (revision 564146) +++ branches/2021Q1/databases/mysql80-client/Makefile (revision 564147) @@ -1,49 +1,49 @@ # Created by: "Mahdi Mokhtari " # $FreeBSD$ PORTNAME= mysql -PORTREVISION= 1 +PORTREVISION= 0 PKGNAMESUFFIX= 80-client COMMENT= Multithreaded SQL database (client) LICENSE+= LGPL21 MASTERDIR= ${.CURDIR}/../mysql80-server PKGMESSAGE= ${.CURDIR}/pkg-message PATCHDIR= ${MASTERDIR}/files PLIST= ${.CURDIR}/pkg-plist CONFLICTS_INSTALL= mysql8[1-9]-client-* \ mysql[0-79][0-9]-client-* \ mariadb[0-9][0-9]-client-* \ percona[0-9][0-9]-client-* CMAKE_ARGS+= -DWITHOUT_SERVER=1 -DINSTALL_SUPPORTFILESDIR=0 USE_LDCONFIG+= ${PREFIX}/lib/mysql MMAN1= comp_err.1 lz4_decompress.1 mysql.1 mysql_config.1 mysql_config_editor.1 \ mysqladmin.1 mysqlbinlog.1 mysqlcheck.1 mysqldump.1 mysqlimport.1 mysqlman.1 \ mysqlpump.1 mysqlshow.1 mysqlslap.1 perror.1 zlib_decompress.1 CLIENT_ONLY= yes OPTIONS_GROUP+= PLUGINS PLUGINS_DESC= Default Client Plugins 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 OPTIONS_DEFAULT+= SASLCLIENT OPTIONS_SUB= yes # issue 166367: adding symlinks for back-compatibility with ${lib}_r post-install: @${LN} -s libmysqlclient.a ${STAGEDIR}${PREFIX}/lib/mysql/libmysqlclient_r.a @${LN} -s libmysqlclient.so ${STAGEDIR}${PREFIX}/lib/mysql/libmysqlclient_r.so @${LN} -s libmysqlclient.so.21 ${STAGEDIR}${PREFIX}/lib/mysql/libmysqlclient_r.so.21 .include "${MASTERDIR}/Makefile" Index: branches/2021Q1/databases/mysql80-server/Makefile =================================================================== --- branches/2021Q1/databases/mysql80-server/Makefile (revision 564146) +++ branches/2021Q1/databases/mysql80-server/Makefile (revision 564147) @@ -1,206 +1,215 @@ # Created by: Mahdi Mokhtari # $FreeBSD$ PORTNAME?= mysql -PORTVERSION= 8.0.22 -PORTREVISION?= 1 +PORTVERSION= 8.0.23 +PORTREVISION?= 0 CATEGORIES= databases MASTER_SITES= MYSQL/MySQL-8.0 PKGNAMESUFFIX?= 80-server DISTNAME= ${PORTNAME}-boost-${PORTVERSION}${DISTVERSIONSUFFIX} MAINTAINER= joneum@FreeBSD.org COMMENT?= Multithreaded SQL database (server) LICENSE= GPLv2 WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}${DISTVERSIONSUFFIX} SLAVEDIRS= databases/mysql80-client -USES= bison:build cmake:noninja compiler:c++14-lang cpe \ +USES= bison:build cmake:noninja compiler:c++17-lang cpe \ groff:run libedit localbase ncurses perl5 pkgconfig shebangfix ssl USE_CXXSTD= c++14 USE_PERL5= run MY_DBDIR= /var/db/mysql MY_SECDIR= /var/db/mysql_secure MY_TMPDIR= /var/db/mysql_tmpdir LIB_DEPENDS+= libcurl.so:ftp/curl \ libevent.so:devel/libevent \ libicutu.so:devel/icu \ liblz4.so:archivers/liblz4 \ libzstd.so:archivers/zstd \ libprotobuf.so:devel/protobuf \ ${LIB_DEPENDS_${ARCH}} LIB_DEPENDS_aarch64= libunwind.so:devel/libunwind LIB_DEPENDS_amd64= libunwind.so:devel/libunwind LIB_DEPENDS_i386= libunwind.so:devel/libunwind LIB_DEPENDS_powerpc64= libunwind.so:devel/libunwind LIB_DEPENDS_powerpc64le= libunwind.so:devel/libunwind BUILD_DEPENDS= liblz4>0:archivers/liblz4 \ ${BUILD_DEPENDS_${ARCH}} BUILD_DEPENDS_aarch64= libunwind>0:devel/libunwind BUILD_DEPENDS_amd64= libunwind>0:devel/libunwind BUILD_DEPENDS_i386= libunwind>0:devel/libunwind BUILD_DEPENDS_powerpc64= libunwind>0:devel/libunwind BUILD_DEPENDS_powerpc64le= libunwind>0:devel/libunwind CMAKE_BUILD_TYPE= Release CFLAGS+= -fPIC CMAKE_ARGS+= -DINSTALL_LAYOUT=FREEBSD \ -DINSTALL_LDCONFIGDIR="${LOCALBASE}/libdata/ldconfig" \ -DINSTALL_PKGCONFIGDIR="${LOCALBASE}/libdata/pkgconfig" \ -DINSTALL_DOCDIR="share/doc/mysql" \ -DINSTALL_DOCREADMEDIR="share/doc/mysql" \ -DINSTALL_INCLUDEDIR="include/mysql" \ -DINSTALL_INFODIR="${INFO_PATH}" \ -DINSTALL_LIBDIR="lib/mysql" \ -DINSTALL_MANDIR="man" \ -DINSTALL_MYSQLDATADIR="${MY_DBDIR}" \ -DINSTALL_MYSQLKEYRINGDIR="etc/mysql/keyring" \ -DINSTALL_MYSQLSHAREDIR="share/mysql" \ -DINSTALL_MYSQLTESTDIR="" \ -DINSTALL_PLUGINDIR="lib/mysql/plugin" \ -DINSTALL_SBINDIR="libexec" \ -DINSTALL_SCRIPTDIR="bin" \ -DINSTALL_SECURE_FILE_PRIVDIR="${MY_SECDIR}" \ -DINSTALL_SHAREDIR="share" \ -DINSTALL_SUPPORTFILESDIR="share/mysql" \ -DMYSQL_KEYRINGDIR="${ETCDIR}/keyring" \ -DWITH_BOOST="${WRKSRC}/boost" \ -DWITH_SYSTEM_LIBS=1 \ -DWITH_EDITLINE=system \ -DWITH_LIBEVENT=system \ -DWITH_LZ4=system \ -DWITH_ICU=system \ -DWITH_CURL=system \ -DWITH_ZLIB=system \ -DWITH_ZSTD=system \ -DWITH_PROTOBUF=system \ -DWITH_SSL=${OPENSSLBASE} \ -DBUILD_BUNDLED_ZLIB=0 \ -DBUILD_BUNDLED_LZ4=0 # The Mroonga, RocksDB, and TokuDB storage engines are disabled. # Mroonga is only buildable on little endian archs. # RocksDB is only buildable on little endian archs and requires POSIX timers. # TokuDB is only buildable on 64-bit little endian archs. CMAKE_ARGS+= -DWITHOUT_MROONGA_STORAGE_ENGINE=1 \ -DWITHOUT_ROCKSDB_STORAGE_ENGINE=1 \ -DWITHOUT_TOKUDB_STORAGE_ENGINE=1 SHEBANG_FILES= scripts/*.pl* scripts/*.sh .ifdef USE_MYSQL IGNORE= You have `USE_MYSQL' variable defined either in environment or in make(1) arguments. Please undefine and try again. .endif SUB_LIST= MY_DBDIR=${MY_DBDIR} \ MY_SECDIR=${MY_SECDIR} \ MY_TMPDIR=${MY_TMPDIR} PLIST_SUB= MY_DBDIR=${MY_DBDIR} \ MY_SECDIR=${MY_SECDIR} \ MY_TMPDIR=${MY_TMPDIR} \ MYSQL80_LIBVER=${MYSQL80_LIBVER} # MySQL-Server part .if !defined(CLIENT_ONLY) USES+= mysql:80 CONFLICTS_INSTALL= mysql8[1-9]-server-* \ mysql[0-79][0-9]-server-* \ mysqlwsrep* \ mariadb[0-9][0-9]-server-* \ percona[0-9][0-9]-server-* USE_RC_SUBR= mysql-server SUB_FILES= my.cnf.sample pkg-message USERS= mysql GROUPS= mysql USE_LDCONFIG+= ${PREFIX}/lib/mysql/plugin MMAN1= ibd2sdi.1 innochecksum.1 my_print_defaults.1 myisam_ftdump.1 myisamchk.1 \ myisamlog.1 myisampack.1 mysql_secure_installation.1 mysql_ssl_rsa_setup.1 \ mysql_tzinfo_to_sql.1 mysql_upgrade.1 mysql.server.1 mysqldumpslow.1 mysqld_multi.1 \ mysqld_safe.1 mysqlrouter_passwd.1 mysqlrouter_plugin_info.1 mysqlrouter.1 MMAN8= mysqld.8 CMAKE_ARGS+= -DWITH_EMBEDDED_SERVER="ON" CMAKE_ARGS+= -DWITHOUT_CLIENTLIBS="ON" OPTIONS_GROUP= STORAGE OPTIONS_GROUP_STORAGE= ARCHIVE BLACKHOLE EXAMPLE FEDERATED INNOBASE PARTITION PERFSCHEMA OPTIONS_SUB= YES STORAGE_DESC= Permissible "Storage Engines" (to compile statically into the server) ARCHIVE_DESC= Compile "Archive Storage" statically in server BLACKHOLE_DESC= Compile "Blackhole Storage" statically in server EXAMPLE_DESC= Compile "Example Storage" statically in server FEDERATED_DESC= Compile "Federated Storage" statically in server INNOBASE_DESC= Compile "InnoDB Storage" statically in server PARTITION_DESC= Compile "Partitioning support Storage" statically in server PERFSCHEMA_DESC= Compile "Performance Schema Storage" statically in server ARCHIVE_CMAKE_ON= -DWITH_ARCHIVE_STORAGE_ENGINE=1 BLACKHOLE_CMAKE_ON= -DWITH_BLACKHOLE_STORAGE_ENGINE=1 EXAMPLE_CMAKE_ON= -DWITH_EXAMPLE_STORAGE_ENGINE=1 FEDERATED_CMAKE_ON= -DWITH_FEDERATED_STORAGE_ENGINE=1 INNOBASE_CMAKE_ON= -DWITH_INNOBASE_STORAGE_ENGINE=1 PARTITION_CMAKE_ON= -DWITH_PARTITION_STORAGE_ENGINE=1 PERFSCHEMA_CMAKE_ON= -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 OPTIONS_GROUP+= FEATURES OPTIONS_GROUP_FEATURES= PERFSCHM FEATURES_DESC= Default features knobs PERFSCHM_DESC= Enable "Performance Schema" by default (High RAM usage) OPTIONS_DEFAULT+= PERFSCHM PERFSCHM_SUB_LIST+= PERFSCHEMRC="" PERFSCHM_SUB_LIST_OFF+= PERFSCHEMRC="--skip-performance-schema" FEDERATED_SUB_LIST+= FEDER="--federated" FEDERATED_SUB_LIST_OFF+= FEDER="" .endif .include # Since 8.0.20 release innodb engine uses new memory alligned allocator # 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 .endif .if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1200057 SUB_LIST+= LEGACY_LIMITS="@comment " MODERN_LIMITS="" .else SUB_LIST+= LEGACY_LIMITS="" MODERN_LIMITS="@comment " .endif .include -.if ${CHOSEN_COMPILER_TYPE} == clang && ${OPSYS} == FreeBSD && ${OSVERSION} >= 1300109 -BUILD_DEPENDS+= clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT} -CC= ${LOCALBASE}/bin/clang${LLVM_DEFAULT} +.if ${CHOSEN_COMPILER_TYPE} == clang && ${OPSYS} == FreeBSD && ${OSVERSION} >= 1300109 || ${ARCH} == "i386" +BUILD_DEPENDS+= clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT} +CC= ${LOCALBASE}/bin/clang${LLVM_DEFAULT} +CPP= ${LOCALBASE}/bin/clang${LLVM_DEFAULT} CXX= ${LOCALBASE}/bin/clang++${LLVM_DEFAULT} +.endif + +.if ${ARCH} == "i386" && ${OSVERSION} < 1200000 +# clang 7.x and 8.x do not build properly on 11i386 +CPP= clang-cpp${LLVM_DEFAULT} +CC= clang${LLVM_DEFAULT} +CXX= clang++${LLVM_DEFAULT} +BUILD_DEPENDS+= clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT} .endif post-extract: @${RM} -rv ${WRKSRC}/sql/sql_hints.yy.cc ${WRKSRC}/sql/sql_hints.yy.h .if !defined(CLIENT_ONLY) post-install: ${MKDIR} ${STAGEDIR}${ETCDIR} ${INSTALL_DATA} ${WRKDIR}/my.cnf.sample ${STAGEDIR}${ETCDIR}/my.cnf.sample ${MKDIR} ${STAGEDIR}${ETCDIR}/keyring ${MKDIR} ${STAGEDIR}${MY_SECDIR} ${MKDIR} ${STAGEDIR}${MY_TMPDIR} .endif .include Index: branches/2021Q1/databases/mysql80-server/distinfo =================================================================== --- branches/2021Q1/databases/mysql80-server/distinfo (revision 564146) +++ branches/2021Q1/databases/mysql80-server/distinfo (revision 564147) @@ -1,3 +1,3 @@ -TIMESTAMP = 1603183848 -SHA256 (mysql-boost-8.0.22.tar.gz) = ba765f74367c638d7cd1c546c05c14382fd997669bcd9680278e907f8d7eb484 -SIZE (mysql-boost-8.0.22.tar.gz) = 285934450 +TIMESTAMP = 1611995725 +SHA256 (mysql-boost-8.0.23.tar.gz) = 1c7a424303c134758e59607a0b3172e43a21a27ff08e8c88c2439ffd4fc724a5 +SIZE (mysql-boost-8.0.23.tar.gz) = 291039175 Index: branches/2021Q1/databases/mysql80-server/files/patch-router_src_http_src_tls__context.cc =================================================================== --- branches/2021Q1/databases/mysql80-server/files/patch-router_src_http_src_tls__context.cc (revision 564146) +++ branches/2021Q1/databases/mysql80-server/files/patch-router_src_http_src_tls__context.cc (nonexistent) @@ -1,44 +0,0 @@ ---- router/src/http/src/tls_context.cc.orig 2019-09-20 08:30:51 UTC -+++ router/src/http/src/tls_context.cc -@@ -91,7 +91,7 @@ static constexpr int o11x_version(TlsVersion version) - return TLS1_1_VERSION; - case TlsVersion::TLS_1_2: - return TLS1_2_VERSION; --#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 1) -+#ifdef TLS1_3_VERSION - case TlsVersion::TLS_1_3: - return TLS1_3_VERSION; - #endif -@@ -121,9 +121,11 @@ void TlsContext::version_range(TlsVersion min_version, - default: - // unknown, leave all disabled - // fallthrough -+#ifdef TLS1_3_VERSION - case TlsVersion::TLS_1_3: - opts |= SSL_OP_NO_TLSv1_2; - // fallthrough -+#endif - case TlsVersion::TLS_1_2: - opts |= SSL_OP_NO_TLSv1_1; - // fallthrough -@@ -170,8 +172,10 @@ TlsVersion TlsContext::min_version() const { - return TlsVersion::TLS_1_1; - case TLS1_2_VERSION: - return TlsVersion::TLS_1_2; -+#ifdef TLS1_3_VERSION - case TLS1_3_VERSION: - return TlsVersion::TLS_1_3; -+#endif - case 0: - return TlsVersion::AUTO; - default: -@@ -230,7 +234,8 @@ TlsContext::InfoCallback TlsContext::info_callback() c - } - - int TlsContext::security_level() const { --#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) -+#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) && \ -+ !defined(LIBRESSL_VERSION_NUMBER) - return SSL_CTX_get_security_level(ssl_ctx_.get()); - #else - return 0; Property changes on: branches/2021Q1/databases/mysql80-server/files/patch-router_src_http_src_tls__context.cc ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: branches/2021Q1/databases/mysql80-server/files/patch-router_src_http_src_tls__client__context.cc =================================================================== --- branches/2021Q1/databases/mysql80-server/files/patch-router_src_http_src_tls__client__context.cc (revision 564146) +++ branches/2021Q1/databases/mysql80-server/files/patch-router_src_http_src_tls__client__context.cc (nonexistent) @@ -1,11 +0,0 @@ ---- router/src/http/src/tls_client_context.cc.orig 2019-09-20 08:30:51 UTC -+++ router/src/http/src/tls_client_context.cc -@@ -54,7 +54,7 @@ void TlsClientContext::verify(TlsVerify verify) { - - void 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"); - } Property changes on: branches/2021Q1/databases/mysql80-server/files/patch-router_src_http_src_tls__client__context.cc ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: branches/2021Q1/databases/mysql80-server/files/patch-router_src_http_src_tls__server__context.cc =================================================================== --- branches/2021Q1/databases/mysql80-server/files/patch-router_src_http_src_tls__server__context.cc (revision 564146) +++ branches/2021Q1/databases/mysql80-server/files/patch-router_src_http_src_tls__server__context.cc (nonexistent) @@ -1,12 +0,0 @@ ---- router/src/http/src/tls_server_context.cc.orig 2019-09-20 08:30:51 UTC -+++ router/src/http/src/tls_server_context.cc -@@ -166,7 +166,8 @@ void TlsServerContext::init_tmp_dh(const std::string & - } - - } else { --#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) -+#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) && \ -+ !defined(LIBRESSL_VERSION_NUMBER) - dh2048.reset(DH_get_2048_256()); - #else - /* Property changes on: branches/2021Q1/databases/mysql80-server/files/patch-router_src_http_src_tls__server__context.cc ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: branches/2021Q1/databases/mysql80-server/files/patch-client_CMakeLists.txt =================================================================== --- branches/2021Q1/databases/mysql80-server/files/patch-client_CMakeLists.txt (revision 564146) +++ branches/2021Q1/databases/mysql80-server/files/patch-client_CMakeLists.txt (revision 564147) @@ -1,76 +1,68 @@ --- client/CMakeLists.txt.orig 2019-09-20 08:30:51 UTC +++ client/CMakeLists.txt -@@ -23,8 +23,11 @@ +@@ -28,8 +28,11 @@ DISABLE_MISSING_PROFILE_WARNING() ## Subdirectory with common client code. ADD_SUBDIRECTORY(base) ## Subdirectory for mysqlpump code. +IF(WITHOUT_SERVER) ADD_SUBDIRECTORY(dump) +ENDIF() +IF(NOT WITHOUT_CLIENTLIBS) MYSQL_ADD_EXECUTABLE(mysql ${CMAKE_SOURCE_DIR}/sql-common/net_ns.cc completion_hash.cc -@@ -33,6 +36,7 @@ MYSQL_ADD_EXECUTABLE(mysql - readline.cc +@@ -39,6 +42,7 @@ MYSQL_ADD_EXECUTABLE(mysql + client_query_attributes.cc LINK_LIBRARIES mysqlclient client_base ${EDITLINE_LIBRARY} ) +ENDIF() IF(NOT WITHOUT_SERVER) MYSQL_ADD_EXECUTABLE(mysql_upgrade -@@ -48,6 +52,7 @@ IF(SOLARIS_SPARC AND CMAKE_BUILD_TYPE_UPPER STREQUAL " +@@ -55,6 +59,7 @@ IF(SOLARIS_SPARC AND MY_COMPILER_IS_SUNPRO AND ) ENDIF() +IF(NOT WITHOUT_SERVER) MYSQL_ADD_EXECUTABLE(mysqltest mysqltest.cc mysqltest/error_names.cc -@@ -63,6 +68,9 @@ MYSQL_ADD_EXECUTABLE(mysqltest +@@ -71,6 +76,9 @@ MYSQL_ADD_EXECUTABLE(mysqltest ENABLE_EXPORTS LINK_LIBRARIES mysqlclient ) +ENDIF() + +IF(WITHOUT_SERVER) MYSQL_ADD_EXECUTABLE(mysqlcheck check/mysqlcheck.cc check/mysqlcheck_core.cc -@@ -80,6 +88,7 @@ MYSQL_ADD_EXECUTABLE(mysqlshow - mysqlshow.cc - LINK_LIBRARIES mysqlclient - ) -+ - MYSQL_ADD_EXECUTABLE(mysqlbinlog - mysqlbinlog.cc - ${CMAKE_SOURCE_DIR}/sql/json_binary.cc -@@ -104,7 +113,9 @@ MYSQL_ADD_EXECUTABLE(mysqlbinlog +@@ -246,7 +254,9 @@ ENDIF() TARGET_COMPILE_DEFINITIONS(mysqlbinlog PRIVATE DISABLE_PSI_MUTEX) TARGET_INCLUDE_DIRECTORIES(mysqlbinlog PRIVATE ${CMAKE_SOURCE_DIR}/sql) +ENDIF() +IF(WITHOUT_SERVER) MYSQL_ADD_EXECUTABLE(mysqladmin mysqladmin.cc LINK_LIBRARIES mysqlclient -@@ -117,6 +128,9 @@ MYSQL_ADD_EXECUTABLE(mysql_config_editor +@@ -259,6 +269,9 @@ MYSQL_ADD_EXECUTABLE(mysql_config_editor mysql_config_editor.cc LINK_LIBRARIES mysqlclient ) +ENDIF() + +IF(NOT WITHOUT_SERVER) MYSQL_ADD_EXECUTABLE(mysql_secure_installation mysql_secure_installation.cc LINK_LIBRARIES mysqlclient -@@ -127,6 +141,7 @@ MYSQL_ADD_EXECUTABLE(mysql_ssl_rsa_setup +@@ -269,6 +282,7 @@ MYSQL_ADD_EXECUTABLE(mysql_ssl_rsa_setup path.cc LINK_LIBRARIES mysys ) +ENDIF() # "WIN32" also covers 64 bit. "echo" is used in some files below "mysql-test/". IF(WIN32) Index: branches/2021Q1/databases/mysql80-server/files/patch-cmake_ssl.cmake =================================================================== --- branches/2021Q1/databases/mysql80-server/files/patch-cmake_ssl.cmake (revision 564146) +++ branches/2021Q1/databases/mysql80-server/files/patch-cmake_ssl.cmake (revision 564147) @@ -1,28 +1,29 @@ --- 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" -@@ -214,13 +214,14 @@ MACRO (MYSQL_CHECK_SSL) +@@ -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) ++ #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 Index: branches/2021Q1/databases/mysql80-server/files/patch-man_CMakeLists.txt =================================================================== --- branches/2021Q1/databases/mysql80-server/files/patch-man_CMakeLists.txt (revision 564146) +++ branches/2021Q1/databases/mysql80-server/files/patch-man_CMakeLists.txt (revision 564147) @@ -1,71 +1,76 @@ --- man/CMakeLists.txt.orig 2020-10-20 11:47:42.675974000 +0200 +++ man/CMakeLists.txt 2020-10-20 13:53:03.993879000 +0200 -@@ -23,21 +23,10 @@ +@@ -23,26 +23,14 @@ # Copy man pages SET(MAN1 comp_err.1 - ibd2sdi.1 - innochecksum.1 lz4_decompress.1 - my_print_defaults.1 - myisam_ftdump.1 - myisamchk.1 - myisamlog.1 - myisampack.1 mysql.1 mysql_config.1 mysql_config_editor.1 - mysql_secure_installation.1 - mysql_ssl_rsa_setup.1 - mysql_tzinfo_to_sql.1 - mysql_upgrade.1 mysqladmin.1 mysqlbinlog.1 mysqlcheck.1 + mysqldump.1 +- mysqldumpslow.1 + mysqlimport.1 + mysqlman.1 + mysqlpump.1 @@ -52,13 +41,23 @@ SET(MAN1 zlib_decompress.1 ) -IF(NOT WITH_SYSTEMD) - LIST(APPEND MAN1 - mysql.server.1 - mysqld_multi.1 - mysqld_safe.1 +SET(MAN1_TOOLS + ibd2sdi.1 + innochecksum.1 + my_print_defaults.1 + myisam_ftdump.1 + myisamchk.1 + myisamlog.1 + myisampack.1 + mysql.server.1 + mysql_secure_installation.1 + mysql_ssl_rsa_setup.1 + mysql_tzinfo_to_sql.1 + mysql_upgrade.1 + mysqldumpslow.1 + mysqld_multi.1 + mysqld_safe.1 ) -ENDIF() SET(MAN1_NDB ndb-common-options.1 @@ -105,8 +104,14 @@ SET(MAN8_NDB ndbmtd.8 ) -INSTALL(FILES ${MAN1} DESTINATION ${INSTALL_MANDIR}/man1 COMPONENT ManPages) -INSTALL(FILES ${MAN8} DESTINATION ${INSTALL_MANDIR}/man8 COMPONENT ManPages) +IF(NOT WITHOUT_CLIENTLIBS) + INSTALL(FILES ${MAN1} DESTINATION ${INSTALL_MANDIR}/man1 COMPONENT ManPages) +ENDIF() + +IF(NOT WITHOUT_SERVER) + INSTALL(FILES ${MAN1_TOOLS} DESTINATION ${INSTALL_MANDIR}/man1 COMPONENT ManPages) + INSTALL(FILES ${MAN8} DESTINATION ${INSTALL_MANDIR}/man8 COMPONENT ManPages) +ENDIF() IF(WITH_ROUTER) INSTALL(FILES ${MAN1_ROUTER} Index: branches/2021Q1/databases/mysql80-server/files/patch-plugin_group__replication_libmysqlgcs_src_bindings_xcom_xcom_xcom__ssl__transport.c =================================================================== --- branches/2021Q1/databases/mysql80-server/files/patch-plugin_group__replication_libmysqlgcs_src_bindings_xcom_xcom_xcom__ssl__transport.c (revision 564146) +++ branches/2021Q1/databases/mysql80-server/files/patch-plugin_group__replication_libmysqlgcs_src_bindings_xcom_xcom_xcom__ssl__transport.c (revision 564147) @@ -1,31 +1,94 @@ --- plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc.orig 2019-09-20 08:30:51 UTC +++ plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc -@@ -329,6 +329,7 @@ error: +@@ -175,7 +175,7 @@ SSL_CTX *client_ctx = NULL; + static long process_tls_version(const char *tls_version) { + const char *separator = ", "; + char *token = NULL; +-#ifdef HAVE_TLSv13 ++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) + const char *tls_version_name_list[] = {"TLSv1", "TLSv1.1", "TLSv1.2", + "TLSv1.3"}; + #else +@@ -184,7 +184,7 @@ static long process_tls_version(const char *tls_versio + #define TLS_VERSIONS_COUNTS \ + (sizeof(tls_version_name_list) / sizeof(*tls_version_name_list)) + unsigned int tls_versions_count = TLS_VERSIONS_COUNTS; +-#ifdef HAVE_TLSv13 ++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) + const long tls_ctx_list[TLS_VERSIONS_COUNTS] = { + SSL_OP_NO_TLSv1, SSL_OP_NO_TLSv1_1, SSL_OP_NO_TLSv1_2, SSL_OP_NO_TLSv1_3}; + const char *ctx_flag_default = "TLSv1,TLSv1.1,TLSv1.2,TLSv1.3"; +@@ -240,7 +240,7 @@ static int configure_ssl_algorithms( + long ssl_ctx_options = SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3; + char cipher_list[SSL_CIPHER_LIST_SIZE] = {0}; + long ssl_ctx_flags = -1; +-#ifdef HAVE_TLSv13 ++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) + int tlsv1_3_enabled = 0; + #endif /* HAVE_TLSv13 */ + +@@ -253,7 +253,7 @@ static int configure_ssl_algorithms( + goto error; + } + +-#ifdef HAVE_TLSv13 ++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) + ssl_ctx_options = (ssl_ctx_options | ssl_ctx_flags) & + (SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 | SSL_OP_NO_TLSv1 | + SSL_OP_NO_TLSv1_1 | SSL_OP_NO_TLSv1_2 | SSL_OP_NO_TLSv1_3); +@@ -265,7 +265,7 @@ static int configure_ssl_algorithms( + + SSL_CTX_set_options(ssl_ctx, ssl_ctx_options); + +-#ifdef HAVE_TLSv13 ++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) + tlsv1_3_enabled = ((ssl_ctx_options & SSL_OP_NO_TLSv1_3) == 0); + if (tlsv1_3_enabled) { + /* Set OpenSSL TLS v1.3 ciphersuites. +@@ -325,6 +325,7 @@ error: return 1; } +#ifndef LIBRESSL_VERSION_NUMBER #define OPENSSL_ERROR_LENGTH 512 static int configure_ssl_fips_mode(const uint fips_mode) { int rc = -1; -@@ -352,6 +353,7 @@ static int configure_ssl_fips_mode(const uint fips_mod +@@ -348,6 +349,7 @@ static int configure_ssl_fips_mode(const uint fips_mod EXIT: return rc; } +#endif static int configure_ssl_ca(SSL_CTX *ssl_ctx, const char *ca_file, const char *ca_path) { -@@ -555,10 +557,12 @@ int xcom_init_ssl(const char *server_key_file, const c +@@ -544,10 +546,12 @@ int xcom_init_ssl(const char *server_key_file, const c int verify_server = SSL_VERIFY_NONE; int verify_client = SSL_VERIFY_NONE; +#ifndef LIBRESSL_VERSION_NUMBER if (configure_ssl_fips_mode(ssl_fips_mode) != 1) { G_ERROR("Error setting the ssl fips mode"); goto error; } +#endif SSL_library_init(); SSL_load_error_strings(); +@@ -563,7 +567,7 @@ int xcom_init_ssl(const char *server_key_file, const c + } + + G_DEBUG("Configuring SSL for the server") +-#ifdef HAVE_TLSv13 ++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) + server_ctx = SSL_CTX_new(TLS_server_method()); + #else + server_ctx = SSL_CTX_new(SSLv23_server_method()); +@@ -582,7 +586,7 @@ int xcom_init_ssl(const char *server_key_file, const c + SSL_CTX_set_verify(server_ctx, verify_server, NULL); + + G_DEBUG("Configuring SSL for the client") +-#ifdef HAVE_TLSv13 ++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) + client_ctx = SSL_CTX_new(TLS_client_method()); + #else + client_ctx = SSL_CTX_new(SSLv23_client_method()); Index: branches/2021Q1/databases/mysql80-server/files/patch-router_src_harness_src_CMakeLists.txt =================================================================== --- branches/2021Q1/databases/mysql80-server/files/patch-router_src_harness_src_CMakeLists.txt (revision 564146) +++ branches/2021Q1/databases/mysql80-server/files/patch-router_src_harness_src_CMakeLists.txt (revision 564147) @@ -1,16 +1,24 @@ --- router/src/harness/src/CMakeLists.txt.orig 2019-12-09 19:53:17 UTC +++ router/src/harness/src/CMakeLists.txt @@ -205,7 +205,6 @@ IF(NOT WIN32) INSTALL(TARGETS harness-library LIBRARY DESTINATION ${ROUTER_INSTALL_LIBDIR} COMPONENT Router - NAMELINK_SKIP ) ELSE() INSTALL(TARGETS harness-library -@@ -240,5 +239,4 @@ INSTALL(TARGETS harness_stdx +@@ -240,7 +239,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 +- NAMELINK_SKIP + ) + + ## harness_tls +@@ -277,5 +275,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 - NAMELINK_SKIP ) Index: branches/2021Q1/databases/mysql80-server/files/patch-router_src_harness_src_tls__client__context.cc =================================================================== --- branches/2021Q1/databases/mysql80-server/files/patch-router_src_harness_src_tls__client__context.cc (nonexistent) +++ branches/2021Q1/databases/mysql80-server/files/patch-router_src_harness_src_tls__client__context.cc (revision 564147) @@ -0,0 +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 +@@ -54,7 +54,7 @@ void TlsClientContext::verify(TlsVerify verify) { + + void 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"); + } Property changes on: branches/2021Q1/databases/mysql80-server/files/patch-router_src_harness_src_tls__client__context.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: branches/2021Q1/databases/mysql80-server/files/patch-router_src_harness_src_tls__context.cc =================================================================== --- branches/2021Q1/databases/mysql80-server/files/patch-router_src_harness_src_tls__context.cc (nonexistent) +++ branches/2021Q1/databases/mysql80-server/files/patch-router_src_harness_src_tls__context.cc (revision 564147) @@ -0,0 +1,44 @@ +--- router/src/harness/src/tls_context.cc.orig 2019-09-20 08:30:51 UTC ++++ router/src/harness/src/tls_context.cc +@@ -91,7 +91,7 @@ static constexpr int o11x_version(TlsVersion version) + return TLS1_1_VERSION; + case TlsVersion::TLS_1_2: + return TLS1_2_VERSION; +-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 1) ++#ifdef TLS1_3_VERSION + case TlsVersion::TLS_1_3: + return TLS1_3_VERSION; + #endif +@@ -121,9 +121,11 @@ void TlsContext::version_range(TlsVersion min_version, + default: + // unknown, leave all disabled + // fallthrough ++#ifdef TLS1_3_VERSION + case TlsVersion::TLS_1_3: + opts |= SSL_OP_NO_TLSv1_2; + // fallthrough ++#endif + case TlsVersion::TLS_1_2: + opts |= SSL_OP_NO_TLSv1_1; + // fallthrough +@@ -170,8 +172,10 @@ TlsVersion TlsContext::min_version() const { + return TlsVersion::TLS_1_1; + case TLS1_2_VERSION: + return TlsVersion::TLS_1_2; ++#ifdef TLS1_3_VERSION + case TLS1_3_VERSION: + return TlsVersion::TLS_1_3; ++#endif + case 0: + return TlsVersion::AUTO; + default: +@@ -230,7 +234,8 @@ TlsContext::InfoCallback TlsContext::info_callback() c + } + + int TlsContext::security_level() const { +-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) ++#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) && \ ++ !defined(LIBRESSL_VERSION_NUMBER) + return SSL_CTX_get_security_level(ssl_ctx_.get()); + #else + return 0; Property changes on: branches/2021Q1/databases/mysql80-server/files/patch-router_src_harness_src_tls__context.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: branches/2021Q1/databases/mysql80-server/files/patch-router_src_harness_src_tls__server__context.cc =================================================================== --- branches/2021Q1/databases/mysql80-server/files/patch-router_src_harness_src_tls__server__context.cc (nonexistent) +++ branches/2021Q1/databases/mysql80-server/files/patch-router_src_harness_src_tls__server__context.cc (revision 564147) @@ -0,0 +1,12 @@ +--- router/src/harness/src/tls_server_context.cc.orig 2019-09-20 08:30:51 UTC ++++ router/src/harness/src/tls_server_context.cc +@@ -166,7 +166,8 @@ void TlsServerContext::init_tmp_dh(const std::string & + } + + } else { +-#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) ++#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) && \ ++ !defined(LIBRESSL_VERSION_NUMBER) + dh2048.reset(DH_get_2048_256()); + #else + /* Property changes on: branches/2021Q1/databases/mysql80-server/files/patch-router_src_harness_src_tls__server__context.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: branches/2021Q1/databases/mysql80-server/files/patch-sql_item.h =================================================================== --- branches/2021Q1/databases/mysql80-server/files/patch-sql_item.h (nonexistent) +++ branches/2021Q1/databases/mysql80-server/files/patch-sql_item.h (revision 564147) @@ -0,0 +1,18 @@ +--- sql/item.h.orig 2020-12-11 07:42:20 UTC ++++ sql/item.h +@@ -3380,13 +3380,13 @@ class Item_sp_variable : public Item { + Name_string m_name; + + public: +-#ifndef DBUG_OFF ++//#ifndef DBUG_OFF + /* + Routine to which this Item_splocal belongs. Used for checking if correct + runtime context is used for variable handling. + */ + sp_head *m_sp{nullptr}; +-#endif ++//#endif + + public: + Item_sp_variable(const Name_string sp_var_name); Property changes on: branches/2021Q1/databases/mysql80-server/files/patch-sql_item.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: branches/2021Q1/databases/mysql80-server/files/patch-ssl__init__callback.cc =================================================================== --- branches/2021Q1/databases/mysql80-server/files/patch-ssl__init__callback.cc (nonexistent) +++ branches/2021Q1/databases/mysql80-server/files/patch-ssl__init__callback.cc (revision 564147) @@ -0,0 +1,20 @@ +--- 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", Property changes on: branches/2021Q1/databases/mysql80-server/files/patch-ssl__init__callback.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: branches/2021Q1/databases/mysql80-server/files/patch-vio_viosslfactories.cc =================================================================== --- branches/2021Q1/databases/mysql80-server/files/patch-vio_viosslfactories.cc (revision 564146) +++ branches/2021Q1/databases/mysql80-server/files/patch-vio_viosslfactories.cc (revision 564147) @@ -1,26 +1,60 @@ --- vio/viosslfactories.cc.orig 2019-09-20 08:30:51 UTC +++ vio/viosslfactories.cc -@@ -38,6 +38,7 @@ +@@ -40,6 +40,7 @@ + #include "vio/vio_priv.h" - #ifdef HAVE_OPENSSL #include +#include - #define TLS_VERSION_OPTION_SIZE 256 - #define SSL_CIPHER_LIST_SIZE 4096 -@@ -420,6 +421,7 @@ void ssl_start() { + #if OPENSSL_VERSION_NUMBER < 0x10002000L + #include +@@ -472,6 +473,7 @@ void ssl_start() { } } +#ifndef LIBRESSL_VERSION_NUMBER /** Set fips mode in openssl library, When we set fips mode ON/STRICT, it will perform following operations: -@@ -473,6 +475,7 @@ EXIT: +@@ -525,12 +527,13 @@ EXIT: @returns openssl current fips mode */ uint get_fips_mode() { return FIPS_mode(); } +#endif long process_tls_version(const char *tls_version) { const char *separator = ","; + char *token, *lasts = nullptr; + +-#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"; +@@ -609,7 +612,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 +-#ifdef HAVE_TLSv13 ++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) + | SSL_OP_NO_TLSv1_3 + #endif /* HAVE_TLSv13 */ + | SSL_OP_NO_TICKET); +@@ -618,7 +621,7 @@ static struct st_VioSSLFd *new_VioSSLFd( + return nullptr; + + if (!(ssl_fd->ssl_context = SSL_CTX_new(is_client ? +-#ifdef HAVE_TLSv13 ++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) + TLS_client_method() + : TLS_server_method() + #else /* HAVE_TLSv13 */ +@@ -633,7 +636,7 @@ static struct st_VioSSLFd *new_VioSSLFd( + return nullptr; + } + +-#ifdef HAVE_TLSv13 ++#if defined(HAVE_TLSv13) && !defined(LIBRESSL_VERSION_NUMBER) + /* + Set OpenSSL TLS v1.3 ciphersuites. + Note that an empty list is permissible. Index: branches/2021Q1/databases/mysql80-server/pkg-plist =================================================================== --- branches/2021Q1/databases/mysql80-server/pkg-plist (revision 564146) +++ branches/2021Q1/databases/mysql80-server/pkg-plist (revision 564147) @@ -1,238 +1,243 @@ LICENSE.router README.router bin/ibd2sdi bin/innochecksum bin/myisam_ftdump bin/myisamchk bin/myisamlog bin/myisampack bin/mysqldumpslow bin/mysql_client_test bin/mysql_secure_installation bin/mysql_ssl_rsa_setup bin/mysql_tzinfo_to_sql bin/mysql_upgrade bin/mysqld_multi bin/mysqld_safe bin/mysqlrouter bin/mysqlrouter_keyring bin/mysqlrouter_passwd bin/mysqlrouter_plugin_info bin/mysqltest bin/mysqltest_safe_process bin/mysqlxtest etc/logrotate.d/mysqlrouter lib/mysql/libmysqlharness.so lib/mysql/libmysqlharness.so.1 lib/mysql/libmysqlharness_stdx.so lib/mysql/libmysqlharness_stdx.so.1 +lib/mysql/libmysqlharness_tls.so +lib/mysql/libmysqlharness_tls.so.1 lib/mysql/libmysqlrouter.so lib/mysql/libmysqlrouter.so.1 lib/mysql/libmysqlrouter_http.so lib/mysql/libmysqlrouter_http.so.1 lib/mysql/libmysqlrouter_http_auth_backend.so lib/mysql/libmysqlrouter_http_auth_backend.so.1 lib/mysql/libmysqlrouter_http_auth_realm.so lib/mysql/libmysqlrouter_http_auth_realm.so.1 lib/mysql/libmysqlrouter_io_component.so lib/mysql/libmysqlrouter_io_component.so.1 lib/mysql/mysqlrouter/http_auth_backend.so lib/mysql/mysqlrouter/http_auth_realm.so lib/mysql/mysqlrouter/http_server.so lib/mysql/mysqlrouter/io.so lib/mysql/mysqlrouter/keepalive.so lib/mysql/mysqlrouter/metadata_cache.so -lib/mysql/mysqlrouter/mysql_protocol.so lib/mysql/mysqlrouter/rest_api.so lib/mysql/mysqlrouter/rest_metadata_cache.so lib/mysql/mysqlrouter/rest_router.so lib/mysql/mysqlrouter/rest_routing.so lib/mysql/mysqlrouter/router_protobuf.so +lib/mysql/mysqlrouter/router_openssl.so lib/mysql/mysqlrouter/routing.so lib/mysql/plugin/adt_null.so lib/mysql/plugin/auth.so lib/mysql/plugin/auth_test_plugin.so lib/mysql/plugin/component_audit_api_message_emit.so lib/mysql/plugin/component_example_component1.so lib/mysql/plugin/component_example_component2.so lib/mysql/plugin/component_example_component3.so lib/mysql/plugin/component_log_filter_dragnet.so lib/mysql/plugin/component_log_sink_json.so lib/mysql/plugin/component_log_sink_syseventlog.so lib/mysql/plugin/component_log_sink_test.so lib/mysql/plugin/component_mysqlbackup.so lib/mysql/plugin/component_mysqlx_global_reset.so lib/mysql/plugin/component_pfs_example.so lib/mysql/plugin/component_pfs_example_component_population.so +lib/mysql/plugin/component_query_attributes.so +lib/mysql/plugin/component_reference_cache.so lib/mysql/plugin/component_test_audit_api_message.so lib/mysql/plugin/component_test_backup_lock_service.so lib/mysql/plugin/component_test_component_deinit.so lib/mysql/plugin/component_test_host_application_signal.so lib/mysql/plugin/component_test_mysql_current_thread_reader.so lib/mysql/plugin/component_test_mysql_runtime_error.so lib/mysql/plugin/component_test_pfs_notification.so lib/mysql/plugin/component_test_pfs_resource_group.so lib/mysql/plugin/component_test_status_var_service.so lib/mysql/plugin/component_test_status_var_service_int.so lib/mysql/plugin/component_test_status_var_service_reg_only.so lib/mysql/plugin/component_test_status_var_service_str.so lib/mysql/plugin/component_test_status_var_service_unreg_only.so lib/mysql/plugin/component_test_string_service.so lib/mysql/plugin/component_test_string_service_charset.so lib/mysql/plugin/component_test_string_service_long.so lib/mysql/plugin/component_test_sys_var_service.so lib/mysql/plugin/component_test_sys_var_service_int.so lib/mysql/plugin/component_test_sys_var_service_same.so lib/mysql/plugin/component_test_sys_var_service_str.so lib/mysql/plugin/component_test_system_variable_source.so lib/mysql/plugin/component_test_udf_registration.so @comment lib/mysql/plugin/component_test_udf_services.so lib/mysql/plugin/component_udf_reg_3_func.so lib/mysql/plugin/component_udf_reg_avg_func.so lib/mysql/plugin/component_udf_reg_int_func.so lib/mysql/plugin/component_udf_reg_int_same_func.so lib/mysql/plugin/component_udf_reg_only_3_func.so lib/mysql/plugin/component_udf_reg_real_func.so lib/mysql/plugin/component_udf_unreg_3_func.so lib/mysql/plugin/component_udf_unreg_int_func.so lib/mysql/plugin/component_udf_unreg_real_func.so lib/mysql/plugin/component_validate_password.so lib/mysql/plugin/connection_control.so lib/mysql/plugin/daemon_example.ini lib/mysql/plugin/ddl_rewriter.so lib/mysql/plugin/group_replication.so %%NO_EXAMPLE%%lib/mysql/plugin/ha_example.so lib/mysql/plugin/ha_mock.so lib/mysql/plugin/component_test_udf_services.so lib/mysql/plugin/keyring_file.so lib/mysql/plugin/libdaemon_example.so lib/mysql/plugin/libtest_framework.so lib/mysql/plugin/libtest_services.so lib/mysql/plugin/libtest_services_threaded.so lib/mysql/plugin/libtest_session_attach.so lib/mysql/plugin/libtest_session_detach.so lib/mysql/plugin/libtest_session_in_thd.so lib/mysql/plugin/libtest_session_info.so lib/mysql/plugin/libtest_sql_2_sessions.so lib/mysql/plugin/libtest_sql_all_col_types.so lib/mysql/plugin/libtest_sql_cmds_1.so lib/mysql/plugin/libtest_sql_commit.so lib/mysql/plugin/libtest_sql_complex.so lib/mysql/plugin/libtest_sql_errors.so lib/mysql/plugin/libtest_sql_lock.so lib/mysql/plugin/libtest_sql_processlist.so lib/mysql/plugin/libtest_sql_replication.so lib/mysql/plugin/libtest_sql_reset_connection.so lib/mysql/plugin/libtest_sql_shutdown.so +lib/mysql/plugin/libtest_sql_sleep_is_connected.so lib/mysql/plugin/libtest_sql_sqlmode.so lib/mysql/plugin/libtest_sql_stmt.so lib/mysql/plugin/libtest_sql_stored_procedures_functions.so lib/mysql/plugin/libtest_sql_views_triggers.so lib/mysql/plugin/libtest_x_sessions_deinit.so lib/mysql/plugin/libtest_x_sessions_init.so lib/mysql/plugin/locking_service.so lib/mysql/plugin/mypluglib.so lib/mysql/plugin/mysql_clone.so lib/mysql/plugin/mysql_no_login.so lib/mysql/plugin/pfs_example_plugin_employee.so lib/mysql/plugin/qa_auth_client.so lib/mysql/plugin/qa_auth_interface.so lib/mysql/plugin/qa_auth_server.so lib/mysql/plugin/replication_observers_example_plugin.so lib/mysql/plugin/rewrite_example.so lib/mysql/plugin/rewriter.so lib/mysql/plugin/semisync_master.so lib/mysql/plugin/semisync_slave.so lib/mysql/plugin/test_security_context.so lib/mysql/plugin/test_services_host_application_signal.so lib/mysql/plugin/test_services_plugin_registry.so lib/mysql/plugin/udf_example.so lib/mysql/plugin/keyring_udf.so lib/mysql/plugin/test_udf_services.so lib/mysql/plugin/validate_password.so lib/mysql/plugin/version_token.so libexec/mysqld man/man1/ibd2sdi.1.gz man/man1/innochecksum.1.gz man/man1/my_print_defaults.1.gz man/man1/myisam_ftdump.1.gz man/man1/myisamchk.1.gz man/man1/myisamlog.1.gz man/man1/myisampack.1.gz man/man1/mysql_secure_installation.1.gz man/man1/mysql_ssl_rsa_setup.1.gz man/man1/mysql_tzinfo_to_sql.1.gz man/man1/mysql_upgrade.1.gz man/man1/mysql.server.1.gz man/man1/mysqld_multi.1.gz man/man1/mysqld_safe.1.gz man/man1/mysqldumpslow.1.gz man/man1/mysqlrouter_passwd.1.gz man/man1/mysqlrouter_plugin_info.1.gz man/man1/mysqlrouter.1.gz man/man8/mysqld.8.gz %%DATADIR%%/bulgarian/errmsg.sys %%DATADIR%%/charsets/Index.xml %%DATADIR%%/charsets/README %%DATADIR%%/charsets/armscii8.xml %%DATADIR%%/charsets/ascii.xml %%DATADIR%%/charsets/cp1250.xml %%DATADIR%%/charsets/cp1251.xml %%DATADIR%%/charsets/cp1256.xml %%DATADIR%%/charsets/cp1257.xml %%DATADIR%%/charsets/cp850.xml %%DATADIR%%/charsets/cp852.xml %%DATADIR%%/charsets/cp866.xml %%DATADIR%%/charsets/dec8.xml %%DATADIR%%/charsets/geostd8.xml %%DATADIR%%/charsets/greek.xml %%DATADIR%%/charsets/hebrew.xml %%DATADIR%%/charsets/hp8.xml %%DATADIR%%/charsets/keybcs2.xml %%DATADIR%%/charsets/koi8r.xml %%DATADIR%%/charsets/koi8u.xml %%DATADIR%%/charsets/latin1.xml %%DATADIR%%/charsets/latin2.xml %%DATADIR%%/charsets/latin5.xml %%DATADIR%%/charsets/latin7.xml %%DATADIR%%/charsets/macce.xml %%DATADIR%%/charsets/macroman.xml %%DATADIR%%/charsets/swe7.xml %%DATADIR%%/czech/errmsg.sys %%DATADIR%%/danish/errmsg.sys %%DATADIR%%/dictionary.txt %%DATADIR%%/dutch/errmsg.sys %%DATADIR%%/english/errmsg.sys %%DATADIR%%/estonian/errmsg.sys %%DATADIR%%/french/errmsg.sys %%DATADIR%%/german/errmsg.sys %%DATADIR%%/greek/errmsg.sys %%DATADIR%%/hungarian/errmsg.sys %%DATADIR%%/install_rewriter.sql %%DATADIR%%/italian/errmsg.sys %%DATADIR%%/japanese/errmsg.sys %%DATADIR%%/korean/errmsg.sys %%DATADIR%%/messages_to_clients.txt %%DATADIR%%/messages_to_error_log.txt %%DATADIR%%/mysql-log-rotate %%DATADIR%%/mysql.server %%DATADIR%%/mysqld_multi.server %%DATADIR%%/norwegian-ny/errmsg.sys %%DATADIR%%/norwegian/errmsg.sys %%DATADIR%%/polish/errmsg.sys %%DATADIR%%/portuguese/errmsg.sys %%DATADIR%%/romanian/errmsg.sys %%DATADIR%%/russian/errmsg.sys %%DATADIR%%/serbian/errmsg.sys %%DATADIR%%/slovak/errmsg.sys %%DATADIR%%/spanish/errmsg.sys %%DATADIR%%/swedish/errmsg.sys %%DATADIR%%/ukrainian/errmsg.sys %%DATADIR%%/uninstall_rewriter.sql %%DATADIR%%router/docs/sample_mysqlrouter.conf @dir lib/mysql/plugin/debug @dir %%DATADIR%%router/docs @sample(root,wheel,0644) %%ETCDIR%%/my.cnf.sample @dir(mysql,mysql,0750) %%ETCDIR%%/keyring @dir(mysql,mysql,0750) %%MY_SECDIR%% @dir(mysql,mysql,0750) %%MY_TMPDIR%%