diff --git a/.gitignore b/.gitignore index d54f41e..a7f3c6c 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/mysql-5.5.28-nodocs.tar.gz +/mysql-5.5.29-nodocs.tar.gz diff --git a/my.cnf b/my.cnf index 692a4bb..96282ea 100644 --- a/my.cnf +++ b/my.cnf @@ -1,12 +1,12 @@ [mysqld] -# Settings user and group are ignored when systemd is used. -# If you need to run mysqld under different user or group, -# customize your systemd unit file for mysqld according to the -# instructions in http://fedoraproject.org/wiki/Systemd datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 +# Settings user and group are ignored when systemd is used. +# If you need to run mysqld under a different user or group, +# customize your systemd unit file for mysqld according to the +# instructions in http://fedoraproject.org/wiki/Systemd [mysqld_safe] log-error=/var/log/mysqld.log diff --git a/mysql-cve-2012-5611.patch b/mysql-cve-2012-5611.patch deleted file mode 100644 index 45f414b..0000000 --- a/mysql-cve-2012-5611.patch +++ /dev/null @@ -1,81 +0,0 @@ -Back-ported patch for CVE-2012-5611 --- see -http://bazaar.launchpad.net/~maria-captains/maria/5.5/revision/2502.565.17 - - -diff -Naur mysql-5.5.28.orig/mysql-test/r/information_schema.result mysql-5.5.28/mysql-test/r/information_schema.result ---- mysql-5.5.28.orig/mysql-test/r/information_schema.result 2012-08-29 04:50:47.000000000 -0400 -+++ mysql-5.5.28/mysql-test/r/information_schema.result 2012-12-05 10:33:56.906738492 -0500 -@@ -1712,6 +1712,10 @@ - length(CAST(b AS CHAR)) - 20 - DROP TABLE ubig; -+grant usage on *.* to mysqltest_1@localhost; -+select 1 from information_schema.tables where table_schema=repeat('a', 2000); -+1 -+drop user mysqltest_1@localhost; - End of 5.1 tests. - # - # Additional test for WL#3726 "DDL locking for all metadata objects" -diff -Naur mysql-5.5.28.orig/mysql-test/t/information_schema.test mysql-5.5.28/mysql-test/t/information_schema.test ---- mysql-5.5.28.orig/mysql-test/t/information_schema.test 2012-08-29 04:50:47.000000000 -0400 -+++ mysql-5.5.28/mysql-test/t/information_schema.test 2012-12-05 10:33:56.908738590 -0500 -@@ -1444,6 +1444,13 @@ - - DROP TABLE ubig; - -+grant usage on *.* to mysqltest_1@localhost; -+connect (con1, localhost, mysqltest_1,,); -+connection con1; -+select 1 from information_schema.tables where table_schema=repeat('a', 2000); -+connection default; -+disconnect con1; -+drop user mysqltest_1@localhost; - - --echo End of 5.1 tests. - -diff -Naur mysql-5.5.28.orig/sql/sql_acl.cc mysql-5.5.28/sql/sql_acl.cc ---- mysql-5.5.28.orig/sql/sql_acl.cc 2012-08-29 04:50:46.000000000 -0400 -+++ mysql-5.5.28/sql/sql_acl.cc 2012-12-05 10:35:47.608766346 -0500 -@@ -1573,14 +1573,20 @@ - acl_entry *entry; - DBUG_ENTER("acl_get"); - -- mysql_mutex_lock(&acl_cache->lock); -- end=strmov((tmp_db=strmov(strmov(key, ip ? ip : "")+1,user)+1),db); -+ tmp_db= strmov(strmov(key, ip ? ip : "") + 1, user) + 1; -+ end= strnmov(tmp_db, db, key + sizeof(key) - tmp_db); -+ -+ if (end >= key + sizeof(key)) // db name was truncated -+ DBUG_RETURN(0); // no privileges for an invalid db name -+ - if (lower_case_table_names) - { - my_casedn_str(files_charset_info, tmp_db); - db=tmp_db; - } - key_length= (size_t) (end-key); -+ -+ mysql_mutex_lock(&acl_cache->lock); - if (!db_is_pattern && (entry=(acl_entry*) acl_cache->search((uchar*) key, - key_length))) - { -@@ -4902,11 +4908,17 @@ - bool check_grant_db(THD *thd,const char *db) - { - Security_context *sctx= thd->security_ctx; -- char helping [NAME_LEN+USERNAME_LENGTH+2]; -+ char helping [NAME_LEN+USERNAME_LENGTH+2], *end; - uint len; - bool error= TRUE; - -- len= (uint) (strmov(strmov(helping, sctx->priv_user) + 1, db) - helping) + 1; -+ end= strmov(helping, sctx->priv_user) + 1; -+ end= strnmov(end, db, helping + sizeof(helping) - end); -+ -+ if (end >= helping + sizeof(helping)) // db name was truncated -+ return 1; // no privileges for an invalid db name -+ -+ len= (uint) (end - helping) + 1; - - mysql_rwlock_rdlock(&LOCK_grant); - diff --git a/mysql.spec b/mysql.spec index a6facc5..3e9fdca 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,6 +1,6 @@ Name: mysql -Version: 5.5.28 -Release: 3%{?dist} +Version: 5.5.29 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -56,7 +56,6 @@ Patch18: mysql-cipherspec.patch Patch19: mysql-file-contents.patch Patch20: mysql-string-overflow.patch Patch21: mysql-dh1024.patch -Patch22: mysql-cve-2012-5611.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: perl, readline-devel, openssl-devel @@ -81,9 +80,8 @@ Obsoletes: mysql-cluster < 5.1.44 %global __perl_requires %{SOURCE999} %global __perllib_requires %{SOURCE999} -# patch utility does automatically back-up of chunks that didn't apply -# smoothly, but we don't want to create that files because they could be -# included in RPM incorrectly +# By default, patch(1) creates backup files when chunks apply with offsets. +# Turn that off to ensure such files don't get included in RPMs (cf bz#884755). %global _default_patch_flags --no-backup-if-mismatch %description @@ -217,7 +215,6 @@ the MySQL sources. %patch19 -p1 %patch20 -p1 %patch21 -p1 -%patch22 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -710,6 +707,12 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Jan 2 2013 Tom Lane 5.5.29-1 +- Update to MySQL 5.5.29, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-29.html +- Fix inaccurate default for socket location in mysqld-wait-ready +Resolves: #890535 + * Thu Dec 6 2012 Honza Horak 5.5.28-3 - Rebase patches to not leave backup files when not applied smoothly - Use --no-backup-if-mismatch to prevent including backup files diff --git a/mysqld-wait-ready b/mysqld-wait-ready index 9b0fd0c..9e5d3e4 100644 --- a/mysqld-wait-ready +++ b/mysqld-wait-ready @@ -25,7 +25,7 @@ get_mysql_option(){ # Defaults here had better match what mysqld_safe will default to get_mysql_option mysqld datadir "/var/lib/mysql" datadir="$result" -get_mysql_option mysqld socket "$datadir/mysql.sock" +get_mysql_option mysqld socket "/var/lib/mysql/mysql.sock" socketfile="$result" # Wait for the server to come up or for the mysqld process to disappear diff --git a/sources b/sources index 0e73348..093f772 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -88d39960d3f348836f803aca091ee601 mysql-5.5.28-nodocs.tar.gz +2b9473a36a98c54cd671ba60ce873289 mysql-5.5.29-nodocs.tar.gz