From 602a9944d1305b9aa64297563f98ff5c4306bc43 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Sat, 16 Jul 2011 16:49:14 +0200 Subject: mysql, sync with rawhide --- mysql-disable-test.patch | 15 +++-- mysql-dubious-exports.patch | 139 +++++++++++++++++++++++++++++++++++++++----- mysql-openssl-test.patch | 22 +++++++ mysql-stack.patch | 27 +++++++++ mysql.init | 2 - mysql55.spec | 26 ++++++++- 6 files changed, 203 insertions(+), 28 deletions(-) create mode 100644 mysql-openssl-test.patch create mode 100644 mysql-stack.patch diff --git a/mysql-disable-test.patch b/mysql-disable-test.patch index 902a068..be499bc 100644 --- a/mysql-disable-test.patch +++ b/mysql-disable-test.patch @@ -3,25 +3,24 @@ platform-dependent results, with the "expected" results being arguably the wrong ones. This is upstream at http://bugs.mysql.com/bug.php?id=46895 (note that upstream has also disabled it, but only for Solaris, so we still need this patch). -This is allegedly fixed for 5.5.14 ... +Still broken in 5.5.14, despite alleged fix. Also disable sys_vars.plugin_dir_basic, which is broken because mysql-test-run doesn't set the right value of MYSQL_LIBDIR. Upstream at http://bugs.mysql.com/bug.php?id=52223 -Still fails in 5.5.13, but apparently due to be fixed soon? -upstream marked it closed on 2-May. +Still fails in 5.5.14, even though upstream marked it closed. Also disable innodb.innodb, which is showing platform-dependent results as of 5.5.9. Upstream at http://bugs.mysql.com/bug.php?id=60155 -diff -Naur mysql-5.5.12.orig/mysql-test/t/disabled.def mysql-5.5.12/mysql-test/t/disabled.def ---- mysql-5.5.12.orig/mysql-test/t/disabled.def 2011-04-11 06:44:01.000000000 -0400 -+++ mysql-5.5.12/mysql-test/t/disabled.def 2011-05-10 18:42:11.742438341 -0400 +diff -Naur mysql-5.5.14.orig/mysql-test/t/disabled.def mysql-5.5.14/mysql-test/t/disabled.def +--- mysql-5.5.14.orig/mysql-test/t/disabled.def 2011-06-21 12:42:40.000000000 -0400 ++++ mysql-5.5.14/mysql-test/t/disabled.def 2011-07-11 14:33:46.560138525 -0400 @@ -17,3 +17,7 @@ - alter_table-big : Bug#37248 2010-11-15 mattiasj was not tested - create-big : Bug#37248 2010-11-15 mattiasj was not tested archive-big : Bug#11817185 2011-03-10 Anitha Disabled since this leads to timeout on Solaris Sparc + main.query_cache_28249 : Bug#12584161 2009-03-25 main.query_cache_28249 fails sporadically + log_tables-big : Bug#11756699 2010-11-15 mattiasj report already exists +# +outfile_loaddata : bug#46895 code wrong, expected results wrong too +sys_vars.plugin_dir_basic : bug#52223 fails for lib64 library directory diff --git a/mysql-dubious-exports.patch b/mysql-dubious-exports.patch index 3342bf8..0ccb412 100644 --- a/mysql-dubious-exports.patch +++ b/mysql-dubious-exports.patch @@ -2,10 +2,39 @@ Prefix mysql_ to the real names of several symbols that have to be exported from libmysqlclient because mysql-connector-odbc and/or PHP depend on them. This limits the intrusion on application namespace. +Also, remove all traces of make_scrambled_password and +make_scrambled_password_323, so that references to these functions draw +compile-time warnings, per a suggestion from Paul Howarth in bug #690346. +It doesn't seem worth trying to get rid of all the internal symbols exposed +by mysql.h, but these two are relatively easy to get rid of. -diff -Naur mysql-5.5.8.orig/include/errmsg.h mysql-5.5.8/include/errmsg.h ---- mysql-5.5.8.orig/include/errmsg.h 2010-12-03 12:58:24.000000000 -0500 -+++ mysql-5.5.8/include/errmsg.h 2010-12-27 14:29:59.184552374 -0500 + +diff -Naur mysql-5.5.14.orig/client/mysqladmin.cc mysql-5.5.14/client/mysqladmin.cc +--- mysql-5.5.14.orig/client/mysqladmin.cc 2011-06-21 12:42:41.000000000 -0400 ++++ mysql-5.5.14/client/mysqladmin.cc 2011-07-12 12:19:59.578066771 -0400 +@@ -20,6 +20,7 @@ + #include /* because of signal() */ + #include + #include ++#include /* my_make_scrambled_password_323, my_make_scrambled_password */ + #include + #include /* ORACLE_WELCOME_COPYRIGHT_NOTICE */ + +@@ -975,9 +976,9 @@ + } + } + if (old) +- make_scrambled_password_323(crypted_pw, typed_password); ++ my_make_scrambled_password_323(crypted_pw, typed_password, strlen(typed_password)); + else +- make_scrambled_password(crypted_pw, typed_password); ++ my_make_scrambled_password(crypted_pw, typed_password, strlen(typed_password)); + } + else + crypted_pw[0]=0; /* No password */ +diff -Naur mysql-5.5.14.orig/include/errmsg.h mysql-5.5.14/include/errmsg.h +--- mysql-5.5.14.orig/include/errmsg.h 2011-06-21 12:42:39.000000000 -0400 ++++ mysql-5.5.14/include/errmsg.h 2011-07-12 11:55:29.194204015 -0400 @@ -24,6 +24,7 @@ #endif void init_client_errs(void); @@ -14,10 +43,10 @@ diff -Naur mysql-5.5.8.orig/include/errmsg.h mysql-5.5.8/include/errmsg.h extern const char *client_errors[]; /* Error messages */ #ifdef __cplusplus } -diff -Naur mysql-5.5.8.orig/include/my_sys.h mysql-5.5.8/include/my_sys.h ---- mysql-5.5.8.orig/include/my_sys.h 2010-12-03 12:58:24.000000000 -0500 -+++ mysql-5.5.8/include/my_sys.h 2010-12-27 14:27:23.956926896 -0500 -@@ -227,6 +227,7 @@ +diff -Naur mysql-5.5.14.orig/include/my_sys.h mysql-5.5.14/include/my_sys.h +--- mysql-5.5.14.orig/include/my_sys.h 2011-06-21 12:42:39.000000000 -0400 ++++ mysql-5.5.14/include/my_sys.h 2011-07-12 11:55:29.195231427 -0400 +@@ -223,6 +223,7 @@ /* charsets */ #define MY_ALL_CHARSETS_SIZE 2048 @@ -25,7 +54,7 @@ diff -Naur mysql-5.5.8.orig/include/my_sys.h mysql-5.5.8/include/my_sys.h extern MYSQL_PLUGIN_IMPORT CHARSET_INFO *default_charset_info; extern MYSQL_PLUGIN_IMPORT CHARSET_INFO *all_charsets[MY_ALL_CHARSETS_SIZE]; extern CHARSET_INFO compiled_charsets[]; -@@ -914,6 +915,9 @@ +@@ -900,6 +901,9 @@ extern uint get_collation_number(const char *name); extern const char *get_charset_name(uint cs_number); @@ -35,9 +64,9 @@ diff -Naur mysql-5.5.8.orig/include/my_sys.h mysql-5.5.8/include/my_sys.h extern CHARSET_INFO *get_charset(uint cs_number, myf flags); extern CHARSET_INFO *get_charset_by_name(const char *cs_name, myf flags); extern CHARSET_INFO *get_charset_by_csname(const char *cs_name, -diff -Naur mysql-5.5.8.orig/include/mysql.h.pp mysql-5.5.8/include/mysql.h.pp ---- mysql-5.5.8.orig/include/mysql.h.pp 2010-12-03 12:58:24.000000000 -0500 -+++ mysql-5.5.8/include/mysql.h.pp 2010-12-27 14:27:23.956926896 -0500 +diff -Naur mysql-5.5.14.orig/include/mysql.h.pp mysql-5.5.14/include/mysql.h.pp +--- mysql-5.5.14.orig/include/mysql.h.pp 2011-06-21 12:42:39.000000000 -0400 ++++ mysql-5.5.14/include/mysql.h.pp 2011-07-12 11:58:43.662068564 -0400 @@ -86,7 +86,7 @@ void my_net_local_init(NET *net); void net_end(NET *net); @@ -47,10 +76,24 @@ diff -Naur mysql-5.5.8.orig/include/mysql.h.pp mysql-5.5.8/include/mysql.h.pp my_bool net_flush(NET *net); my_bool my_net_write(NET *net,const unsigned char *packet, size_t len); my_bool net_write_command(NET *net,unsigned char command, -diff -Naur mysql-5.5.8.orig/include/mysql_com.h mysql-5.5.8/include/mysql_com.h ---- mysql-5.5.8.orig/include/mysql_com.h 2010-12-03 12:58:24.000000000 -0500 -+++ mysql-5.5.8/include/mysql_com.h 2010-12-27 14:27:23.957927198 -0500 -@@ -448,6 +448,7 @@ +@@ -128,13 +128,11 @@ + double my_rnd(struct rand_struct *); + void create_random_string(char *to, unsigned int length, struct rand_struct *rand_st); + void hash_password(unsigned long *to, const char *password, unsigned int password_len); +-void make_scrambled_password_323(char *to, const char *password); + void scramble_323(char *to, const char *message, const char *password); + my_bool check_scramble_323(const unsigned char *reply, const char *message, + unsigned long *salt); + void get_salt_from_password_323(unsigned long *res, const char *password); + void make_password_from_salt_323(char *to, const unsigned long *salt); +-void make_scrambled_password(char *to, const char *password); + void scramble(char *to, const char *message, const char *password); + my_bool check_scramble(const unsigned char *reply, const char *message, + const unsigned char *hash_stage2); +diff -Naur mysql-5.5.14.orig/include/mysql_com.h mysql-5.5.14/include/mysql_com.h +--- mysql-5.5.14.orig/include/mysql_com.h 2011-06-21 12:42:39.000000000 -0400 ++++ mysql-5.5.14/include/mysql_com.h 2011-07-12 11:58:52.166065391 -0400 +@@ -452,6 +452,7 @@ void my_net_local_init(NET *net); void net_end(NET *net); void net_clear(NET *net, my_bool clear_buffer); @@ -58,3 +101,69 @@ diff -Naur mysql-5.5.8.orig/include/mysql_com.h mysql-5.5.8/include/mysql_com.h my_bool net_realloc(NET *net, size_t length); my_bool net_flush(NET *net); my_bool my_net_write(NET *net,const unsigned char *packet, size_t len); +@@ -533,14 +534,12 @@ + void create_random_string(char *to, unsigned int length, struct rand_struct *rand_st); + + void hash_password(unsigned long *to, const char *password, unsigned int password_len); +-void make_scrambled_password_323(char *to, const char *password); + void scramble_323(char *to, const char *message, const char *password); + my_bool check_scramble_323(const unsigned char *reply, const char *message, + unsigned long *salt); + void get_salt_from_password_323(unsigned long *res, const char *password); + void make_password_from_salt_323(char *to, const unsigned long *salt); + +-void make_scrambled_password(char *to, const char *password); + void scramble(char *to, const char *message, const char *password); + my_bool check_scramble(const unsigned char *reply, const char *message, + const unsigned char *hash_stage2); +diff -Naur mysql-5.5.14.orig/sql/password.c mysql-5.5.14/sql/password.c +--- mysql-5.5.14.orig/sql/password.c 2011-06-21 12:42:40.000000000 -0400 ++++ mysql-5.5.14/sql/password.c 2011-07-12 11:59:29.194068612 -0400 +@@ -154,23 +154,6 @@ + + + /* +- Wrapper around my_make_scrambled_password_323() to maintain client lib ABI +- compatibility. +- In server code usage of my_make_scrambled_password_323() is preferred to +- avoid strlen(). +- SYNOPSIS +- make_scrambled_password_323() +- to OUT store scrambled password here +- password IN NULL-terminated string with user-supplied password +-*/ +- +-void make_scrambled_password_323(char *to, const char *password) +-{ +- my_make_scrambled_password_323(to, password, strlen(password)); +-} +- +- +-/* + Scramble string with password. + Used in pre 4.1 authentication phase. + SYNOPSIS +@@ -433,23 +416,6 @@ + + + /* +- Wrapper around my_make_scrambled_password() to maintain client lib ABI +- compatibility. +- In server code usage of my_make_scrambled_password() is preferred to +- avoid strlen(). +- SYNOPSIS +- make_scrambled_password() +- buf OUT buffer of size 2*SHA1_HASH_SIZE + 2 to store hex string +- password IN NULL-terminated password string +-*/ +- +-void make_scrambled_password(char *to, const char *password) +-{ +- my_make_scrambled_password(to, password, strlen(password)); +-} +- +- +-/* + Produce an obscure octet sequence from password and random + string, recieved from the server. This sequence corresponds to the + password, but password can not be easily restored from it. The sequence diff --git a/mysql-openssl-test.patch b/mysql-openssl-test.patch new file mode 100644 index 0000000..f7e8f43 --- /dev/null +++ b/mysql-openssl-test.patch @@ -0,0 +1,22 @@ +Adjust openssl_1.result to match actual output when using OpenSSL. + +The given expected result seems to be yaSSL-specific, as of mysql 5.5.14. +Upstream at http://bugs.mysql.com/bug.php?id=61827 + + +diff -Naur mysql-5.5.14.orig/mysql-test/r/openssl_1.result mysql-5.5.14/mysql-test/r/openssl_1.result +--- mysql-5.5.14.orig/mysql-test/r/openssl_1.result 2011-06-21 12:42:40.000000000 -0400 ++++ mysql-5.5.14/mysql-test/r/openssl_1.result 2011-07-11 18:52:39.925070616 -0400 +@@ -44,9 +44,9 @@ + drop user ssl_user1@localhost, ssl_user2@localhost, + ssl_user3@localhost, ssl_user4@localhost, ssl_user5@localhost; + drop table t1; +-mysqltest: Could not open connection 'default': 2026 SSL connection error: ASN: bad other signature confirmation +-mysqltest: Could not open connection 'default': 2026 SSL connection error: ASN: bad other signature confirmation +-mysqltest: Could not open connection 'default': 2026 SSL connection error: ASN: bad other signature confirmation ++mysqltest: Could not open connection 'default': 2026 SSL connection error: error:00000001:lib(0):func(0):reason(1) ++mysqltest: Could not open connection 'default': 2026 SSL connection error: error:00000001:lib(0):func(0):reason(1) ++mysqltest: Could not open connection 'default': 2026 SSL connection error: error:00000001:lib(0):func(0):reason(1) + SSL error: Unable to get private key from '' + mysqltest: Could not open connection 'default': 2026 SSL connection error: Unable to get private key + SSL error: Unable to get certificate from '' diff --git a/mysql-stack.patch b/mysql-stack.patch new file mode 100644 index 0000000..c4fd437 --- /dev/null +++ b/mysql-stack.patch @@ -0,0 +1,27 @@ +Talk about silly byte-shaving ... the "stock" value of STACK_MIN_SIZE +does not work on s390x, and probably not on some other platforms either. +Knock it up to twice the pre-5.0.33 value to have some margin for future +changes in compiler, glibc, etc. Suspect this number if +"execution_constants" regression test fails. + +Note: STACK_MIN_SIZE has to be enough less than DEFAULT_THREAD_STACK / 8 +to provide some headroom, which means that its value can't be raised too much +further without increasing the latter as well. + +As of 5.1.33 the stock value is 16000, which might be enough ... or maybe +not. For the moment, we keep this patch around for reference, but it's +not being applied. + + +diff -Naur mysql-5.1.30.orig/sql/mysql_priv.h mysql-5.1.30/sql/mysql_priv.h +--- mysql-5.1.30.orig/sql/mysql_priv.h 2008-11-14 11:37:13.000000000 -0500 ++++ mysql-5.1.30/sql/mysql_priv.h 2009-01-13 11:07:35.000000000 -0500 +@@ -286,7 +286,7 @@ + Feel free to raise this by the smallest amount you can to get the + "execution_constants" test to pass. + */ +-#define STACK_MIN_SIZE 12000 ///< Abort if less stack during eval. ++#define STACK_MIN_SIZE 16384 ///< Abort if less stack during eval. + + #define STACK_MIN_SIZE_FOR_OPEN 1024*80 + #define STACK_BUFF_ALLOC 352 ///< For stack overrun checks diff --git a/mysql.init b/mysql.init index 99c3c61..7d53f5d 100644 --- a/mysql.init +++ b/mysql.init @@ -12,8 +12,6 @@ # Provides: mysqld # Required-Start: $local_fs $remote_fs $network $named $syslog $time # Required-Stop: $local_fs $remote_fs $network $named $syslog $time -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 # Short-Description: start and stop MySQL server # Description: MySQL database server ### END INIT INFO diff --git a/mysql55.spec b/mysql55.spec index aebed1c..11770aa 100644 --- a/mysql55.spec +++ b/mysql55.spec @@ -1,6 +1,6 @@ Name: mysql Version: 5.5.14 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -45,6 +45,7 @@ Patch8: mysql-dubious-exports.patch Patch10: mysql-embedded-crash.patch Patch11: mysql-plugin-bool.patch Patch12: mysql-s390-tsc.patch +Patch13: mysql-openssl-test.patch # RC patch for backports Patch21: mysql-readline.patch @@ -198,9 +199,13 @@ rm -f Docs/mysql.info %patch6 -p1 %patch7 -p1 %patch8 -p1 +# si below %patch9 -p1 %patch10 -p1 %patch11 -p1 %patch12 -p1 +%if 0%{?fedora} >= 9 || 0%{?rhel} >= 5 +%patch13 -p1 +%endif # Backports specific patches %patch21 -p1 -b .readline @@ -217,7 +222,6 @@ outfile_loaddata : bug#46895 code wrong, expected results wrong too sys_vars.plugin_dir_basic : bug#52223 fails for lib64 library directory innodb.innodb : bug#60155 has platform-dependent results main.information_schema : fails in mock, ok after install :( -main.openssl_1 : error message seems to have change... EOF @@ -448,7 +452,7 @@ echo -e "\nWARNING : This MySQL RPM is not an official Fedora/Redhat build and i echo -e "overrides the official one. Don't file bugs on Fedora Project nor Redhat." echo -e "Use dedicated forums http://forums.famillecollet.com/\n" -%if %{?fedora}%{!?fedora:99} <= 12 +%if %{?fedora}%{!?fedora:99} <= 13 echo -e "WARNING : Fedora %{fedora} is now EOL :" echo -e "You should consider upgrading to a supported release.\n" %endif @@ -677,10 +681,26 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Sat Jul 16 2011 Remi Collet - 5.5.14-2 +- sync with rawhide + +* Tue Jul 12 2011 Tom Lane 5.5.14-2 +- Remove make_scrambled_password and make_scrambled_password_323 from mysql.h, + since we're not allowing clients to call those functions anyway +Related: #690346 + +* Mon Jul 11 2011 Tom Lane 5.5.14-1 +- Update to MySQL 5.5.14, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-14.html + * Wed Jul 6 2011 Remi Collet - 5.5.14-1 - update to MySQL 5.5.14 Community Server GA http://dev.mysql.com/doc/refman/5.5/en/news-5-5-14.html +* Wed Jul 6 2011 Tom Lane 5.5.13-2 +- Remove erroneously-included Default-Start line from LSB init block +Resolves: #717024 + * Thu Jun 2 2011 Tom Lane 5.5.13-1 - Update to MySQL 5.5.13, for various fixes described at http://dev.mysql.com/doc/refman/5.5/en/news-5-5-13.html -- cgit