summaryrefslogtreecommitdiff
path: root/databases/mysql80-client/files/patch-vio_viosslfactories.cc
diff options
context:
space:
mode:
authorMahdi Mokhtari <mmokhi@FreeBSD.org>2018-05-12 15:35:25 +0000
committerMahdi Mokhtari <mmokhi@FreeBSD.org>2018-05-12 15:35:25 +0000
commitacca27b6ca8327e93f12cb06800447a44129d72a (patch)
tree82f92efa85f110d6c1ceb5c7f78a94138fbaaf69 /databases/mysql80-client/files/patch-vio_viosslfactories.cc
parentsysutils/fusefs-libs: sort USES (diff)
databases/mysql80-{client,server}: Upgrade the ports to GA version 8.0.11
Fix build with LibreSSL and OpenSSL-devel ports as well MySQL 8.0.11 is the General Availability (GA) version of MySQL 8. MySQL since this version supports FIPS-mode, if compiled using OpenSSL, AND an OpenSSL library and FIPS Object Module are available at runtime. FIPS mode imposes conditions on cryptographic operations such as restrictions on acceptable encryption algorithms or requirements for longer key lengths. The --ssl-fips-mode client option enables control of FIPS mode on the client side for: mysql, mysqladmin, mysqlbinlog, mysqlcheck, mysqldump, mysqlimport, mysqlpump, ... This update includes bugfixes including (not limited to): -InnoDB: The server was stopped before a fatal error message was written to the error log. -InnoDB: An incorrect GROUP BY result was returned when using the TempTable storage engine and a NO PAD collation. -InnoDB: The data retrieved from INFORMATION_SCHEMA.INNODB_COLUMNS was incorrect for tables containing a virtual column. Full Release-Notes are available at: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-11.html
Notes
Notes: svn path=/head/; revision=469734
Diffstat (limited to 'databases/mysql80-client/files/patch-vio_viosslfactories.cc')
-rw-r--r--databases/mysql80-client/files/patch-vio_viosslfactories.cc47
1 files changed, 47 insertions, 0 deletions
diff --git a/databases/mysql80-client/files/patch-vio_viosslfactories.cc b/databases/mysql80-client/files/patch-vio_viosslfactories.cc
new file mode 100644
index 000000000000..f0f74c3812e4
--- /dev/null
+++ b/databases/mysql80-client/files/patch-vio_viosslfactories.cc
@@ -0,0 +1,47 @@
+--- vio/viosslfactories.cc.orig 2018-04-08 06:44:49 UTC
++++ vio/viosslfactories.cc
+@@ -37,6 +37,7 @@
+
+ #ifdef HAVE_OPENSSL
+ #include <openssl/dh.h>
++#include <openssl/crypto.h>
+
+ #define TLS_VERSION_OPTION_SIZE 256
+ #define SSL_CIPHER_LIST_SIZE 4096
+@@ -135,7 +136,7 @@ static DH *get_dh2048(void) {
+ 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
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
+ || !DH_set0_pqg(dh, p, NULL, g)
+ #endif /* OPENSSL_VERSION_NUMBER >= 0x10100000L */
+ ) {
+@@ -426,7 +427,7 @@ void ssl_start() {
+ }
+ }
+
+-#ifndef HAVE_WOLFSSL
++#if !defined(HAVE_WOLFSSL) && !defined(LIBRESSL_VERSION_NUMBER)
+ /**
+ Set fips mode in openssl library,
+ When we set fips mode ON/STRICT, it will perform following operations:
+@@ -449,6 +450,10 @@ int set_fips_mode(const uint fips_mode,
+ int rc = -1;
+ unsigned int fips_mode_old = -1;
+ unsigned long err_library = 0;
++#if defined(LIBRESSL_VERSION_NUMBER)
++ err_string="LibreSSL deosn't have FIPS_mode functionas";
++ goto EXIT;
++#else
+ if (fips_mode > 2) {
+ goto EXIT;
+ }
+@@ -462,6 +467,7 @@ int set_fips_mode(const uint fips_mode,
+ ERR_error_string_n(err_library, err_string, OPENSSL_ERROR_LENGTH - 1);
+ err_string[OPENSSL_ERROR_LENGTH - 1] = '\0';
+ }
++#endif
+ EXIT:
+ return rc;
+ }