[community-mysql] Update to MySQL 5.5.32
Honza Horak
hhorak at fedoraproject.org
Fri Jun 7 11:27:18 UTC 2013
commit 906d64a4819d1a7cdc6d0e641ab772af35ddd7c6
Author: Honza HorĂ¡k <hhorak at redhat.com>
Date: Fri Jun 7 13:26:53 2013 +0200
Update to MySQL 5.5.32
.gitignore | 1 +
community-mysql-cve-2013-1861.patch | 137 ++---------------------------------
community-mysql.spec | 19 ++++--
sources | 2 +-
4 files changed, 20 insertions(+), 139 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index ee32730..819fd32 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
/mysql-5.5.30-nodocs.tar.gz
/mysql-5.5.31-nodocs.tar.gz
+/mysql-5.5.32-nodocs.tar.gz
diff --git a/community-mysql-cve-2013-1861.patch b/community-mysql-cve-2013-1861.patch
index e8a27cf..75e35c3 100644
--- a/community-mysql-cve-2013-1861.patch
+++ b/community-mysql-cve-2013-1861.patch
@@ -1,3 +1,8 @@
+It seems CVE-2013-1861 has been fixed in MySQL upstream, but they don't
+ship a test case for that. This patch only includes the test case ported
+from MariaDB fix:
+https://mariadb.atlassian.net/browse/MDEV-4252
+
diff -up mysql-5.5.31/mysql-test/r/gis.result.cve mysql-5.5.31/mysql-test/r/gis.result
--- mysql-5.5.31/mysql-test/r/gis.result.cve 2013-06-03 16:32:33.732025515 +0200
+++ mysql-5.5.31/mysql-test/r/gis.result 2013-06-03 16:34:04.519691044 +0200
@@ -36,135 +41,3 @@ diff -up mysql-5.5.31/mysql-test/t/gis.test.cve mysql-5.5.31/mysql-test/t/gis.te
+select astext(exteriorring(0x0100000000030000000100000000000010));
+select astext(centroid(0x0100000000030000000100000000000010));
--echo End of 5.5 tests
-diff -up mysql-5.5.31/sql/spatial.cc.cve mysql-5.5.31/sql/spatial.cc
---- mysql-5.5.31/sql/spatial.cc.cve 2013-03-25 14:14:58.000000000 +0100
-+++ mysql-5.5.31/sql/spatial.cc 2013-06-03 16:45:52.790665557 +0200
-@@ -538,7 +538,7 @@ bool Gis_line_string::get_data_as_wkt(St
- n_points= uint4korr(data);
- data += 4;
-
-- if (n_points < 1 ||
-+ if (n_points < 1 || n_points > max_n_points ||
- no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points) ||
- txt->reserve(((MAX_DIGITS_IN_DOUBLE + 1)*2 + 1) * n_points))
- return 1;
-@@ -576,7 +576,8 @@ int Gis_line_string::geom_length(double
- return 1;
- n_points= uint4korr(data);
- data+= 4;
-- if (n_points < 1 || no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points))
-+ if (n_points < 1 || n_points > max_n_points ||
-+ no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points))
- return 1;
-
- get_point(&prev_x, &prev_y, data);
-@@ -610,7 +611,7 @@ int Gis_line_string::is_closed(int *clos
- return 0;
- }
- data+= 4;
-- if (n_points == 0 ||
-+ if (n_points == 0 || n_points > max_n_points ||
- no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points))
- return 1;
-
-@@ -780,7 +781,7 @@ bool Gis_polygon::get_data_as_wkt(String
- return 1;
- n_points= uint4korr(data);
- data+= 4;
-- if (no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points) ||
-+ if (n_points > max_n_points || no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points) ||
- txt->reserve(2 + ((MAX_DIGITS_IN_DOUBLE + 1) * 2 + 1) * n_points))
- return 1;
- txt->qs_append('(');
-@@ -834,7 +835,7 @@ int Gis_polygon::area(double *ar, const
- if (no_data(data, 4))
- return 1;
- n_points= uint4korr(data);
-- if (no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points))
-+ if (n_points > max_n_points || no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points))
- return 1;
- get_point(&prev_x, &prev_y, data+4);
- data+= (4+SIZEOF_STORED_DOUBLE*2);
-@@ -870,7 +871,8 @@ int Gis_polygon::exterior_ring(String *r
- n_points= uint4korr(data);
- data+= 4;
- length= n_points * POINT_DATA_SIZE;
-- if (no_data(data, length) || result->reserve(1+4+4+ length))
-+ if (n_points > max_n_points ||
-+ no_data(data, length) || result->reserve(1+4+4+ length))
- return 1;
-
- result->q_append((char) wkb_ndr);
-@@ -916,7 +918,8 @@ int Gis_polygon::interior_ring_n(uint32
- n_points= uint4korr(data);
- points_size= n_points * POINT_DATA_SIZE;
- data+= 4;
-- if (no_data(data, points_size) || result->reserve(1+4+4+ points_size))
-+ if (n_points > max_n_points ||
-+ no_data(data, points_size) || result->reserve(1+4+4+ points_size))
- return 1;
-
- result->q_append((char) wkb_ndr);
-@@ -955,7 +958,7 @@ int Gis_polygon::centroid_xy(double *x,
- return 1;
- org_n_points= n_points= uint4korr(data);
- data+= 4;
-- if (no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points))
-+ if (n_points > max_n_points || no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points))
- return 1;
- get_point(&prev_x, &prev_y, data);
- data+= (SIZEOF_STORED_DOUBLE*2);
-@@ -1242,7 +1245,7 @@ bool Gis_multi_line_string::get_data_as_
- return 1;
- n_points= uint4korr(data + WKB_HEADER_SIZE);
- data+= WKB_HEADER_SIZE + 4;
-- if (no_data(data, n_points * (SIZEOF_STORED_DOUBLE*2)) ||
-+ if (n_points > max_n_points || no_data(data, n_points * (SIZEOF_STORED_DOUBLE*2)) ||
- txt->reserve(2 + ((MAX_DIGITS_IN_DOUBLE + 1) * 2 + 1) * n_points))
- return 1;
- txt->qs_append('(');
-@@ -1503,7 +1506,8 @@ bool Gis_multi_polygon::get_data_as_wkt(
- return 1;
- uint32 n_points= uint4korr(data);
- data+= 4;
-- if (no_data(data, (SIZEOF_STORED_DOUBLE * 2) * n_points) ||
-+ if (n_points > max_n_points ||
-+ no_data(data, (SIZEOF_STORED_DOUBLE * 2) * n_points) ||
- txt->reserve(2 + ((MAX_DIGITS_IN_DOUBLE + 1) * 2 + 1) * n_points,
- 512))
- return 1;
-@@ -1586,6 +1590,8 @@ int Gis_multi_polygon::geometry_n(uint32
- if (no_data(data, 4))
- return 1;
- n_points= uint4korr(data);
-+ if (n_points > max_n_points)
-+ return 1;
- data+= 4 + POINT_DATA_SIZE * n_points;
- }
- } while (--num);
-diff -up mysql-5.5.31/sql/spatial.h.cve mysql-5.5.31/sql/spatial.h
---- mysql-5.5.31/sql/spatial.h.cve 2013-03-25 14:14:58.000000000 +0100
-+++ mysql-5.5.31/sql/spatial.h 2013-06-03 16:32:33.737025500 +0200
-@@ -200,6 +200,11 @@ struct Geometry_buffer;
- class Geometry
- {
- public:
-+ // Maximum number of points in feature that can fit into String
-+ static const uint32 max_n_points=
-+ (uint32) (UINT_MAX32 - WKB_HEADER_SIZE - 4 /* n_points */) /
-+ POINT_DATA_SIZE;
-+
- Geometry() {} /* Remove gcc warning */
- virtual ~Geometry() {} /* Remove gcc warning */
- static void *operator new(size_t size, void *buffer)
-@@ -383,10 +388,6 @@ public:
-
- class Gis_line_string: public Geometry
- {
-- // Maximum number of points in LineString that can fit into String
-- static const uint32 max_n_points=
-- (uint32) (UINT_MAX32 - WKB_HEADER_SIZE - 4 /* n_points */) /
-- POINT_DATA_SIZE;
- public:
- Gis_line_string() {} /* Remove gcc warning */
- virtual ~Gis_line_string() {} /* Remove gcc warning */
diff --git a/community-mysql.spec b/community-mysql.spec
index cc66d61..f08367d 100644
--- a/community-mysql.spec
+++ b/community-mysql.spec
@@ -1,6 +1,6 @@
Name: community-mysql
-Version: 5.5.31
-Release: 7%{?dist}
+Version: 5.5.32
+Release: 1%{?dist}
Summary: MySQL client programs and shared libraries
Group: Applications/Databases
@@ -491,6 +491,9 @@ cp %{SOURCE7} README.mysql-license
# install the list of skipped tests to be available for user runs
install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/mysql-test
+# we don't care about scripts for solaris
+rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris
+
%pre server
/usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || :
/usr/sbin/useradd -M -N -g mysql -o -r -d /var/lib/mysql -s /bin/bash \
@@ -706,6 +709,10 @@ install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/my
%{_mandir}/man1/mysql_client_test.1*
%changelog
+* Fri Jun 7 2013 Honza Horak <hhorak at redhat.com> 5.5.32-1
+- Update to MySQL 5.5.32, for various fixes described at
+ http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-32.html
+
* Mon Jun 3 2013 Honza Horak <hhorak at redhat.com> 5.5.31-7
- Use /var/tmp as default tmpdir to prevent potential issues
Resolves: #905635
@@ -1806,7 +1813,7 @@ Resolves: #199368
- 3.23.28 (gamma)
- remove old patches, as they are now upstreamed
-* Thu Nov 14 2000 Trond Eivind Glomsrd <teg at redhat.com>
+* Tue Nov 14 2000 Trond Eivind Glomsrd <teg at redhat.com>
- Add a requirement for a new glibc (#20735)
- build on IA64
@@ -1846,7 +1853,7 @@ Resolves: #199368
- Don't try to include no-longer-existing PUBLIC file
as doc (#17532)
-* Thu Sep 12 2000 Trond Eivind Glomsrd <teg at redhat.com>
+* Tue Sep 12 2000 Trond Eivind Glomsrd <teg at redhat.com>
- rename config file to /etc/my.cnf, which is what
mysqld wants... doh. (#17432)
- include a changed safe_mysqld, so the pid file option
@@ -1878,7 +1885,7 @@ Resolves: #199368
* Sat Aug 05 2000 Bill Nottingham <notting at redhat.com>
- condrestart fixes
-* Mon Aug 01 2000 Trond Eivind Glomsrd <teg at redhat.com>
+* Tue Aug 01 2000 Trond Eivind Glomsrd <teg at redhat.com>
- 3.23.22. Disable the old patches, they're now in.
* Thu Jul 27 2000 Trond Eivind Glomsrd <teg at redhat.com>
@@ -1937,7 +1944,7 @@ Resolves: #199368
- include a /etc/my.conf (empty, FTTB)
- add conditional restart to spec file
-* Tue Jul 2 2000 Jakub Jelinek <jakub at redhat.com>
+* Sun Jul 2 2000 Jakub Jelinek <jakub at redhat.com>
- Rebuild with new C++
* Fri Jun 30 2000 Trond Eivind Glomsrd <teg at redhat.com>
diff --git a/sources b/sources
index c09c60e..a947c94 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-2dd78a69ceaaf40fcbf985add94c4a2b mysql-5.5.31-nodocs.tar.gz
+42a449d1864d9f98534335e830fbb74b mysql-5.5.32-nodocs.tar.gz
More information about the scm-commits
mailing list