Update to 8.0.11

This commit is contained in:
Michal Schorm 2018-04-25 10:13:27 +02:00
parent 58939b8918
commit a4a6473e61
17 changed files with 187 additions and 1184 deletions

View File

@ -1,11 +0,0 @@
diff -urp boost_1_54_0-orig/boost/locale/boundary/segment.hpp boost_1_54_0/boost/locale/boundary/segment.hpp
--- boost_1_54_0-orig/boost/locale/boundary/segment.hpp 2013-07-23 00:47:27.020787174 +0200
+++ boost_1_54_0/boost/locale/boundary/segment.hpp 2013-07-23 00:50:40.382959016 +0200
@@ -27,7 +27,6 @@ namespace boundary {
int compare_text(LeftIterator l_begin,LeftIterator l_end,RightIterator r_begin,RightIterator r_end)
{
typedef LeftIterator left_iterator;
- typedef RightIterator right_iterator;
typedef typename std::iterator_traits<left_iterator>::value_type char_type;
typedef std::char_traits<char_type> traits;
while(l_begin!=l_end && r_begin!=r_end) {

View File

@ -1,19 +0,0 @@
diff -up boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp\~ boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp
--- boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp~ 2014-10-13 12:21:40.000000000 +0200
+++ boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp 2015-01-20 13:25:50.069710766 +0100
@@ -282,12 +282,12 @@ struct grammar_definition
#if !defined(BOOST_SPIRIT_SINGLE_GRAMMAR_INSTANCE)
typedef impl::grammar_helper_base<GrammarT> helper_base_t;
typedef grammar_helper_list<GrammarT> helper_list_t;
- typedef typename helper_list_t::vector_t::reverse_iterator iterator_t;
helper_list_t& helpers =
grammartract_helper_list::do_(self);
# if defined(BOOST_INTEL_CXX_VERSION)
+ typedef typename helper_list_t::vector_t::reverse_iterator iterator_t;
for (iterator_t i = helpers.rbegin(); i != helpers.rend(); ++i)
(*i)->undefine(self);
# else
Diff finished. Tue Jan 20 13:25:53 2015

View File

@ -1,25 +0,0 @@
From f410fbd64d887e2a8824f968b0533588489b5430 Mon Sep 17 00:00:00 2001
From: Jonathan Wakely <jwakely@redhat.com>
Date: Wed, 2 Sep 2015 13:02:12 +0100
Subject: [PATCH] Python: Fix condition for make_setter overload.
This fixes the regression caused by 42e7d7b.
Fixes #39
---
include/boost/python/data_members.hpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/boost/python/data_members.hpp b/include/boost/python/data_members.hpp
index 139bde3..5d3309c 100644
--- a/include/boost/python/data_members.hpp
+++ b/include/boost/python/data_members.hpp
@@ -305,7 +305,7 @@ inline object make_setter(D& x)
return detail::make_setter(x, default_call_policies(), is_member_pointer<D>(), 0);
}
-# if BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+# if !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
template <class D>
inline object make_setter(D const& x)
{

View File

@ -1,32 +0,0 @@
commit 2f3b98e640c25fe45ae691a5aa950745380b983e
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Mon Sep 14 15:05:24 2015 +0100
Do not qualify <fenv.h> names that might be macros.
diff --git a/include/boost/test/impl/execution_monitor.ipp b/include/boost/test/impl/execution_monitor.ipp
index 3a9e779..8b319df 100644
--- a/include/boost/test/impl/execution_monitor.ipp
+++ b/include/boost/test/impl/execution_monitor.ipp
@@ -1380,8 +1380,8 @@ enable( unsigned mask )
return ~old_cw & BOOST_FPE_ALL;
#elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H)
- ::feclearexcept(BOOST_FPE_ALL);
- int res = ::feenableexcept( mask );
+ feclearexcept(BOOST_FPE_ALL);
+ int res = feenableexcept( mask );
return res == -1 ? (unsigned)BOOST_FPE_INV : (unsigned)res;
#else
/* Not Implemented */
@@ -1417,8 +1417,8 @@ disable( unsigned mask )
return ~old_cw & BOOST_FPE_ALL;
#elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H)
- ::feclearexcept(BOOST_FPE_ALL);
- int res = ::fedisableexcept( mask );
+ feclearexcept(BOOST_FPE_ALL);
+ int res = fedisableexcept( mask );
return res == -1 ? (unsigned)BOOST_FPE_INV : (unsigned)res;
#else
/* Not Implemented */

View File

@ -1,106 +0,0 @@
From 7da193fde1a9c1bc925ee980339f4df2e1a66fa7 Mon Sep 17 00:00:00 2001
From: Andrey Semashev <andrey.semashev@gmail.com>
Date: Sun, 23 Aug 2015 17:27:20 +0300
Subject: [PATCH] Fixed compilation of operator<< into a record ostream, when
the operator right hand argument is not directly supported by
formatting_ostream. Fixed #11549.
---
diff --git a/include/boost/log/sources/record_ostream.hpp b/include/boost/log/sources/record_ostream.hpp
index b3c58e2..c1e8059 100644
--- a/include/boost/log/sources/record_ostream.hpp
+++ b/include/boost/log/sources/record_ostream.hpp
@@ -39,6 +39,18 @@ namespace boost {
BOOST_LOG_OPEN_NAMESPACE
+template< typename CharT >
+class basic_record_ostream;
+
+namespace aux {
+
+template< typename StreamT, typename R >
+struct enable_if_record_ostream {};
+template< typename CharT, typename R >
+struct enable_if_record_ostream< basic_record_ostream< CharT >, R > { typedef R type; };
+
+} // namespace aux
+
/*!
* \brief Logging record adapter with a streaming capability
*
@@ -174,6 +186,55 @@ typedef basic_record_ostream< char > record_ostream; //!< Convenience typ
typedef basic_record_ostream< wchar_t > wrecord_ostream; //!< Convenience typedef for wide-character logging
#endif
+// Implementation note: these operators below should be the least attractive for the compiler
+// so that user's overloads are chosen, when present. We use function template partial ordering for this purpose.
+// We also don't use perfect forwarding for the right hand argument because in ths case the generic overload
+// would be more preferred than the typical one written by users:
+//
+// record_ostream& operator<< (record_ostream& strm, my_type const& arg);
+//
+// This is because my_type rvalues require adding const to the type, which counts as a conversion that is not required
+// if there is a perfect forwarding overload.
+template< typename StreamT, typename T >
+inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type
+operator<< (StreamT& strm, T const& value)
+{
+ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type;
+ static_cast< formatting_ostream_type& >(strm) << value;
+ return strm;
+}
+
+template< typename StreamT, typename T >
+inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type
+operator<< (StreamT& strm, T& value)
+{
+ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type;
+ static_cast< formatting_ostream_type& >(strm) << value;
+ return strm;
+}
+
+#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+
+template< typename StreamT, typename T >
+inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type
+operator<< (StreamT&& strm, T const& value)
+{
+ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type;
+ static_cast< formatting_ostream_type& >(strm) << value;
+ return strm;
+}
+
+template< typename StreamT, typename T >
+inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type
+operator<< (StreamT&& strm, T& value)
+{
+ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type;
+ static_cast< formatting_ostream_type& >(strm) << value;
+ return strm;
+}
+
+#endif // !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+
namespace aux {
//! Internal class that provides formatting streams for record pumps
diff --git a/include/boost/log/utility/formatting_ostream.hpp b/include/boost/log/utility/formatting_ostream.hpp
index 4345206..744acc0 100644
--- a/include/boost/log/utility/formatting_ostream.hpp
+++ b/include/boost/log/utility/formatting_ostream.hpp
@@ -779,6 +779,13 @@ void basic_formatting_ostream< CharT, TraitsT, AllocatorT >::aligned_write(const
// Implementation note: these operators below should be the least attractive for the compiler
// so that user's overloads are chosen, when present. We use function template partial ordering for this purpose.
+// We also don't use perfect forwarding for the right hand argument because in ths case the generic overload
+// would be more preferred than the typical one written by users:
+//
+// formatting_ostream& operator<< (formatting_ostream& strm, my_type const& arg);
+//
+// This is because my_type rvalues require adding const to the type, which counts as a conversion that is not required
+// if there is a perfect forwarding overload.
template< typename StreamT, typename T >
inline typename boost::log::aux::enable_if_formatting_ostream< StreamT, StreamT& >::type
operator<< (StreamT& strm, T const& value)

View File

@ -1,11 +0,0 @@
--- mysql-5.7.10/cmake/mysql_version.cmake.orig 2015-11-29 20:16:24.000000000 +0100
+++ mysql-5.7.10/cmake/mysql_version.cmake 2015-12-16 14:15:49.129269372 +0100
@@ -17,7 +17,7 @@
# Global constants, only to be changed between major releases.
#
-SET(SHARED_LIB_MAJOR_VERSION "20")
+SET(SHARED_LIB_MAJOR_VERSION "1020")
SET(SHARED_LIB_MINOR_VERSION "3")
SET(PROTOCOL_VERSION "10")
SET(DOT_FRM_VERSION "6")

View File

@ -0,0 +1,14 @@
--- mysql-8.0.4-rc/mysql-test/include/mtr_warnings.sql~ 2018-01-18 16:52:52.000000000 +0100
+++ mysql-8.0.4-rc/mysql-test/include/mtr_warnings.sql 2018-03-08 20:14:48.537507245 +0100
@@ -311,6 +311,11 @@
("The member has resumed contact with a majority of the members in the group.*"),
("Members removed from the group.*"),
+ /*
+ ARM32 don't support timers and get this warning in every test.
+ */
+ ("The CYCLE timer is not available. WAIT events in the performance_schema will not be timed."),
+
("THE_LAST_SUPPRESSION")||

View File

@ -8,34 +8,17 @@ have any ill effects in a yassl build. Since we don't use yassl in Red Hat/
Fedora builds, I'm not feeling motivated to try to fix yassl for this.
See RH bug #598656. Filed upstream at http://bugs.mysql.com/bug.php?id=54158
diff -Naur mysql-5.5.28.orig/extra/yassl/src/ssl.cpp mysql-5.5.28/extra/yassl/src/ssl.cpp
--- mysql-5.5.28.orig/extra/yassl/src/ssl.cpp 2012-08-29 04:50:46.000000000 -0400
+++ mysql-5.5.28/extra/yassl/src/ssl.cpp 2012-09-29 12:45:19.682287214 -0400
@@ -1627,10 +1627,10 @@
}
- int SSL_CTX_use_certificate_chain_file(SSL_CTX*, const char*)
+ int SSL_CTX_use_certificate_chain_file(SSL_CTX* ctx, const char* file)
{
- // TDOD:
- return SSL_SUCCESS;
+ // For the moment, treat like use_certificate_file
+ return read_file(ctx, file, SSL_FILETYPE_PEM, Cert);
}
diff -Naur mysql-5.5.28.orig/vio/viosslfactories.c mysql-5.5.28/vio/viosslfactories.c
--- mysql-5.5.28.orig/vio/viosslfactories.c 2012-08-29 04:50:46.000000000 -0400
+++ mysql-5.5.28/vio/viosslfactories.c 2012-09-29 12:46:35.124975585 -0400
@@ -106,7 +106,7 @@
key_file= cert_file;
diff --git a/vio/viosslfactories.cc b/vio/viosslfactories.cc
index 5e881e3..2927e7f 100644
--- a/vio/viosslfactories.cc
+++ b/vio/viosslfactories.cc
@@ -198,7 +198,7 @@ static int vio_set_cert_stuff(SSL_CTX *ctx, const char *cert_file,
if (!key_file && cert_file) key_file = cert_file;
if (cert_file &&
- SSL_CTX_use_certificate_file(ctx, cert_file, SSL_FILETYPE_PEM) <= 0)
+ SSL_CTX_use_certificate_chain_file(ctx, cert_file) <= 0)
{
*error= SSL_INITERR_CERT;
DBUG_PRINT("error",("%s from file '%s'", sslGetErrString(*error), cert_file));
- SSL_CTX_use_certificate_file(ctx, cert_file, SSL_FILETYPE_PEM) <= 0) {
+ SSL_CTX_use_certificate_chain_file(ctx, cert_file) <= 0) {
*error = SSL_INITERR_CERT;
DBUG_PRINT("error",
("%s from file '%s'", sslGetErrString(*error), cert_file));

View File

@ -5,20 +5,20 @@ to know about this.
Recommendation they change is at http://bugs.mysql.com/bug.php?id=61425
diff -up mysql-5.6.22/mysql-test/t/file_contents.test.file-contents mysql-5.6.22/mysql-test/t/file_contents.test
--- mysql-5.6.22/mysql-test/t/file_contents.test.file-contents 2014-12-03 15:05:18.629731527 +0100
+++ mysql-5.6.22/mysql-test/t/file_contents.test 2014-12-03 15:09:36.082081039 +0100
@@ -11,7 +11,7 @@
diff --git a/mysql-test/t/file_contents.test b/mysql-test/t/file_contents.test
index 75f8c93..973291c 100644
--- a/mysql-test/t/file_contents.test
+++ b/mysql-test/t/file_contents.test
@@ -12,7 +12,7 @@
--perl
print "\nChecking 'INFO_SRC' and 'INFO_BIN'\n";
$dir_bin = $ENV{'MYSQL_BINDIR'};
-if ($dir_bin =~ m|/usr/|) {
-if ($dir_bin =~ m|^/usr/|) {
+if ($dir_bin =~ m|.*/usr/$|) {
# RPM package
$dir_docs = $dir_bin;
$dir_docs =~ s|/lib|/share/doc|;
@@ -30,7 +30,7 @@ if ($dir_bin =~ m|/usr/|) {
@@ -35,7 +35,7 @@ if ($dir_bin =~ m|^/usr/|) {
}
}
}
@ -27,8 +27,8 @@ diff -up mysql-5.6.22/mysql-test/t/file_contents.test.file-contents mysql-5.6.22
# RPM build during development
$dir_docs = "$dir_bin/share/doc";
if(-d "$dir_docs/packages") {
@@ -47,6 +47,15 @@ if ($dir_bin =~ m|/usr/|) {
$dir_docs = glob "$dir_bin/share/mysql/docs";
@@ -55,6 +55,15 @@ if ($dir_bin =~ m|^/usr/|) {
$dir_docs = glob "$dir_bin/share/mysql-*/docs";
}
}
+

View File

@ -1,38 +0,0 @@
Do not assume, that "crypt" function is provided by glibc; #1536881
--- mysql-5.7.21/include/my_global.h 2017-12-28 04:46:26.000000000 +0100
+++ mysql-5.7.21/include/my_global.h_patched 2018-01-22 01:01:42.450315852 +0100
@@ -49,6 +49,9 @@
#include <time.h>
#include <errno.h> /* Recommended by debian */
#include <sys/types.h>
+#if defined(HAVE_CRYPT_H)
+#include <crypt.h>
+#endif
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
--- mysql-5.7.21/configure.cmake 2017-12-28 04:46:26.000000000 +0100
+++ mysql-5.7.21/configure.cmake_patched 2018-01-22 01:00:09.955057755 +0100
@@ -493,6 +493,7 @@ CHECK_INCLUDE_FILES (fnmatch.h HAVE_FNMA
CHECK_INCLUDE_FILES (sys/un.h HAVE_SYS_UN_H)
CHECK_INCLUDE_FILES (vis.h HAVE_VIS_H) # Used by libedit
CHECK_INCLUDE_FILES (sasl/sasl.h HAVE_SASL_SASL_H) # Used by memcached
+CHECK_INCLUDE_FILES (crypt.h HAVE_CRYPT_H)
# For libevent
CHECK_INCLUDE_FILES(sys/devpoll.h HAVE_DEVPOLL)
--- mysql-5.7.21/config.h.cmake 2017-12-28 04:46:26.000000000 +0100
+++ mysql-5.7.21/config.h.cmake_patched 2018-01-22 01:51:02.522570765 +0100
@@ -62,6 +62,7 @@
#cmakedefine HAVE_SYS_UN_H 1
#cmakedefine HAVE_VIS_H 1
#cmakedefine HAVE_SASL_SASL_H 1
+#cmakedefine HAVE_CRYPT_H 1
/* Libevent */
#cmakedefine HAVE_DEVPOLL 1

View File

@ -1,85 +0,0 @@
Adjust the mysql-log-rotate script in several ways:
* Use the correct log file pathname for Red Hat installations.
* Enable creation of the log file by logrotate (needed since
/var/log/ isn't writable by mysql user); and set the same 640
permissions we normally use.
* Comment out the actual rotation commands, so that user must edit
the file to enable rotation. This is unfortunate, but the fact
that the script will probably fail without manual configuration
(to set a root password) means that we can't really have it turned
on by default. Fortunately, in most configurations the log file
is low-volume and so rotation is not critical functionality.
See discussions at RH bugs 799735, 547007
diff -up mysql-5.6.19/support-files/mysql-log-rotate.sh.logrotate mysql-5.6.19/support-files/mysql-log-rotate.sh
--- mysql-5.6.19/support-files/mysql-log-rotate.sh.logrotate 2014-07-25 11:49:37.237448291 +0200
+++ mysql-5.6.19/support-files/mysql-log-rotate.sh 2014-07-25 11:53:17.096840857 +0200
@@ -1,14 +1,13 @@
-# The log file name and location can be set in
-# /etc/my.cnf by setting the "log-error" option
-# in either [mysqld] or [mysqld_safe] section as
-# follows:
+# This logname can be set in /etc/my.cnf
+# by setting the variable "log-error"
+# in the [mysqld_safe] section as follows:
#
-# [mysqld]
-# log-error=@localstatedir@/mysqld.log
+# [mysqld_safe]
+# log-error=@LOG_LOCATION@
#
-# In case the root user has a password, then you
-# have to create a /root/.my.cnf configuration file
-# with the following content:
+# If the root user has a password you have to create a
+# /root/.my.cnf configuration file with the following
+# content:
#
# [mysqladmin]
# password = <secret>
@@ -16,22 +15,24 @@
#
# where "<secret>" is the password.
#
-# ATTENTION: The /root/.my.cnf file should be readable
-# _ONLY_ by root !
+# ATTENTION: This /root/.my.cnf should be readable ONLY
+# for root !
-@localstatedir@/mysqld.log {
- # create 600 mysql mysql
- notifempty
- daily
- rotate 5
- missingok
- compress
- postrotate
- # just if mysqld is really running
- if test -x @bindir@/mysqladmin && \
- @bindir@/mysqladmin ping &>/dev/null
- then
- @bindir@/mysqladmin flush-logs
- fi
- endscript
-}
+# Then, un-comment the following lines to enable rotation of mysql's log file:
+
+#@LOG_LOCATION@ {
+# create 640 mysql mysql
+# notifempty
+# daily
+# rotate 3
+# missingok
+# compress
+# postrotate
+# # just if mysqld is really running
+# if test -x @bindir@/mysqladmin && \
+# @bindir@/mysqladmin ping &>/dev/null
+# then
+# @bindir@/mysqladmin flush-logs
+# fi
+# endscript
+#}

View File

@ -1,517 +0,0 @@
Add OpenSSL 1.1 compatibility
Based on patches in upstream tracker (bellow), and patches from MariaDB for the same feature.
Upstream tracker: https://bugs.mysql.com/bug.php?id=83814
diff -rup mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/mysql_ssl_connection.test mysql-5.7.20/mysql-test/suite/auth_sec/t/mysql_ssl_connection.test
--- mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/mysql_ssl_connection.test 2017-12-08 09:00:52.578760787 +0100
+++ mysql-5.7.20/mysql-test/suite/auth_sec/t/mysql_ssl_connection.test 2017-12-08 22:19:40.033870734 +0100
@@ -7,7 +7,7 @@
connection default;
CREATE USER u_20693153@localhost IDENTIFIED BY 'abcd';
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
--exec $MYSQL --protocol=TCP -uu_20693153 -pabcd --ssl-ca=$MYSQL_TEST_DIR/std_data/cacert.pem -e "SHOW STATUS LIKE 'Ssl_cipher';"
DROP USER u_20693153@localhost;
diff -rup mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/openssl_cert_generation.test mysql-5.7.20/mysql-test/suite/auth_sec/t/openssl_cert_generation.test
--- mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/openssl_cert_generation.test 2017-12-08 09:00:52.579760795 +0100
+++ mysql-5.7.20/mysql-test/suite/auth_sec/t/openssl_cert_generation.test 2017-12-08 22:19:40.033870734 +0100
@@ -183,7 +183,7 @@ let SEARCH_PATTERN= Auto generated SSL c
--file_exists $MYSQLTEST_VARDIR/mysqld.1/data/public_key.pem
--echo # Ensure that server is ssl enabled
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
--exec $MYSQL -uroot --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher'"
#-----------------------------------------------------------------------------
@@ -285,7 +285,7 @@ grant usage on *.* to wl7699_sha256 iden
# Using SSL certificates
--echo # Should be able to connect to server using generated SSL certificates.
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
--exec $MYSQL -uwl7699_sha256 -pabcd --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher'"
# Using RSA key pair
--echo # Should be able to connect to server using RSA key pair.
@@ -351,7 +351,7 @@ show variables like 'sha256%';
--echo # 6.3 : SSL connection
--echo # Should be able to connect to server using generated SSL certificates.
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
--exec $MYSQL -uroot --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher'"
@@ -362,7 +362,7 @@ grant usage on *.* to wl7699_sha256 iden
# Using SSL certificates
--echo # Should be able to connect to server using generated SSL certificates.
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
--exec $MYSQL -uwl7699_sha256 -pabcd --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher'"
# Using RSA key pair
--echo # Should be able to connect to server using RSA key pair.
diff -rup mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/ssl_auto_detect.test mysql-5.7.20/mysql-test/suite/auth_sec/t/ssl_auto_detect.test
--- mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/ssl_auto_detect.test 2017-12-08 09:00:52.583760826 +0100
+++ mysql-5.7.20/mysql-test/suite/auth_sec/t/ssl_auto_detect.test 2017-12-08 22:19:40.034870741 +0100
@@ -54,7 +54,7 @@ let SEARCH_PATTERN= CA certificate .* is
--echo # Try to establish SSL connection : This must succeed.
connect (ssl_root_1,localhost,root,,,,,SSL);
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
SHOW STATUS LIKE 'Ssl_cipher';
SHOW VARIABLES LIKE 'have_ssl';
@@ -68,7 +68,7 @@ connection default;
disconnect ssl_root_1;
--echo # Connect using mysql client : This must succeed.
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
--exec $MYSQL -uroot --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher';"
@@ -140,7 +140,7 @@ let SEARCH_PATTERN= CA certificate .* is
--source include/search_pattern_in_file.inc
--echo # Try creating SSL connection
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
--exec $MYSQL -uroot --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher';"
diff -rup mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/tls.test mysql-5.7.20/mysql-test/suite/auth_sec/t/tls.test
--- mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/tls.test 2017-12-08 09:00:52.584760834 +0100
+++ mysql-5.7.20/mysql-test/suite/auth_sec/t/tls.test 2017-12-08 22:56:42.786710772 +0100
@@ -36,7 +36,7 @@ let $cipher_default= DHE-RSA-AES256-SHA;
let $tls_default= TLSv1.1;
let $openssl= query_get_value("SHOW STATUS LIKE 'Rsa_public_key'", Variable_name, 1);
if ($openssl == 'Rsa_public_key'){
- let $cipher_default= DHE-RSA-AES128-GCM-SHA256;
+ let $cipher_default= ECDHE-RSA-AES128-GCM-SHA256;
let $tls_default= TLSv1.2;
}
--echo #T1: Default TLS connection
diff -rup mysql-5.7.20-sslbak/mysql-test/t/mysql_ssl_default.test mysql-5.7.20/mysql-test/t/mysql_ssl_default.test
--- mysql-5.7.20-sslbak/mysql-test/t/mysql_ssl_default.test 2017-12-08 09:00:55.717784968 +0100
+++ mysql-5.7.20/mysql-test/t/mysql_ssl_default.test 2017-12-08 22:19:40.035870748 +0100
@@ -14,15 +14,15 @@
--echo # verify that mysql default connect with ssl channel when using TCP/IP
--echo # connection
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
--exec $MYSQL --host=127.0.0.1 -P $MASTER_MYPORT -e "SHOW STATUS like 'Ssl_cipher'"
--echo # verify that mysql --ssl=0 connect with unencrypted channel
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
--exec $MYSQL --host=127.0.0.1 -P $MASTER_MYPORT -e "SHOW STATUS like 'Ssl_cipher'" --ssl-mode=DISABLED
--echo # verify that mysql --ssl=1 connect with ssl channel
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
--exec $MYSQL --host=127.0.0.1 -P $MASTER_MYPORT -e "SHOW STATUS like 'Ssl_cipher'" --ssl-mode=REQUIRED
CREATE USER u1@localhost IDENTIFIED BY 'secret' REQUIRE SSL;
diff -rup mysql-5.7.20-sslbak/mysql-test/t/openssl_1.test mysql-5.7.20/mysql-test/t/openssl_1.test
--- mysql-5.7.20-sslbak/mysql-test/t/openssl_1.test 2017-12-08 09:00:55.729785060 +0100
+++ mysql-5.7.20/mysql-test/t/openssl_1.test 2017-12-08 22:19:40.035870748 +0100
@@ -19,17 +19,17 @@ insert into t1 values (5);
let $cipher_val= "DHE-RSA-AES256-SHA";
let $shavars= query_get_value("SHOW STATUS LIKE 'Rsa_public_key'", Variable_name, 1);
if ($shavars == 'Rsa_public_key'){
- let $cipher_val= "DHE-RSA-AES128-GCM-SHA256";
+ let $cipher_val= "ECDHE-RSA-AES128-GCM-SHA256";
}
grant select on test.* to ssl_user1@localhost require SSL;
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
-- eval grant select on test.* to ssl_user2@localhost require cipher $cipher_val
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
-- eval grant select on test.* to ssl_user3@localhost require cipher $cipher_val AND SUBJECT "/C=SE/ST=Stockholm/L=Stockholm/O=Oracle/OU=MySQL/CN=Client"
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
-- eval grant select on test.* to ssl_user4@localhost require cipher $cipher_val AND SUBJECT "/C=SE/ST=Stockholm/L=Stockholm/O=Oracle/OU=MySQL/CN=Client" ISSUER "/C=SE/ST=Stockholm/L=Stockholm/O=Oracle/OU=MySQL/CN=CA"
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
-- eval grant select on test.* to ssl_user5@localhost require cipher $cipher_val AND SUBJECT "xxx"
flush privileges;
@@ -43,7 +43,7 @@ connect (con5,localhost,ssl_user5,,,,,SS
connection con1;
# Check ssl turned on
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
SHOW STATUS LIKE 'Ssl_cipher';
select * from t1;
--error ER_TABLEACCESS_DENIED_ERROR
@@ -51,7 +51,7 @@ delete from t1;
connection con2;
# Check ssl turned on
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
SHOW STATUS LIKE 'Ssl_cipher';
select * from t1;
--error ER_TABLEACCESS_DENIED_ERROR
@@ -59,7 +59,7 @@ delete from t1;
connection con3;
# Check ssl turned on
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
SHOW STATUS LIKE 'Ssl_cipher';
select * from t1;
--error ER_TABLEACCESS_DENIED_ERROR
@@ -67,7 +67,7 @@ delete from t1;
connection con4;
# Check ssl turned on
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
SHOW STATUS LIKE 'Ssl_cipher';
select * from t1;
--error ER_TABLEACCESS_DENIED_ERROR
@@ -142,7 +142,7 @@ drop table t1;
# verification of servers certificate by setting both ca certificate
# and ca path to NULL
#
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
--exec $MYSQL --ssl-mode=REQUIRED --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1
--echo End of 5.0 tests
@@ -269,7 +269,7 @@ select 'is still running; no cipher requ
GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509;
FLUSH PRIVILEGES;
connect(con1,localhost,bug42158,,,,,SSL);
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
SHOW STATUS LIKE 'Ssl_cipher';
disconnect con1;
connection default;
diff -rup mysql-5.7.20-sslbak/mysql-test/t/plugin_auth_sha256_tls.test mysql-5.7.20/mysql-test/t/plugin_auth_sha256_tls.test
--- mysql-5.7.20-sslbak/mysql-test/t/plugin_auth_sha256_tls.test 2017-12-08 09:00:55.747785199 +0100
+++ mysql-5.7.20/mysql-test/t/plugin_auth_sha256_tls.test 2017-12-08 22:19:40.035870748 +0100
@@ -2,7 +2,7 @@
--source include/have_ssl.inc
connect (ssl_con,localhost,root,,,,,SSL);
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
SHOW STATUS LIKE 'Ssl_cipher';
CREATE USER 'kristofer' IDENTIFIED WITH 'sha256_password';
diff -rup mysql-5.7.20-sslbak/mysql-test/t/ssl_8k_key.test mysql-5.7.20/mysql-test/t/ssl_8k_key.test
--- mysql-5.7.20-sslbak/mysql-test/t/ssl_8k_key.test 2017-12-08 09:00:55.772785392 +0100
+++ mysql-5.7.20/mysql-test/t/ssl_8k_key.test 2017-12-08 22:19:40.036870755 +0100
@@ -4,7 +4,7 @@
#
# Bug#29784 YaSSL assertion failure when reading 8k key.
#
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
--exec $MYSQL --ssl-mode=REQUIRED --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1
## This test file is for testing encrypted communication only, not other
diff -rup mysql-5.7.20-sslbak/mysql-test/t/ssl_ca.test mysql-5.7.20/mysql-test/t/ssl_ca.test
--- mysql-5.7.20-sslbak/mysql-test/t/ssl_ca.test 2017-12-08 09:00:55.773785399 +0100
+++ mysql-5.7.20/mysql-test/t/ssl_ca.test 2017-12-08 22:19:40.036870755 +0100
@@ -10,7 +10,7 @@
--exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/wrong-crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'" 2>&1
--echo # try to connect with correct '--ssl-ca' path : should connect
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
--exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'"
--echo #
@@ -22,15 +22,15 @@
--echo # try to connect with '--ssl-ca' option using tilde home directoy
--echo # path substitution : should connect
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
--exec $MYSQL --ssl-ca=$mysql_test_dir_path/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'"
--echo # try to connect with '--ssl-key' option using tilde home directoy
--echo # path substitution : should connect
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
--exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$mysql_test_dir_path/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'"
--echo # try to connect with '--ssl-cert' option using tilde home directoy
--echo # path substitution : should connect
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
--exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$mysql_test_dir_path/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'"
diff -rup mysql-5.7.20-sslbak/mysql-test/t/ssl_compress.test mysql-5.7.20/mysql-test/t/ssl_compress.test
--- mysql-5.7.20-sslbak/mysql-test/t/ssl_compress.test 2017-12-08 09:00:55.774785407 +0100
+++ mysql-5.7.20/mysql-test/t/ssl_compress.test 2017-12-08 22:19:40.036870755 +0100
@@ -17,7 +17,7 @@
connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS);
# Check ssl turned on
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
SHOW STATUS LIKE 'Ssl_cipher';
# Check compression turned on
@@ -27,7 +27,7 @@ SHOW STATUS LIKE 'Compression';
-- source include/common-tests.inc
# Check ssl turned on
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
SHOW STATUS LIKE 'Ssl_cipher';
# Check compression turned on
diff -rup mysql-5.7.20-sslbak/mysql-test/t/ssl_crl.test mysql-5.7.20/mysql-test/t/ssl_crl.test
--- mysql-5.7.20-sslbak/mysql-test/t/ssl_crl.test 2017-12-08 09:00:55.774785407 +0100
+++ mysql-5.7.20/mysql-test/t/ssl_crl.test 2017-12-08 22:19:40.037870762 +0100
@@ -32,9 +32,11 @@ if (!$crllen)
--echo # try to connect with '--ssl-crl' option using tilde home directoy
--echo # path substitution : should connect
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 DHE-RSA-AES128-GCM-SHA256
--exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test --ssl-crl=$mysql_test_dir_path/std_data/crl-client-revoked.crl -e "SHOW STATUS LIKE 'Ssl_cipher'"
--echo # try to connect with '--ssl-crlpath' option using tilde home directoy
--echo # path substitution : should connect
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 DHE-RSA-AES128-GCM-SHA256
--exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem --ssl-crlpath=$mysql_test_dir_path/std_data/crldir test -e "SHOW STATUS LIKE 'Ssl_cipher'"
diff -rup mysql-5.7.20-sslbak/mysql-test/t/ssl.test mysql-5.7.20/mysql-test/t/ssl.test
--- mysql-5.7.20-sslbak/mysql-test/t/ssl.test 2017-12-08 09:00:55.772785392 +0100
+++ mysql-5.7.20/mysql-test/t/ssl.test 2017-12-08 22:19:40.037870762 +0100
@@ -16,7 +16,7 @@
connect (ssl_con,localhost,root,,,,,SSL);
# Check ssl turned on
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
SHOW STATUS LIKE 'Ssl_cipher';
# Check ssl expiration
@@ -27,7 +27,7 @@ SHOW STATUS LIKE 'Ssl_server_not_after';
-- source include/common-tests.inc
# Check ssl turned on
---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER
SHOW STATUS LIKE 'Ssl_cipher';
connection default;
diff -rup mysql-5.7.20-sslbak/mysys_ssl/my_aes_openssl.cc mysql-5.7.20/mysys_ssl/my_aes_openssl.cc
--- mysql-5.7.20-sslbak/mysys_ssl/my_aes_openssl.cc 2017-12-08 09:00:55.851786000 +0100
+++ mysql-5.7.20/mysys_ssl/my_aes_openssl.cc 2017-12-08 22:19:40.037870762 +0100
@@ -122,7 +122,7 @@ int my_aes_encrypt(const unsigned char *
enum my_aes_opmode mode, const unsigned char *iv,
bool padding)
{
- EVP_CIPHER_CTX ctx;
+ EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new();
const EVP_CIPHER *cipher= aes_evp_type(mode);
int u_len, f_len;
/* The real key to be used for encryption */
@@ -132,23 +132,23 @@ int my_aes_encrypt(const unsigned char *
if (!cipher || (EVP_CIPHER_iv_length(cipher) > 0 && !iv))
return MY_AES_BAD_DATA;
- if (!EVP_EncryptInit(&ctx, cipher, rkey, iv))
+ if (!EVP_EncryptInit(ctx, cipher, rkey, iv))
goto aes_error; /* Error */
- if (!EVP_CIPHER_CTX_set_padding(&ctx, padding))
+ if (!EVP_CIPHER_CTX_set_padding(ctx, padding))
goto aes_error; /* Error */
- if (!EVP_EncryptUpdate(&ctx, dest, &u_len, source, source_length))
+ if (!EVP_EncryptUpdate(ctx, dest, &u_len, source, source_length))
goto aes_error; /* Error */
- if (!EVP_EncryptFinal(&ctx, dest + u_len, &f_len))
+ if (!EVP_EncryptFinal(ctx, dest + u_len, &f_len))
goto aes_error; /* Error */
- EVP_CIPHER_CTX_cleanup(&ctx);
+ EVP_CIPHER_CTX_free(ctx);
return u_len + f_len;
aes_error:
/* need to explicitly clean up the error if we want to ignore it */
ERR_clear_error();
- EVP_CIPHER_CTX_cleanup(&ctx);
+ EVP_CIPHER_CTX_free(ctx);
return MY_AES_BAD_DATA;
}
@@ -159,7 +159,7 @@ int my_aes_decrypt(const unsigned char *
bool padding)
{
- EVP_CIPHER_CTX ctx;
+ EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new();
const EVP_CIPHER *cipher= aes_evp_type(mode);
int u_len, f_len;
@@ -170,24 +170,22 @@ int my_aes_decrypt(const unsigned char *
if (!cipher || (EVP_CIPHER_iv_length(cipher) > 0 && !iv))
return MY_AES_BAD_DATA;
- EVP_CIPHER_CTX_init(&ctx);
-
- if (!EVP_DecryptInit(&ctx, aes_evp_type(mode), rkey, iv))
+ if (!EVP_DecryptInit(ctx, aes_evp_type(mode), rkey, iv))
goto aes_error; /* Error */
- if (!EVP_CIPHER_CTX_set_padding(&ctx, padding))
+ if (!EVP_CIPHER_CTX_set_padding(ctx, padding))
goto aes_error; /* Error */
- if (!EVP_DecryptUpdate(&ctx, dest, &u_len, source, source_length))
+ if (!EVP_DecryptUpdate(ctx, dest, &u_len, source, source_length))
goto aes_error; /* Error */
- if (!EVP_DecryptFinal_ex(&ctx, dest + u_len, &f_len))
+ if (!EVP_DecryptFinal_ex(ctx, dest + u_len, &f_len))
goto aes_error; /* Error */
- EVP_CIPHER_CTX_cleanup(&ctx);
+ EVP_CIPHER_CTX_free(ctx);
return u_len + f_len;
aes_error:
/* need to explicitly clean up the error if we want to ignore it */
ERR_clear_error();
- EVP_CIPHER_CTX_cleanup(&ctx);
+ EVP_CIPHER_CTX_free(ctx);
return MY_AES_BAD_DATA;
}
diff -rup mysql-5.7.20-sslbak/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c mysql-5.7.20/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c
--- mysql-5.7.20-sslbak/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c 2017-12-08 09:00:55.975786955 +0100
+++ mysql-5.7.20/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c 2017-12-08 22:19:40.037870762 +0100
@@ -104,7 +104,7 @@ static const char* tls_cipher_blocked= "
mjxx/bg6bOOjpgZapvB6ABWlWmRmAAWFtwIBBQ==
-----END DH PARAMETERS-----
*/
-static unsigned char dh2048_p[]=
+static unsigned char dhp_2048[]=
{
0x8A, 0x5D, 0xFA, 0xC0, 0x66, 0x76, 0x4E, 0x61, 0xFA, 0xCA, 0xC0, 0x37,
0x57, 0x5C, 0x6D, 0x3F, 0x83, 0x0A, 0xA1, 0xF5, 0xF1, 0xE6, 0x7F, 0x3C,
@@ -131,20 +131,24 @@ static unsigned char dh2048_p[]=
};
-static unsigned char dh2048_g[]={
+static unsigned char dhg_2048[]={
0x05,
};
static DH *get_dh2048(void)
{
- DH *dh;
- if ((dh=DH_new()))
+ DH *dh = DH_new();
+ BIGNUM *dhp_bn, *dhg_bn;
+ if (dh != NULL)
{
- dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL);
- dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL);
- if (! dh->p || ! dh->g)
+ dhp_bn = BN_bin2bn(dhp_2048, sizeof (dhp_2048), NULL);
+ dhg_bn = BN_bin2bn(dhg_2048, sizeof (dhg_2048), NULL);
+ if (dhp_bn == NULL || dhg_bn == NULL
+ || !DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn))
{
DH_free(dh);
+ BN_free(dhp_bn);
+ BN_free(dhg_bn);
dh=0;
}
}
diff -rup mysql-5.7.20-sslbak/sql/mysqld.cc mysql-5.7.20/sql/mysqld.cc
--- mysql-5.7.20-sslbak/sql/mysqld.cc 2017-12-08 09:00:56.309789528 +0100
+++ mysql-5.7.20/sql/mysqld.cc 2017-12-08 22:19:40.039870776 +0100
@@ -3376,7 +3376,7 @@ static int init_ssl()
{
#ifdef HAVE_OPENSSL
#ifndef HAVE_YASSL
- CRYPTO_malloc_init();
+ OPENSSL_malloc_init();
#endif
ssl_start();
#ifndef EMBEDDED_LIBRARY
diff -rup mysql-5.7.20-sslbak/sql-common/client.c mysql-5.7.20/sql-common/client.c
--- mysql-5.7.20-sslbak/sql-common/client.c 2017-12-08 09:00:56.245789035 +0100
+++ mysql-5.7.20/sql-common/client.c 2017-12-08 22:19:40.040870783 +0100
@@ -2741,7 +2741,7 @@ static int ssl_verify_server_cert(Vio *v
goto error;
}
- cn= (char *) ASN1_STRING_data(cn_asn1);
+ cn= (char *) ASN1_STRING_get0_data(cn_asn1);
// There should not be any NULL embedded in the CN
if ((size_t)ASN1_STRING_length(cn_asn1) != strlen(cn))
diff -rup mysql-5.7.20-sslbak/vio/viosslfactories.c mysql-5.7.20/vio/viosslfactories.c
--- mysql-5.7.20-sslbak/vio/viosslfactories.c 2017-12-08 09:00:56.807793365 +0100
+++ mysql-5.7.20/vio/viosslfactories.c 2017-12-08 22:19:40.040870783 +0100
@@ -86,7 +86,7 @@ static my_bool ssl_initialized
mjxx/bg6bOOjpgZapvB6ABWlWmRmAAWFtwIBBQ==
-----END DH PARAMETERS-----
*/
-static unsigned char dh2048_p[]=
+static unsigned char dhp_2048[]=
{
0x8A, 0x5D, 0xFA, 0xC0, 0x66, 0x76, 0x4E, 0x61, 0xFA, 0xCA, 0xC0, 0x37,
0x57, 0x5C, 0x6D, 0x3F, 0x83, 0x0A, 0xA1, 0xF5, 0xF1, 0xE6, 0x7F, 0x3C,
@@ -112,20 +112,25 @@ static unsigned char dh2048_p[]=
0x00, 0x05, 0x85, 0xB7,
};
-static unsigned char dh2048_g[]={
+static unsigned char dhg_2048[]={
0x05,
};
static DH *get_dh2048(void)
{
- DH *dh;
- if ((dh=DH_new()))
+ DH *dh = DH_new();
+ BIGNUM *dhp_bn, *dhg_bn;
+
+ if (dh != NULL)
{
- dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL);
- dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL);
- if (! dh->p || ! dh->g)
+ dhp_bn = BN_bin2bn(dhp_2048, sizeof (dhp_2048), NULL);
+ dhg_bn = BN_bin2bn(dhg_2048, sizeof (dhg_2048), NULL);
+ if (dhp_bn == NULL || dhg_bn == NULL
+ || !DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn))
{
DH_free(dh);
+ BN_free(dhp_bn);
+ BN_free(dhg_bn);
dh=0;
}
}
@@ -419,9 +424,7 @@ void ssl_start()
{
ssl_initialized= TRUE;
- SSL_library_init();
- OpenSSL_add_all_algorithms();
- SSL_load_error_strings();
+ OPENSSL_init_ssl(0, NULL);
#ifndef HAVE_YASSL
init_ssl_locks();

View File

@ -3,96 +3,11 @@ Software Collections. Removing these hard-coded paths should fix it.
Upstream report: https://mariadb.atlassian.net/browse/MDEV-6485
diff -up --recursive mysql-5.7.8.orig/client/mysql_plugin.c mysql-5.7.8/client/mysql_plugin.c
--- mysql-5.7.8.orig/client/mysql_plugin.c 2015-07-20 14:25:08.000000000 +0200
+++ mysql-5.7.8/client/mysql_plugin.c 2015-09-23 13:32:57.711495542 +0200
@@ -94,6 +94,7 @@ static int find_plugin(char *tp_path);
static int build_bootstrap_file(char *operation, char *bootstrap);
static int dump_bootstrap_file(char *bootstrap_file);
static int bootstrap_server(char *server_path, char *bootstrap_file);
+static int find_file_in_path(const char *name, char *to);
int main(int argc,char *argv[])
@@ -125,7 +126,7 @@ int main(int argc,char *argv[])
*/
if ((error= process_options(argc, argv, operation)) ||
(error= check_access()) ||
- (error= find_tool("mysqld" FN_EXEEXT, server_path)) ||
+ (error= find_file_in_path("mysqld" FN_EXEEXT, server_path)) ||
(error= find_plugin(tp_path)) ||
(error= build_bootstrap_file(operation, bootstrap)))
goto exit;
@@ -331,7 +332,7 @@ static int get_default_values()
FILE *file= 0;
memset(tool_path, 0, FN_REFLEN);
- if ((error= find_tool("my_print_defaults" FN_EXEEXT, tool_path)))
+ if ((error= find_file_in_path("my_print_defaults" FN_EXEEXT, tool_path)))
goto exit;
else
{
@@ -1014,6 +1015,55 @@ exit:
}
+#if defined(__WIN__)
+#define F_OK 0
+#define PATH_SEP ';'
+#define PROGRAM_EXTENSION ".exe"
+#else
+#define PATH_SEP ':'
+#endif
+
+static int find_file_in_path(const char *name, char *to)
+{
+ char *path,*pos,dir[2];
+ const char *ext="";
+
+ if (!(path=getenv("PATH")))
+ goto notfound;
+ dir[0]=FN_LIBCHAR; dir[1]=0;
+#ifdef PROGRAM_EXTENSION
+ if (!fn_ext(name)[0])
+ ext=PROGRAM_EXTENSION;
+#endif
+
+ for (pos=path ; (pos=strchr(pos,PATH_SEP)) ; path= ++pos)
+ {
+ if (path != pos)
+ {
+ strxmov(my_stpnmov(to,path,(uint) (pos-path)),dir,name,ext,NullS);
+ if (!access(to,F_OK))
+ {
+ if (opt_verbose)
+ printf("# Found tool '%s' as '%s'.\n", name, to);
+ return 0;
+ }
+ }
+ }
+#ifdef __WIN__
+ to[0]=FN_CURLIB;
+ strxmov(to+1,dir,name,ext,NullS);
+ if (!access(to,F_OK)) /* Test in current dir */
+ {
+ if (opt_verbose)
+ printf("# Found tool '%s' as '%s'.\n", name, to);
+ return 0;
+ }
+#endif
+notfound:
+ fprintf(stderr, "WARNING: Cannot find %s.\n", name);
+ return 1; /* File not found */
+}
+
/**
Locate the tool and form tool path.
diff -up --recursive mysql-5.7.8.orig/cmake/install_layout.cmake mysql-5.7.8/cmake/install_layout.cmake
--- mysql-5.7.8.orig/cmake/install_layout.cmake 2015-07-20 14:25:07.000000000 +0200
+++ mysql-5.7.8/cmake/install_layout.cmake 2015-09-23 13:32:57.711495542 +0200
@@ -107,7 +107,7 @@ IF(UNIX)
diff --git a/cmake/install_layout.cmake b/cmake/install_layout.cmake
index ec2b492..43e4ccd 100644
--- a/cmake/install_layout.cmake
+++ b/cmake/install_layout.cmake
@@ -114,7 +114,7 @@ IF(UNIX)
" Choose between ${VALID_INSTALL_LAYOUTS}" )
ENDIF()
@ -101,18 +16,19 @@ diff -up --recursive mysql-5.7.8.orig/cmake/install_layout.cmake mysql-5.7.8/cma
CACHE PATH "config directory (for my.cnf)")
MARK_AS_ADVANCED(SYSCONFDIR)
ENDIF()
@@ -321,6 +321,7 @@ SET(INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR
@@ -318,6 +318,7 @@ SET(INSTALL_SECURE_FILE_PRIVDIR_TARGZ ${secure_file_priv_path})
#
SET(INSTALL_BINDIR_RPM "bin")
SET(INSTALL_SBINDIR_RPM "sbin")
SET(INSTALL_SCRIPTDIR_RPM "bin")
+SET(INSTALL_SYSCONFDIR_RPM "/etc")
#
IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
SET(INSTALL_LIBDIR_RPM "lib64")
diff -up --recursive mysql-5.7.8.orig/mysys_ssl/my_default.cc mysql-5.7.8/mysys_ssl/my_default.cc
--- mysql-5.7.8.orig/mysys_ssl/my_default.cc 2015-07-20 14:25:08.000000000 +0200
+++ mysql-5.7.8/mysys_ssl/my_default.cc 2015-09-23 13:32:57.712495541 +0200
@@ -1404,12 +1404,12 @@ static const char **init_default_directo
diff --git a/mysys_ssl/my_default.cc b/mysys_ssl/my_default.cc
index 2d76700..02c5885 100644
--- a/mysys_ssl/my_default.cc
+++ b/mysys_ssl/my_default.cc
@@ -1733,12 +1733,12 @@ static const char **init_default_directories(MEM_ROOT *alloc)
#else
@ -128,10 +44,11 @@ diff -up --recursive mysql-5.7.8.orig/mysys_ssl/my_default.cc mysql-5.7.8/mysys_
#endif /* DEFAULT_SYSCONFDIR */
#endif
diff -up --recursive mysql-5.7.8.orig/scripts/CMakeLists.txt mysql-5.7.8/scripts/CMakeLists.txt
--- mysql-5.7.8.orig/scripts/CMakeLists.txt 2015-07-20 14:25:08.000000000 +0200
+++ mysql-5.7.8/scripts/CMakeLists.txt 2015-09-23 13:43:47.463665346 +0200
@@ -295,7 +295,7 @@ ELSE()
diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt
index c66a910..af9bc9e 100644
--- a/scripts/CMakeLists.txt
+++ b/scripts/CMakeLists.txt
@@ -324,7 +324,7 @@ ELSE()
ENDIF()
SET(prefix "${CMAKE_INSTALL_PREFIX}")
@ -139,11 +56,12 @@ diff -up --recursive mysql-5.7.8.orig/scripts/CMakeLists.txt mysql-5.7.8/scripts
+SET(sysconfdir ${SYSCONFDIR})
SET(bindir ${prefix}/${INSTALL_BINDIR})
SET(libexecdir ${prefix}/${INSTALL_SBINDIR})
SET(scriptdir ${prefix}/${INSTALL_BINDIR})
diff -up --recursive mysql-5.7.8.orig/scripts/mysqld_multi.sh mysql-5.7.8/scripts/mysqld_multi.sh
--- mysql-5.7.8.orig/scripts/mysqld_multi.sh 2015-07-20 14:25:08.000000000 +0200
+++ mysql-5.7.8/scripts/mysqld_multi.sh 2015-09-23 13:32:57.712495541 +0200
@@ -573,9 +573,7 @@ sub list_defaults_files
SET(datadir ${prefix}/${INSTALL_MYSQLSHAREDIR})
diff --git a/scripts/mysqld_multi.sh b/scripts/mysqld_multi.sh
index 5ad36e7..5dd032f 100644
--- a/scripts/mysqld_multi.sh
+++ b/scripts/mysqld_multi.sh
@@ -572,9 +572,7 @@ sub list_defaults_files
my %seen; # Don't list the same file more than once
return grep { defined $_ and not $seen{$_}++ and -f $_ and -r $_ }

View File

@ -1,23 +1,23 @@
Support s390/s390x in performance schema's cycle-counting functions.
Filed upstream at http://bugs.mysql.com/bug.php?id=59953
diff -up --recursive mysql-5.7.9.orig/include/my_rdtsc.h mysql-5.7.9/include/my_rdtsc.h
--- mysql-5.7.9.orig/include/my_rdtsc.h 2015-10-12 08:21:33.000000000 +0200
+++ mysql-5.7.9/include/my_rdtsc.h 2015-11-10 16:33:36.037432669 +0100
@@ -125,6 +125,7 @@ C_MODE_END
diff --git a/include/my_rdtsc.h b/include/my_rdtsc.h
index 65f7df1..a28f470 100644
--- a/include/my_rdtsc.h
+++ b/include/my_rdtsc.h
@@ -128,5 +128,6 @@ void my_timer_init(MY_TIMER_INFO *mti);
#define MY_TIMER_ROUTINE_GETSYSTEMTIMEASFILETIME 26
#define MY_TIMER_ROUTINE_ASM_SUNPRO_X86_64 27
#define MY_TIMER_ROUTINE_ASM_AARCH64 28
+#define MY_TIMER_ROUTINE_ASM_S390 29
#define MY_TIMER_ROUTINE_ASM_SUNPRO_X86_64 27
#define MY_TIMER_ROUTINE_ASM_AARCH64 28
+#define MY_TIMER_ROUTINE_ASM_S390 29
#endif
diff -up --recursive mysql-5.7.9.orig/mysys/my_rdtsc.c mysql-5.7.9/mysys/my_rdtsc.c
--- mysql-5.7.9.orig/mysys/my_rdtsc.c 2015-10-12 08:21:33.000000000 +0200
+++ mysql-5.7.9/mysys/my_rdtsc.c 2015-11-10 16:33:36.038432668 +0100
@@ -183,6 +183,13 @@ ulonglong my_timer_cycles(void)
__asm __volatile__ ("mrs %[rt],cntvct_el0" : [rt] "=r" (result));
diff --git a/mysys/my_rdtsc.cc b/mysys/my_rdtsc.cc
index ec8e855..c3408b1 100644
--- a/mysys/my_rdtsc.cc
+++ b/mysys/my_rdtsc.cc
@@ -204,6 +204,13 @@ ulonglong my_timer_cycles(void) {
__asm __volatile__("mrs %[rt],cntvct_el0" : [rt] "=r"(result));
return result;
}
+#elif defined(__GNUC__) && defined(__s390__)
@ -29,13 +29,13 @@ diff -up --recursive mysql-5.7.9.orig/mysys/my_rdtsc.c mysql-5.7.9/mysys/my_rdts
+ }
#elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME)
/* gethrtime may appear as either cycle or nanosecond counter */
return (ulonglong) gethrtime();
@@ -487,6 +494,8 @@ void my_timer_init(MY_TIMER_INFO *mti)
mti->cycles.routine= MY_TIMER_ROUTINE_ASM_GCC_SPARC32;
return (ulonglong)gethrtime();
@@ -505,6 +512,8 @@ void my_timer_init(MY_TIMER_INFO *mti) {
mti->cycles.routine = MY_TIMER_ROUTINE_ASM_GCC_SPARC32;
#elif defined(__GNUC__) && defined(__aarch64__)
mti->cycles.routine= MY_TIMER_ROUTINE_ASM_AARCH64;
mti->cycles.routine = MY_TIMER_ROUTINE_ASM_AARCH64;
+#elif defined(__GNUC__) && defined(__s390__)
+ mti->cycles.routine= MY_TIMER_ROUTINE_ASM_S390;
+ mti->cycles.routine = MY_TIMER_ROUTINE_ASM_S390;
#elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME)
mti->cycles.routine= MY_TIMER_ROUTINE_GETHRTIME;
mti->cycles.routine = MY_TIMER_ROUTINE_GETHRTIME;
#else

View File

@ -1,46 +1,9 @@
diff -up --recursive mysql-5.7.8.orig/mysql-test/lib/My/ConfigFactory.pm mysql-5.7.8/mysql-test/lib/My/ConfigFactory.pm
--- mysql-5.7.8.orig/mysql-test/lib/My/ConfigFactory.pm 2015-07-20 14:25:09.000000000 +0200
+++ mysql-5.7.8/mysql-test/lib/My/ConfigFactory.pm 2015-09-23 13:51:18.655091136 +0200
@@ -36,7 +36,7 @@ my @pre_rules=
);
-my @share_locations= ("share/mysql", "sql/share", "share");
+my @share_locations= ("@INSTALL_MYSQLSHAREDIR@", "sql/share", "share");
sub get_basedir {
diff -up --recursive mysql-5.7.8.orig/mysql-test/mysql-test-run.pl mysql-5.7.8/mysql-test/mysql-test-run.pl
--- mysql-5.7.8.orig/mysql-test/mysql-test-run.pl 2015-07-20 14:25:08.000000000 +0200
+++ mysql-5.7.8/mysql-test/mysql-test-run.pl 2015-09-23 13:52:50.023961144 +0200
@@ -1282,11 +1282,11 @@ sub command_line_setup {
}
# Look for language files and charsetsdir, use same share
- $path_language= mtr_path_exists("$bindir/share/mysql",
+ $path_language= mtr_path_exists("$bindir/@INSTALL_MYSQLSHAREDIR@",
"$bindir/sql/share",
"$bindir/share");
my $path_share= $path_language;
- $path_charsetsdir = mtr_path_exists("$basedir/share/mysql/charsets",
+ $path_charsetsdir = mtr_path_exists("$basedir/@INSTALL_MYSQLSHAREDIR@/charsets",
"$basedir/sql/share/charsets",
"$basedir/share/charsets");
@@ -3729,7 +3729,7 @@ sub mysql_install_db {
}
my $path_sql= my_find_file($install_basedir,
- ["mysql", "sql/share", "share/mysql",
+ ["mysql", "sql/share", "@INSTALL_MYSQLSHAREDIR@",
"share", "scripts"],
"mysql_system_tables.sql",
NOT_REQUIRED);
diff -up --recursive mysql-5.7.8.orig/mysql-test/CMakeLists.txt mysql-5.7.8/mysql-test/CMakeLists.txt
--- mysql-5.7.8.orig/mysql-test/CMakeLists.txt 2015-07-20 14:25:08.000000000 +0200
+++ mysql-5.7.8/mysql-test/CMakeLists.txt 2015-09-23 13:53:57.694863067 +0200
@@ -33,6 +33,10 @@ ENDIF()
diff --git a/mysql-test/CMakeLists.txt b/mysql-test/CMakeLists.txt
index 7c1e82b..a92ba91 100644
--- a/mysql-test/CMakeLists.txt
+++ b/mysql-test/CMakeLists.txt
@@ -56,6 +56,10 @@ INSTALL(
ENDIF()
+# Expand some paths in the perl scripts correctly
@ -50,3 +13,31 @@ diff -up --recursive mysql-5.7.8.orig/mysql-test/CMakeLists.txt mysql-5.7.8/mysq
IF(NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
# Enable running mtr from build directory
CONFIGURE_FILE(
diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl
index e9130dd..388c039 100755
--- a/mysql-test/mysql-test-run.pl
+++ b/mysql-test/mysql-test-run.pl
@@ -1535,11 +1535,13 @@ sub command_line_setup {
}
# Look for language files and charsetsdir, use same share
- $path_language= mtr_path_exists("$bindir/share/mysql",
+ $path_language= mtr_path_exists("$bindir/@INSTALL_MYSQLSHAREDIR@",
+ "$bindir/share/mysql",
"$bindir/share");
my $path_share= $path_language;
- @share_locations= ("share/mysql",
+ @share_locations= ("@INSTALL_MYSQLSHAREDIR@",
+ "share/mysql",
"share/mysql-" . $mysql_base_version,
"share");
@@ -4140,6 +4142,7 @@ sub mysql_install_db {
my $path_sql= my_find_file($install_basedir,
["mysql", "share/mysql",
+ "@INSTALL_MYSQLSHAREDIR@",
"share/mysql-" . $mysql_base_version,
"share", "scripts"],
"mysql_system_tables.sql",

View File

@ -10,15 +10,6 @@
# Set this to 1 to see which tests fail
%global check_testsuite 0
# set to 1 to enable
%if 0%{?fedora} > 27
# Deprecate patch 70, because MariaDB renamed its library to libmariadb.so
%global with_shared_lib_major_hack 0
%else
%global with_shared_lib_major_hack 1
%endif
# In f20+ use unversioned docdirs, otherwise the old versioned one
%global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}}
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{pkg_name}-%{version}}
@ -34,7 +25,6 @@
# For some use cases we do not need some parts of the package
%bcond_without clibrary
%bcond_without embedded
%bcond_without devel
%bcond_without client
%bcond_without common
@ -89,7 +79,7 @@
%global sameevr %{?epoch:%{epoch}:}%{version}-%{release}
Name: community-mysql
Version: 5.7.22
Version: 8.0.11
Release: 1%{?with_debug:.debug}%{?dist}
Summary: MySQL client programs and shared libraries
URL: http://www.mysql.com
@ -98,7 +88,7 @@ URL: http://www.mysql.com
# not only GPL code. See README.mysql-license
License: GPLv2 with exceptions and LGPLv2 and BSD
Source0: https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-boost-%{version}.tar.gz
Source0: https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-boost-%{version}.tar.gz
Source2: mysql_config_multilib.sh
Source3: my.cnf.in
Source6: README.mysql-docs
@ -122,7 +112,6 @@ Source31: server.cnf.in
# Patches common for more mysql-like packages
Patch1: %{pkgnamepatch}-install-test.patch
Patch2: %{pkgnamepatch}-s390-tsc.patch
Patch3: %{pkgnamepatch}-logrotate.patch
Patch4: %{pkgnamepatch}-file-contents.patch
Patch5: %{pkgnamepatch}-scripts.patch
Patch6: %{pkgnamepatch}-paths.patch
@ -131,25 +120,18 @@ Patch7: %{pkgnamepatch}-md5_fips.patch
# Patches specific for this mysql package
Patch51: %{pkgnamepatch}-chain-certs.patch
Patch52: %{pkgnamepatch}-sharedir.patch
Patch70: %{pkgnamepatch}-5.7.9-major.patch
Patch71: %{pkgnamepatch}-openssl11.patch
%if 0%{?fedora} >= 28 || 0%{?rhel} > 7
Patch73: %{pkgnamepatch}-libxcrypt.patch
%endif
Patch75: %{pkgnamepatch}-arm32-timer.patch
# Patches taken from boost 1.59
Patch115: boost-1.58.0-pool.patch
Patch125: boost-1.57.0-mpl-print.patch
Patch136: boost-1.57.0-spirit-unused_typedef.patch
Patch145: boost-1.54.0-locale-unused_typedef.patch
Patch170: boost-1.59.0-log.patch
Patch180: boost-1.59-python-make_setter.patch
Patch181: boost-1.59-test-fenv.patch
BuildRequires: cmake gcc-c++
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: libaio-devel
BuildRequires: libedit-devel
BuildRequires: libevent-devel
BuildRequires: lz4
BuildRequires: lz4-devel
BuildRequires: mecab-devel
%ifnarch aarch64 %{arm} s390 s390x
@ -164,7 +146,8 @@ BuildRequires: perl-generators
BuildRequires: rpcgen
BuildRequires: libtirpc-devel
%endif
BuildRequires: systemtap-sdt-devel
BuildRequires: protobuf-lite-devel
BuildRequires: zlib
BuildRequires: zlib-devel
BuildRequires: multilib-rpm-config
# Tests requires time and ps and some perl modules
@ -180,6 +163,7 @@ BuildRequires: perl(Data::Dumper)
BuildRequires: perl(Getopt::Long)
BuildRequires: perl(IPC::Open3)
BuildRequires: perl(JSON)
BuildRequires: perl(LWP::Simple)
BuildRequires: perl(Memoize)
BuildRequires: perl(Socket)
BuildRequires: perl(Sys::Hostname)
@ -192,7 +176,7 @@ BuildRequires: perl(Time::HiRes)
Requires: bash coreutils grep
Requires: %{name}-common%{?_isa} = %{sameevr}
Provides: bundled(boost) = 1.59
Provides: bundled(boost) = 1.66
%if %{with mysql_names}
Provides: mysql = %{sameevr}
@ -265,13 +249,12 @@ MySQL package.
%if %{with errmsg}
%package errmsg
Summary: The error messages files required by server and embedded
Summary: The error messages files required by MySQL server
Group: Applications/Databases
Requires: %{name}-common%{?_isa} = %{sameevr}
%description errmsg
The package provides error messages files for the MySQL daemon and the
embedded server. You will need to install this package to use any of those
MySQL packages.
The package provides error messages files for the MySQL daemon
%endif
@ -329,45 +312,14 @@ package contains the libraries and header files that are needed for
developing MySQL client applications.
%endif
%if %{with embedded}
%package embedded
Summary: MySQL as an embeddable library
Requires: %{name}-common%{?_isa} = %{sameevr}
Requires: %{name}-errmsg%{?_isa} = %{sameevr}
%if %{with mysql_names}
Provides: mysql-embedded = %{sameevr}
Provides: mysql-embedded%{?_isa} = %{sameevr}
%endif
%description embedded
MySQL is a multi-user, multi-threaded SQL database server. This
package contains a version of the MySQL server that can be embedded
into a client application instead of running as a separate process.
%package embedded-devel
Summary: Development files for MySQL as an embeddable library
Requires: %{name}-embedded%{?_isa} = %{sameevr}
Requires: %{name}-devel%{?_isa} = %{sameevr}
Requires: libaio-devel
Requires: lz4-devel
Requires: pkgconfig(openssl)
Requires: zlib-devel
%{?with_conflicts:Conflicts: mariadb-embedded-devel}
%description embedded-devel
MySQL is a multi-user, multi-threaded SQL database server. This
package contains files needed for developing and testing with
the embedded version of the MySQL server.
%endif
%if %{with test}
%package test
Summary: The test suite distributed with MySQL
Requires: %{name}%{?_isa} = %{sameevr}
Requires: %{name}-common%{?_isa} = %{sameevr}
Requires: %{name}-server%{?_isa} = %{sameevr}
Requires: gzip
Requires: lz4
Requires: perl(Digest::file)
Requires: perl(Digest::MD5)
Requires: perl(Env)
@ -378,6 +330,8 @@ Requires: perl(Data::Dumper)
Requires: perl(Getopt::Long)
Requires: perl(IPC::Open3)
Requires: perl(JSON)
Requires: perl(LWP::Simple)
Requires: perl(Memoize)
Requires: perl(Socket)
Requires: perl(Sys::Hostname)
Requires: perl(Test::More)
@ -399,30 +353,17 @@ the MySQL sources.
%setup -q -n mysql-%{version}
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch51 -p1
%patch52 -p1
%if %{with_shared_lib_major_hack}
%patch70 -p1
%endif
%patch71 -p1
%if 0%{?fedora} >= 28 || 0%{?rhel} > 7
%patch73 -p1
%endif
%patch75 -p1
# Patch Boost
pushd boost/boost_1_59_0
pushd boost/boost_1_66_0
%patch115 -p0
%patch125 -p1
%patch136 -p1
%patch145 -p1
%patch170 -p2
%patch180 -p2
%patch181 -p2
popd
# Modify tests to pass on all archs
@ -434,6 +375,43 @@ add_test () {
touch %{skiplist}
# fails everywhere
add_test gis.srs : 8.0 issue
add_test main.import : 8.0 issue
add_test main.no_binlog_related_options : 8.0 issue
add_test main.regular_expressions_func_icu_54 : 8.0 issue
add_test main.regular_expressions_utf-8_icu_58 : 8.0 issue
add_test main.regular_expressions_utf-8 : 8.0 issue
add_test main.regular_expressions_utf-8_icu_59 : 8.0 issue
add_test perfschema.histograms : 8.0 issue
add_test main.log_options_cmdline : 8.0 issue
# Fails since 8.0
add_test x.crud_insert_cast :
add_test x.insert_table :
add_test x.insert_table_bad_column :
add_test x.insert_table_bad_column_type :
add_test x.insert_table_bad_numcolumns :
add_test x.update_crud_arrayappend_o :
add_test x.update_crud_arrayinsert_o :
add_test innodb.innodb : missing correct value
add_test innodb.innodb_cats :
add_test innodb.log_corruption :
add_test main.dd_upgrade_test :
add_test main.disabled_replication :
add_test main.flush2 :
add_test main.import :
add_test main.mysqldump-no-binlog :
add_test main.skip_log_bin :
add_test main.window_functions_explain :
add_test rpl_gtid.rpl_gtid_perfschema_applier_xa_status :
add_test gis.gis_bugs_crashes :
add_test perfschema.histograms :
add_test main.log_options_cmdline :
# these tests fail on arm32
%ifarch %arm
# FTS; still apply for 5.7.21
@ -441,20 +419,19 @@ add_test innodb_fts.opt : arm32 FTS issue
# Missing hw counters; in 5.7.21 reported as unstable tests
add_test perfschema.func_file_io : missing hw on arm32
add_test perfschema.setup_objects : missing hw on arm32
add_test perfschema.global_read_lock : missing hw on arm32
add_test perfschema.func_mutex : missing hw on arm32
%endif
# This test fail on ppc64 and ppc64le; applicable in 5.7.21
%ifarch ppc64le ppc64
add_test innodb.innodb : missing correct value
%endif
%ifarch ppc64le
add_test main.histograms : 8.0 issue/ppc64le
add_test main.opt_costmodel : 8.0 issue/ppc64le
add_test innodb.temporary_table_optimization : 8.0 issue/ppc64le
add_test perfschema.memory_aggregate_no_a : incorrect numbers in output
add_test innodb_zip.wl6469 :
add_test json.json_functions_innodb :
add_test main.ps :
# The "select" tests may be a PPC floating point long long precision error
# Need to check this theory, though.
# Maybe usefull conversation: https://github.com/h5py/h5py/issues/817
add_test main.select_all :
add_test main.select_all_bka :
add_test main.select_all_bka_nixbnl :
@ -471,10 +448,6 @@ add_test main.type_ranges :
add_test test_service_sql_api.test_sql_all_col_types :
%endif
%ifarch i686
add_test gis.gis_bugs_crashes : Failing since 5.7.22 release
%endif
popd
cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \
@ -518,12 +491,10 @@ cmake .. \
-DINSTALL_MYSQLTESTDIR=share/mysql-test \
-DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \
-DINSTALL_SBINDIR=libexec \
-DINSTALL_SCRIPTDIR=bin \
-DINSTALL_SUPPORTFILESDIR=share/%{pkg_name} \
-DMYSQL_DATADIR="%{dbdatadir}" \
-DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \
-DENABLED_LOCAL_INFILE=ON \
-DENABLE_DTRACE=ON \
%if %{with init_systemd}
-DWITH_SYSTEMD=1 \
-DSYSTEMD_SERVICE_NAME="%{daemon_name}" \
@ -533,18 +504,21 @@ cmake .. \
%ifnarch aarch64 %{arm} s390 s390x
-DWITH_NUMA=ON \
%endif
-DWITH_EMBEDDED_SERVER=ON \
-DWITH_EMBEDDED_SHARED_LIBRARY=ON \
%ifarch s390 s390x
-DUSE_LD_GOLD=OFF \
%endif
-DWITH_EDITLINE=system \
-DWITH_LIBEVENT=system \
-DWITH_LZ4=system \
-DWITH_MECAB=system \
-DWITH_PROTOBUF=system \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_BOOST=../boost \
-DCMAKE_C_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \
-DCMAKE_CXX_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \
%{?with_debug: -DWITH_DEBUG=1}\
%{?with_debug: -DMYSQL_MAINTAINER_MODE=0}\
-DTMPDIR=/var/tmp \
%{?_hardened_build:-DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"}
@ -556,9 +530,6 @@ popd
pushd build
make DESTDIR=%{buildroot} install
# multilib header support
%multilib_fix_c_header --file %{_includedir}/mysql/my_config.h
# multilib support for shell scripts
# we only apply this to known Red Hat multilib arches, per bug #181335
if %multilib_capable; then
@ -609,8 +580,6 @@ install -D -p -m 0644 scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{p
mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir}
ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process
# not needed in rpm package
rm %{buildroot}%{_bindir}/mysql_embedded
rm %{buildroot}%{_libdir}/mysql/*.a
rm %{buildroot}%{_datadir}/%{pkg_name}/magic
rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server
@ -645,11 +614,6 @@ rm -r %{buildroot}%{_libdir}/mysql/libmysqlclient*.so.*
rm -r %{buildroot}%{_sysconfdir}/ld.so.conf.d
%endif
%if %{without embedded}
rm %{buildroot}%{_libdir}/mysql/libmysqld.so*
rm %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded}
%endif
%if %{without devel}
rm %{buildroot}%{_bindir}/mysql_config*
rm -r %{buildroot}%{_includedir}/mysql
@ -700,13 +664,13 @@ pushd mysql-test
cp ../../mysql-test/%{skiplist} .
# builds might happen at the same host, avoid collision
export MTR_BUILD_THREAD=%{__isa_bits}
./mtr \
./mtr %{?with_debug:--debug-server} \
--mem --parallel=auto --force --retry=2 \
--mysqld=--binlog-format=mixed \
--suite-timeout=720 --testcase-timeout=30 \
--report-unstable-tests --clean-vardir \
%if %{check_testsuite}
--max-test-fail=0 || :
--max-test-fail=100 || :
%else
--skip-test-list=%{skiplist}
%endif
@ -726,11 +690,6 @@ popd
%ldconfig_post libs
%endif
%if %{with embedded}
# Can be dropped on F27 EOL
%ldconfig_post embedded
%endif
%post server
%if %{with init_systemd}
%systemd_post %{daemon_name}.service
@ -761,11 +720,6 @@ fi
%ldconfig_postun libs
%endif
%if %{with embedded}
# Can be dropped on F27 EOL
%ldconfig_postun embedded
%endif
%postun server
%if %{with init_systemd}
%systemd_postun_with_restart %{daemon_name}.service
@ -780,7 +734,6 @@ fi
%files
%{_bindir}/mysql
%{_bindir}/mysql_config_editor
%{_bindir}/mysql_plugin
%{_bindir}/mysqladmin
%{_bindir}/mysqlbinlog
%{_bindir}/mysqlcheck
@ -792,7 +745,6 @@ fi
%{_mandir}/man1/mysql.1*
%{_mandir}/man1/mysql_config_editor.1*
%{_mandir}/man1/mysql_plugin.1*
%{_mandir}/man1/mysqladmin.1*
%{_mandir}/man1/mysqlbinlog.1*
%{_mandir}/man1/mysqlcheck.1*
@ -819,7 +771,8 @@ fi
%if %{with common}
%files common
%doc README COPYING README.mysql-license README.mysql-docs
%license LICENSE
%doc README README.mysql-license README.mysql-docs
%doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google
%dir %{_libdir}/mysql
%dir %{_datadir}/%{pkg_name}
@ -856,12 +809,12 @@ fi
%endif
%files server
%{_bindir}/ibd2sdi
%{_bindir}/myisamchk
%{_bindir}/myisam_ftdump
%{_bindir}/myisamlog
%{_bindir}/myisampack
%{_bindir}/my_print_defaults
%{_bindir}/mysql_install_db
%{_bindir}/mysql_secure_installation
%{_bindir}/mysql_ssl_rsa_setup
%{_bindir}/mysql_tzinfo_to_sql
@ -875,11 +828,8 @@ fi
%{_bindir}/mysqldumpslow
%{_bindir}/innochecksum
%{_bindir}/perror
%{_bindir}/replace
%{_bindir}/resolve_stack_dump
%{_bindir}/resolveip
%{_bindir}/lz4_decompress
%{_bindir}/zlib_decompress
%config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf
@ -893,13 +843,13 @@ fi
%{_libdir}/mysql/plugin
%{_mandir}/man1/ibd2sdi.1*
%{_mandir}/man1/myisamchk.1*
%{_mandir}/man1/myisamlog.1*
%{_mandir}/man1/myisampack.1*
%{_mandir}/man1/myisam_ftdump.1*
%{_mandir}/man1/mysql.server.1*
%{_mandir}/man1/my_print_defaults.1*
%{_mandir}/man1/mysql_install_db.1*
%{_mandir}/man1/mysql_secure_installation.1*
%{_mandir}/man1/mysql_ssl_rsa_setup.1*
%{_mandir}/man1/mysql_tzinfo_to_sql.1*
@ -915,7 +865,6 @@ fi
%{_mandir}/man1/mysqlman.1*
%{_mandir}/man1/innochecksum.1*
%{_mandir}/man1/perror.1*
%{_mandir}/man1/replace.1*
%{_mandir}/man1/resolve_stack_dump.1*
%{_mandir}/man1/resolveip.1*
%{_mandir}/man1/lz4_decompress.1*
@ -926,7 +875,6 @@ fi
%{_datadir}/%{pkg_name}/fill_help_tables.sql
%{_datadir}/%{pkg_name}/innodb_memcached_config.sql
%{_datadir}/%{pkg_name}/install_rewriter.sql
%{_datadir}/%{pkg_name}/mysql_security_commands.sql
%{_datadir}/%{pkg_name}/mysql_sys_schema.sql
%{_datadir}/%{pkg_name}/mysql_system_tables.sql
%{_datadir}/%{pkg_name}/mysql_system_tables_data.sql
@ -964,26 +912,19 @@ fi
%{_mandir}/man1/mysql_config.1*
%endif
%if %{with embedded}
%files embedded
%{_libdir}/mysql/libmysqld.so.*
%files embedded-devel
%{_libdir}/mysql/libmysqld.so
%endif
%if %{with test}
%files test
%{_bindir}/mysql_client_test
%{_bindir}/mysql_client_test_embedded
%{_bindir}/mysqltest
%{_bindir}/mysqltest_embedded
%{_bindir}/mysqlxtest
%{_bindir}/my_safe_process
%attr(-,mysql,mysql) %{_datadir}/mysql-test
%endif
%changelog
* Fri Apr 20 2018 Norvald H. Ryeng <norvald.ryeng@oracle.com> - 8.0.11-1
- Update to MySQL 8.0.11 (GA).
* Thu Apr 19 2018 Michal Schorm <mschorm@redhat.com> - 5.7.22-1
- Rebase to 5.7.22 version
- CVE fixes: #1568963

View File

@ -1 +1 @@
SHA512 (mysql-boost-5.7.22.tar.gz) = 186c9e9735114e312c65531c70e6b0b9b48b0fe14384b7a6ebfac2c1f91c3f4ac223d06e27a424fc75f57e0aaf2f74d6a8411a8ab9c6fed45c499068d0f1dc2a
SHA512 (mysql-boost-8.0.11.tar.gz) = 845db694c5669bf23e03b8d8169ed1194f6c8eec0957976791f533dedc8e7c6618bf75d88224f86dbc679a05f22d49019792bc7a0cbe1f1efea55f9a0a67df91