Update to 5.6.14
This commit is contained in:
parent
0a86414a6c
commit
9d8b44262d
1
.gitignore
vendored
1
.gitignore
vendored
@ -4,3 +4,4 @@
|
||||
/mysql-man-gpl.tar.gz
|
||||
/mysql-5.5.32-nodocs.tar.xz
|
||||
/mysql-5.5.33-nodocs.tar.xz
|
||||
/mysql-5.6.14-nodocs.tar.xz
|
150
community-mysql-5.6.10-libmysql-version.patch
Normal file
150
community-mysql-5.6.10-libmysql-version.patch
Normal file
@ -0,0 +1,150 @@
|
||||
--- mysql-5.6.10/libmysql/libmysql.ver.in 2013-01-22 17:54:50.000000000 +0100
|
||||
+++ mysql-5.6.10/libmysql/libmysql.ver.in.fedora 2013-02-21 12:59:40.108881131 +0100
|
||||
@@ -1,1 +1,146 @@
|
||||
-libmysqlclient_@SHARED_LIB_MAJOR_VERSION@ { global: *; };
|
||||
+# symbols exported from mysql 5.1
|
||||
+libmysqlclient_16 {
|
||||
+ global:
|
||||
+ _fini;
|
||||
+ _init;
|
||||
+ my_init;
|
||||
+ myodbc_remove_escape;
|
||||
+ mysql_affected_rows;
|
||||
+ mysql_autocommit;
|
||||
+ mysql_change_user;
|
||||
+ mysql_character_set_name;
|
||||
+ mysql_close;
|
||||
+ mysql_commit;
|
||||
+ mysql_data_seek;
|
||||
+ mysql_debug;
|
||||
+ mysql_dump_debug_info;
|
||||
+ mysql_embedded;
|
||||
+ mysql_eof;
|
||||
+ mysql_errno;
|
||||
+ mysql_error;
|
||||
+ mysql_escape_string;
|
||||
+ mysql_fetch_field;
|
||||
+ mysql_fetch_field_direct;
|
||||
+ mysql_fetch_fields;
|
||||
+ mysql_fetch_lengths;
|
||||
+ mysql_fetch_row;
|
||||
+ mysql_field_count;
|
||||
+ mysql_field_seek;
|
||||
+ mysql_field_tell;
|
||||
+ mysql_free_result;
|
||||
+ mysql_get_character_set_info;
|
||||
+ mysql_get_client_info;
|
||||
+ mysql_get_client_version;
|
||||
+ mysql_get_host_info;
|
||||
+ mysql_get_parameters;
|
||||
+ mysql_get_proto_info;
|
||||
+ mysql_get_server_info;
|
||||
+ mysql_get_server_version;
|
||||
+ mysql_get_ssl_cipher;
|
||||
+ mysql_hex_string;
|
||||
+ mysql_info;
|
||||
+ mysql_init;
|
||||
+ mysql_insert_id;
|
||||
+ mysql_kill;
|
||||
+ mysql_list_dbs;
|
||||
+ mysql_list_fields;
|
||||
+ mysql_list_processes;
|
||||
+ mysql_list_tables;
|
||||
+ mysql_more_results;
|
||||
+ mysql_next_result;
|
||||
+ mysql_num_fields;
|
||||
+ mysql_num_rows;
|
||||
+ mysql_options;
|
||||
+ mysql_ping;
|
||||
+ mysql_query;
|
||||
+ mysql_read_query_result;
|
||||
+ mysql_real_connect;
|
||||
+ mysql_real_escape_string;
|
||||
+ mysql_real_query;
|
||||
+ mysql_refresh;
|
||||
+ mysql_rollback;
|
||||
+ mysql_row_seek;
|
||||
+ mysql_row_tell;
|
||||
+ mysql_select_db;
|
||||
+ mysql_send_query;
|
||||
+ mysql_server_end;
|
||||
+ mysql_server_init;
|
||||
+ mysql_set_character_set;
|
||||
+ mysql_set_local_infile_default;
|
||||
+ mysql_set_local_infile_handler;
|
||||
+ mysql_set_server_option;
|
||||
+ mysql_shutdown;
|
||||
+ mysql_sqlstate;
|
||||
+ mysql_ssl_set;
|
||||
+ mysql_stat;
|
||||
+ mysql_stmt_affected_rows;
|
||||
+ mysql_stmt_attr_get;
|
||||
+ mysql_stmt_attr_set;
|
||||
+ mysql_stmt_bind_param;
|
||||
+ mysql_stmt_bind_result;
|
||||
+ mysql_stmt_close;
|
||||
+ mysql_stmt_data_seek;
|
||||
+ mysql_stmt_errno;
|
||||
+ mysql_stmt_error;
|
||||
+ mysql_stmt_execute;
|
||||
+ mysql_stmt_fetch;
|
||||
+ mysql_stmt_fetch_column;
|
||||
+ mysql_stmt_field_count;
|
||||
+ mysql_stmt_free_result;
|
||||
+ mysql_stmt_init;
|
||||
+ mysql_stmt_insert_id;
|
||||
+ mysql_stmt_num_rows;
|
||||
+ mysql_stmt_param_count;
|
||||
+ mysql_stmt_param_metadata;
|
||||
+ mysql_stmt_prepare;
|
||||
+ mysql_stmt_reset;
|
||||
+ mysql_stmt_result_metadata;
|
||||
+ mysql_stmt_row_seek;
|
||||
+ mysql_stmt_row_tell;
|
||||
+ mysql_stmt_send_long_data;
|
||||
+ mysql_stmt_sqlstate;
|
||||
+ mysql_stmt_store_result;
|
||||
+ mysql_store_result;
|
||||
+ mysql_thread_end;
|
||||
+ mysql_thread_id;
|
||||
+ mysql_thread_init;
|
||||
+ mysql_thread_safe;
|
||||
+ mysql_use_result;
|
||||
+ mysql_warning_count;
|
||||
+# These are documented in Paul DuBois' MySQL book, so we treat them as part
|
||||
+# of the de-facto API.
|
||||
+ free_defaults;
|
||||
+ handle_options;
|
||||
+ load_defaults;
|
||||
+ my_print_help;
|
||||
+# This isn't really documented anywhere, but it seems to be part of the
|
||||
+# de-facto API as well. We're not going to export the deprecated version
|
||||
+# make_scrambled_password, however.
|
||||
+ my_make_scrambled_password;
|
||||
+# This really shouldn't be exported, but some applications use it as a
|
||||
+# workaround for inadequate threading support; see bug #846602
|
||||
+ THR_KEY_mysys;
|
||||
+ local:
|
||||
+ *;
|
||||
+};
|
||||
+# symbols added in mysql 5.5
|
||||
+libmysqlclient_18 {
|
||||
+ global:
|
||||
+ mysql_client_find_plugin;
|
||||
+ mysql_client_register_plugin;
|
||||
+ mysql_load_plugin;
|
||||
+ mysql_load_plugin_v;
|
||||
+ mysql_plugin_options;
|
||||
+ mysql_stmt_next_result;
|
||||
+#
|
||||
+# Ideally the following symbols wouldn't be exported, but various applications
|
||||
+# require them.
|
||||
+#
|
||||
+# mysql-connector-odbc requires these
|
||||
+ default_charset_info;
|
||||
+ get_charset;
|
||||
+ get_charset_by_csname;
|
||||
+ net_realloc;
|
||||
+# PHP's mysqli.so requires this (via the ER() macro)
|
||||
+ client_errors;
|
||||
+};
|
@ -1,46 +1,48 @@
|
||||
Some test items assume the default SSL cipher is DHE-RSA-AES256-SHA,
|
||||
Some test items assume the default SSL cipher is DHE-RSA-AES256-SHA,
|
||||
which is no longer the case as of openssl 1.0.1.
|
||||
This patch enhances connect command by an option to specify a cipher
|
||||
This patch enhances connect command by an option to specify a cipher
|
||||
and tests are adjusted to specify the expected cipher explicitly.
|
||||
Upstream bug report: http://bugs.mysql.com/bug.php?id=64461
|
||||
|
||||
diff -up mysql-5.5.28/client/mysqltest.cc.p18 mysql-5.5.28/client/mysqltest.cc
|
||||
--- mysql-5.5.28/client/mysqltest.cc.p18 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/client/mysqltest.cc 2012-12-06 14:25:46.370001422 +0100
|
||||
@@ -5458,6 +5458,7 @@ void do_connect(struct st_command *comma
|
||||
my_bool con_ssl= 0, con_compress= 0;
|
||||
diff --git a/client/mysqltest.cc b/client/mysqltest.cc
|
||||
index b6c8643..0e40b0d 100644
|
||||
--- a/client/mysqltest.cc
|
||||
+++ b/client/mysqltest.cc
|
||||
@@ -5496,6 +5496,7 @@ void do_connect(struct st_command *command)
|
||||
my_bool con_pipe= 0, con_shm= 0, con_cleartext_enable= 0;
|
||||
my_bool con_secure_auth= 1;
|
||||
struct st_connection* con_slot;
|
||||
+ char *con_cipher=NULL;
|
||||
|
||||
static DYNAMIC_STRING ds_connection_name;
|
||||
static DYNAMIC_STRING ds_host;
|
||||
@@ -5548,6 +5549,8 @@ void do_connect(struct st_command *comma
|
||||
con_shm= 1;
|
||||
else if (!strncmp(con_options, "CLEARTEXT", 9))
|
||||
@@ -5588,6 +5589,8 @@ void do_connect(struct st_command *command)
|
||||
con_cleartext_enable= 1;
|
||||
else if (!strncmp(con_options, "SKIPSECUREAUTH",14))
|
||||
con_secure_auth= 0;
|
||||
+ else if (!strncmp(con_options, "CIPHER:", 7))
|
||||
+ con_cipher = con_options + 7;
|
||||
else
|
||||
die("Illegal option to connect: %.*s",
|
||||
(int) (end - con_options), con_options);
|
||||
@@ -5595,8 +5598,11 @@ void do_connect(struct st_command *comma
|
||||
@@ -5635,8 +5638,11 @@ void do_connect(struct st_command *command)
|
||||
if (con_ssl)
|
||||
{
|
||||
#if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY)
|
||||
+ /* default cipher */
|
||||
+ /* default cipher */
|
||||
+ if (con_cipher == NULL && opt_ssl_cipher != NULL)
|
||||
+ con_cipher = opt_ssl_cipher;
|
||||
mysql_ssl_set(&con_slot->mysql, opt_ssl_key, opt_ssl_cert, opt_ssl_ca,
|
||||
- opt_ssl_capath, opt_ssl_cipher);
|
||||
+ opt_ssl_capath, con_cipher);
|
||||
mysql_options(&con_slot->mysql, MYSQL_OPT_SSL_CRL, opt_ssl_crl);
|
||||
mysql_options(&con_slot->mysql, MYSQL_OPT_SSL_CRLPATH, opt_ssl_crlpath);
|
||||
#if MYSQL_VERSION_ID >= 50000
|
||||
/* Turn on ssl_verify_server_cert only if host is "localhost" */
|
||||
opt_ssl_verify_server_cert= !strcmp(ds_host.str, "localhost");
|
||||
diff -up mysql-5.5.28/mysql-test/t/openssl_1.test.p18 mysql-5.5.28/mysql-test/t/openssl_1.test
|
||||
--- mysql-5.5.28/mysql-test/t/openssl_1.test.p18 2012-08-29 10:50:47.000000000 +0200
|
||||
+++ mysql-5.5.28/mysql-test/t/openssl_1.test 2012-12-06 14:25:46.371001424 +0100
|
||||
@@ -20,13 +20,13 @@ grant select on test.* to ssl_user4@loca
|
||||
diff --git a/mysql-test/t/openssl_1.test b/mysql-test/t/openssl_1.test
|
||||
index 3e907f1..02b89ad 100644
|
||||
--- a/mysql-test/t/openssl_1.test
|
||||
+++ b/mysql-test/t/openssl_1.test
|
||||
@@ -20,13 +20,13 @@ grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA
|
||||
grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx";
|
||||
flush privileges;
|
||||
|
||||
@ -68,7 +70,7 @@ diff -up mysql-5.5.28/mysql-test/t/openssl_1.test.p18 mysql-5.5.28/mysql-test/t/
|
||||
--echo End of 5.0 tests
|
||||
|
||||
#
|
||||
@@ -250,7 +250,7 @@ select 'is still running; no cipher requ
|
||||
@@ -250,7 +250,7 @@ select 'is still running; no cipher request crashed the server' as result from d
|
||||
|
||||
GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509;
|
||||
FLUSH PRIVILEGES;
|
||||
@ -77,34 +79,11 @@ diff -up mysql-5.5.28/mysql-test/t/openssl_1.test.p18 mysql-5.5.28/mysql-test/t/
|
||||
SHOW STATUS LIKE 'Ssl_cipher';
|
||||
disconnect con1;
|
||||
connection default;
|
||||
diff -up mysql-5.5.28/mysql-test/t/ssl_8k_key.test.p18 mysql-5.5.28/mysql-test/t/ssl_8k_key.test
|
||||
--- mysql-5.5.28/mysql-test/t/ssl_8k_key.test.p18 2012-08-29 10:50:47.000000000 +0200
|
||||
+++ mysql-5.5.28/mysql-test/t/ssl_8k_key.test 2012-12-06 14:25:46.371001424 +0100
|
||||
@@ -2,7 +2,7 @@
|
||||
#
|
||||
# Bug#29784 YaSSL assertion failure when reading 8k key.
|
||||
#
|
||||
---exec $MYSQL --ssl --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
|
||||
+--exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem --ssl-cipher=DHE-RSA-AES256-SHA -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1
|
||||
|
||||
## This test file is for testing encrypted communication only, not other
|
||||
## encryption routines that the SSL library happens to provide!
|
||||
diff -up mysql-5.5.28/mysql-test/t/ssl_compress.test.p18 mysql-5.5.28/mysql-test/t/ssl_compress.test
|
||||
--- mysql-5.5.28/mysql-test/t/ssl_compress.test.p18 2012-08-29 10:50:47.000000000 +0200
|
||||
+++ mysql-5.5.28/mysql-test/t/ssl_compress.test 2012-12-06 14:25:46.371001424 +0100
|
||||
@@ -7,7 +7,7 @@
|
||||
# Save the initial number of concurrent sessions
|
||||
--source include/count_sessions.inc
|
||||
|
||||
-connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS);
|
||||
+connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS CIPHER:DHE-RSA-AES256-SHA);
|
||||
|
||||
# Check ssl turned on
|
||||
SHOW STATUS LIKE 'Ssl_cipher';
|
||||
diff -up mysql-5.5.28/mysql-test/t/ssl.test.p18 mysql-5.5.28/mysql-test/t/ssl.test
|
||||
--- mysql-5.5.28/mysql-test/t/ssl.test.p18 2012-08-29 10:50:47.000000000 +0200
|
||||
+++ mysql-5.5.28/mysql-test/t/ssl.test 2012-12-06 14:25:46.371001424 +0100
|
||||
@@ -6,7 +6,7 @@
|
||||
diff --git a/mysql-test/t/ssl.test b/mysql-test/t/ssl.test
|
||||
index ea8be39..c61ca8b 100644
|
||||
--- a/mysql-test/t/ssl.test
|
||||
+++ b/mysql-test/t/ssl.test
|
||||
@@ -8,7 +8,7 @@
|
||||
# Save the initial number of concurrent sessions
|
||||
--source include/count_sessions.inc
|
||||
|
||||
@ -113,3 +92,29 @@ diff -up mysql-5.5.28/mysql-test/t/ssl.test.p18 mysql-5.5.28/mysql-test/t/ssl.te
|
||||
|
||||
# Check ssl turned on
|
||||
SHOW STATUS LIKE 'Ssl_cipher';
|
||||
diff --git a/mysql-test/t/ssl_8k_key.test b/mysql-test/t/ssl_8k_key.test
|
||||
index d94c2fc..c27ca58 100644
|
||||
--- a/mysql-test/t/ssl_8k_key.test
|
||||
+++ b/mysql-test/t/ssl_8k_key.test
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
# Bug#29784 YaSSL assertion failure when reading 8k key.
|
||||
#
|
||||
---exec $MYSQL --ssl --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
|
||||
+--exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem --ssl-cipher=DHE-RSA-AES256-SHA -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1
|
||||
|
||||
## This test file is for testing encrypted communication only, not other
|
||||
## encryption routines that the SSL library happens to provide!
|
||||
diff --git a/mysql-test/t/ssl_compress.test b/mysql-test/t/ssl_compress.test
|
||||
index 2cb4c0d..feaa0e7 100644
|
||||
--- a/mysql-test/t/ssl_compress.test
|
||||
+++ b/mysql-test/t/ssl_compress.test
|
||||
@@ -9,7 +9,7 @@
|
||||
# Save the initial number of concurrent sessions
|
||||
--source include/count_sessions.inc
|
||||
|
||||
-connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS);
|
||||
+connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS CIPHER:DHE-RSA-AES256-SHA);
|
||||
|
||||
# Check ssl turned on
|
||||
SHOW STATUS LIKE 'Ssl_cipher';
|
11
community-mysql-5.6.13-major.patch
Normal file
11
community-mysql-5.6.13-major.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- mysql-5.6.13/cmake/mysql_version.cmake.orig 2013-08-15 13:48:26.177017731 +0200
|
||||
+++ mysql-5.6.13/cmake/mysql_version.cmake 2013-08-15 13:49:35.478949928 +0200
|
||||
@@ -17,7 +17,7 @@
|
||||
# Global constants, only to be changed between major releases.
|
||||
#
|
||||
|
||||
-SET(SHARED_LIB_MAJOR_VERSION "18")
|
||||
+SET(SHARED_LIB_MAJOR_VERSION "1018")
|
||||
SET(SHARED_LIB_MINOR_VERSION "1")
|
||||
SET(PROTOCOL_VERSION "10")
|
||||
SET(DOT_FRM_VERSION "6")
|
115
community-mysql-5.6.13-mtr-secure-file.patch
Normal file
115
community-mysql-5.6.13-mtr-secure-file.patch
Normal file
@ -0,0 +1,115 @@
|
||||
------------------------------------------------------------
|
||||
revno: 5459
|
||||
committer: horst.hunger@oracle.com
|
||||
branch nick: mysql-trunk
|
||||
timestamp: Tue 2013-04-02 11:24:05 +0200
|
||||
message:
|
||||
Changes concerning secure-file-prev.
|
||||
diff:
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_parts_hash_innodb-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_parts_hash_innodb-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_parts_hash_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_parts_hash_myisam-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_parts_hash_myisam-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_parts_hash_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_parts_inv_innodb-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_parts_inv_innodb-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_parts_inv_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_parts_inv_myisam-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_parts_inv_myisam-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_parts_inv_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_parts_key_innodb-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_parts_key_innodb-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_parts_key_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_parts_key_myisam-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_parts_key_myisam-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_parts_key_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_parts_list_innodb-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_parts_list_innodb-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_parts_list_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_parts_list_myisam-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_parts_list_myisam-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_parts_list_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_parts_range_innodb-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_parts_range_innodb-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_parts_range_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_parts_range_myisam-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_parts_range_myisam-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_parts_range_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_key_list_innodb-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_sub_parts_key_list_innodb-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_sub_parts_key_list_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_key_list_myisam-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_sub_parts_key_list_myisam-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_sub_parts_key_list_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_key_range_innodb-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_sub_parts_key_range_innodb-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_sub_parts_key_range_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_key_range_myisam-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_sub_parts_key_range_myisam-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_sub_parts_key_range_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_list_innodb-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_sub_parts_list_innodb-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_sub_parts_list_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_list_myisam-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_sub_parts_list_myisam-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_sub_parts_list_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_range_innodb-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_sub_parts_range_innodb-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_sub_parts_range_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
||||
|
||||
=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_range_myisam-master.opt'
|
||||
--- mysql-test/suite/parts/t/partition_max_sub_parts_range_myisam-master.opt 1970-01-01 00:00:00 +0000
|
||||
+++ mysql-test/suite/parts/t/partition_max_sub_parts_range_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4
|
||||
@@ -0,0 +1,1 @@
|
||||
+--secure-file-priv=$MYSQL_TMP_DIR
|
21
community-mysql-5.6.13-truncate-file.patch
Normal file
21
community-mysql-5.6.13-truncate-file.patch
Normal file
@ -0,0 +1,21 @@
|
||||
Unneccesary use of Env module in Perl code in a test
|
||||
|
||||
Code used Env just to get the value of a single environment variable,
|
||||
causing the test to fail on systems which does not have this
|
||||
installed. This use is overkill, can easily be replaced by standard
|
||||
access via the ENV hash.
|
||||
|
||||
diff -up mysql-test/include/truncate_file.inc.orig mysql-test/include/truncate_file.inc
|
||||
--- mysql-test/include/truncate_file.inc.orig 2013-08-23 12:25:33.216534033 +0200
|
||||
+++ mysql-test/include/truncate_file.inc 2013-08-23 12:15:34.583327832 +0200
|
||||
@@ -9,8 +9,7 @@ if (!$file)
|
||||
let TRUNCATE_FILE= $file;
|
||||
|
||||
perl;
|
||||
-use Env;
|
||||
-Env::import('TRUNCATE_FILE');
|
||||
-open FILE, '>', $TRUNCATE_FILE || die "Can not open file $file";
|
||||
+my $file= $ENV{'TRUNCATE_FILE'};
|
||||
+open FILE, '>', $file || die "Can not open file $file";
|
||||
close FILE;
|
||||
EOF
|
239
community-mysql-5.6.14-mysql-install.patch
Normal file
239
community-mysql-5.6.14-mysql-install.patch
Normal file
@ -0,0 +1,239 @@
|
||||
diff --git a/scripts/mysql_install_db.pl.in b/scripts/mysql_install_db.pl.in
|
||||
index c142d4f..f1f2891 100644
|
||||
--- a/scripts/mysql_install_db.pl.in
|
||||
+++ b/scripts/mysql_install_db.pl.in
|
||||
@@ -34,13 +34,35 @@
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
-use Fcntl;
|
||||
-use File::Basename;
|
||||
-use File::Copy;
|
||||
-use Getopt::Long;
|
||||
-use Sys::Hostname;
|
||||
-use Data::Dumper;
|
||||
use strict;
|
||||
+use warnings;
|
||||
+
|
||||
+##############################################################################
|
||||
+# Check if all needed modules are available, exit if something is missing.
|
||||
+##############################################################################
|
||||
+
|
||||
+BEGIN {
|
||||
+ my @req_mods = ('Fcntl', 'File::Basename', 'File::Copy', 'Getopt::Long',
|
||||
+ 'Sys::Hostname', 'Data::Dumper');
|
||||
+ my @missing_mods;
|
||||
+ my $req;
|
||||
+ foreach $req (@req_mods) {
|
||||
+ eval 'require ' . $req;
|
||||
+ if ($@) {
|
||||
+ push(@missing_mods, $req);
|
||||
+ } else {
|
||||
+ $req->import();
|
||||
+ }
|
||||
+ }
|
||||
+ # this avoids the confusing "BEGIN failed--compilation aborted" message
|
||||
+ local $SIG{__DIE__} = sub {warn @_; exit 1};
|
||||
+
|
||||
+ if (@missing_mods) {
|
||||
+ my $msg = "FATAL ERROR: please install the following Perl modules " .
|
||||
+ "before executing $0:\n" . join("\n",@missing_mods)."\n";
|
||||
+ die $msg;
|
||||
+ }
|
||||
+}
|
||||
|
||||
Getopt::Long::Configure("pass_through");
|
||||
|
||||
@@ -75,6 +97,8 @@ Usage: $0 [OPTIONS]
|
||||
--help Display this help and exit.
|
||||
--ldata=path The path to the MySQL data directory. Same as --datadir.
|
||||
--no-defaults Don't read default options from any option file.
|
||||
+ --keep-my-cnf Don't try to create my.cnf based on template.
|
||||
+ Useful for systems with working, updated my.cnf.
|
||||
EOF1
|
||||
if ( $^O !~ m/^(MSWin32|cygwin)$/ ) {
|
||||
print <<EOF2;
|
||||
@@ -86,6 +110,7 @@ EOF2
|
||||
print <<EOF3;
|
||||
--rpm For internal use. This option is used by RPM files
|
||||
during the MySQL installation process.
|
||||
+ Implies --keep-my-cnf option.
|
||||
--skip-name-resolve Use IP addresses rather than hostnames when creating
|
||||
grant table entries. This option can be useful if
|
||||
your DNS does not work.
|
||||
@@ -149,6 +174,7 @@ sub parse_arguments
|
||||
|
||||
"skip-name-resolve",
|
||||
"verbose",
|
||||
+ "keep-my-cnf",
|
||||
"rpm",
|
||||
"help",
|
||||
"random-passwords",
|
||||
@@ -356,13 +382,19 @@ sub tell_root_password {
|
||||
##############################################################################
|
||||
|
||||
sub generate_random_password {
|
||||
- # On (at least) Linux and Solaris, a "random" device is available, use it:
|
||||
- # cat /dev/urandom | LC_ALL=C tr -dc "[:alnum:]" | fold -w 8 | head -1
|
||||
- # Without LC_ALL, "tr" may not know the "alnum" character class -
|
||||
- # and there are user profiles which do not have this set.
|
||||
- #
|
||||
- my $password = `cat /dev/urandom | LC_ALL=C tr -dc "[:alnum:]" | fold -w 8 | head -1`;
|
||||
- chomp ($password);
|
||||
+ # On Linux, Solaris, Max OS X and FreeBSD we have a random device available.
|
||||
+ my $randfile = "/dev/urandom";
|
||||
+ open(FD, $randfile) || die "Can't open $randfile for reading: $!";
|
||||
+ my $password = "";
|
||||
+ my $pass_len = 16;
|
||||
+ my $c;
|
||||
+ while (length($password) < $pass_len) {
|
||||
+ $c = getc(FD);
|
||||
+ if ($c =~ /\w/) {
|
||||
+ $password .= $c;
|
||||
+ }
|
||||
+ }
|
||||
+ close(FD);
|
||||
return $password;
|
||||
}
|
||||
|
||||
@@ -399,11 +431,16 @@ $basedir= "@prefix@" if ! $basedir; # Default
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
my $print_defaults;
|
||||
+my $keep_my_cnf = 0;
|
||||
|
||||
if ( $opt->{srcdir} and $opt->{basedir} )
|
||||
{
|
||||
error($opt,"Specify either --basedir or --srcdir, not both");
|
||||
}
|
||||
+if ( $opt->{rpm} || $opt->{'keep-my-cnf'} )
|
||||
+{
|
||||
+ $keep_my_cnf = 1;
|
||||
+}
|
||||
if ( $opt->{srcdir} )
|
||||
{
|
||||
$opt->{builddir} = $opt->{srcdir} unless $opt->{builddir};
|
||||
@@ -425,13 +462,18 @@ my $config_file;
|
||||
my $copy_cfg_file;
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
-# This will be the default config file
|
||||
+# This will be the default config file (unless creation is unwanted)
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
$config_file= "$basedir/my.cnf";
|
||||
|
||||
my $cfg_template= find_in_basedir($opt,"file","my-default.cnf",
|
||||
"share","share/mysql","support-files");
|
||||
+# Distros might move files
|
||||
+if ((! -r $cfg_template) && (-r "@pkgdatadir@/my-default.cnf")) {
|
||||
+ $cfg_template = "@pkgdatadir@/my-default.cnf";
|
||||
+}
|
||||
+
|
||||
-e $cfg_template or cannot_find_file("my-default.cnf");
|
||||
|
||||
$copy_cfg_file= $config_file;
|
||||
@@ -441,22 +483,21 @@ if (-e $copy_cfg_file)
|
||||
$copy_cfg_file =~ s/my.cnf/my-new.cnf/;
|
||||
# Too early to print warning here, the user may not notice
|
||||
}
|
||||
-open (TEMPL, $cfg_template) or error($opt, "Could not open config template $cfg_template");
|
||||
-if (open (CFG, "> $copy_cfg_file"))
|
||||
-{
|
||||
- while (<TEMPL>)
|
||||
- {
|
||||
- # Remove lines beginning with # *** which are template comments
|
||||
- print CFG $_ unless /^# \*\*\*/;
|
||||
+
|
||||
+if ( ! $keep_my_cnf ) {
|
||||
+ open (TEMPL, $cfg_template) or error($opt, "Could not open config template $cfg_template");
|
||||
+ if (open (CFG, "> $copy_cfg_file")) {
|
||||
+ while (<TEMPL>) {
|
||||
+ # Remove lines beginning with # *** which are template comments
|
||||
+ print CFG $_ unless /^# \*\*\*/;
|
||||
+ }
|
||||
+ close CFG;
|
||||
+ } else {
|
||||
+ warning($opt,"Could not write to config file $copy_cfg_file: $!");
|
||||
+ $failed_write_cfg= 1;
|
||||
}
|
||||
- close CFG;
|
||||
+ close TEMPL;
|
||||
}
|
||||
-else
|
||||
-{
|
||||
- warning($opt,"Could not write to config file $copy_cfg_file: $!");
|
||||
- $failed_write_cfg= 1;
|
||||
-}
|
||||
-close TEMPL;
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# Now we can get arguments from the groups [mysqld] and [mysql_install_db]
|
||||
@@ -619,7 +660,7 @@ if ( $opt->{'skip-name-resolve'} and $resolved and $resolved =~ /\s/ )
|
||||
}
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
-# Create database directories mysql & test
|
||||
+# Create database directory mysql
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
# FIXME The shell variant uses "mkdir -p":
|
||||
@@ -652,7 +693,7 @@ if ($opt_user)
|
||||
}
|
||||
}
|
||||
|
||||
-foreach my $dir ( $opt->{ldata}, "$opt->{ldata}/mysql", "$opt->{ldata}/test" )
|
||||
+foreach my $dir ( $opt->{ldata}, "$opt->{ldata}/mysql")
|
||||
{
|
||||
mkdir($dir, 0700) unless -d $dir;
|
||||
if ($opt_user and -w "/")
|
||||
@@ -838,15 +879,26 @@ if ( open(PIPE, "| $mysqld_install_cmd_line") )
|
||||
" cd mysql-test ; perl mysql-test-run.pl");
|
||||
}
|
||||
report($opt,
|
||||
- "Please report any problems with the " . '@scriptdir@' . "/mysqlbug script!",
|
||||
- "",
|
||||
"The latest information about MySQL is available on the web at",
|
||||
"",
|
||||
" http://www.mysql.com",
|
||||
"",
|
||||
- "Support MySQL by buying support/licenses at http://shop.mysql.com");
|
||||
+ "Please visit",
|
||||
+ "",
|
||||
+ " http://bugs.mysql.com/",
|
||||
+ "",
|
||||
+ "to report bugs. This database is public and can be browsed",
|
||||
+ "and searched by anyone. If you log in to the system",
|
||||
+ "you can enter new reports.");
|
||||
+
|
||||
|
||||
- if ($copy_cfg_file eq $config_file and !$failed_write_cfg)
|
||||
+ if ($keep_my_cnf)
|
||||
+ {
|
||||
+ report($opt,
|
||||
+ "Note: new default config file not created.",
|
||||
+ "Please make sure your config file is current");
|
||||
+ }
|
||||
+ elsif ($copy_cfg_file eq $config_file and !$failed_write_cfg)
|
||||
{
|
||||
report($opt,
|
||||
"New default config file was created as $config_file and",
|
||||
@@ -900,9 +952,15 @@ else
|
||||
"http://www.mysql.com",
|
||||
"Please consult the MySQL manual section: 'Problems running mysql_install_db',",
|
||||
"and the manual section that describes problems on your OS.",
|
||||
- "Another information source is the MySQL email archive.",
|
||||
- "Please check all of the above before mailing us!",
|
||||
- "And if you do mail us, you MUST use the " . '@scriptdir@' . "/mysqlbug script!")
|
||||
+ "Another information source is our bug database.",
|
||||
+ "Please visit",
|
||||
+ "",
|
||||
+ " http://bugs.mysql.com/",
|
||||
+ "",
|
||||
+ "to report bugs. This database is public and can be browsed",
|
||||
+ "and searched by anyone. If you log in to the system you can",
|
||||
+ "enter new reports.");
|
||||
+
|
||||
}
|
||||
|
||||
##############################################################################
|
@ -1,15 +1,15 @@
|
||||
The following problems have been found by Coverity - static analysis tool.
|
||||
|
||||
mysql-5.5.31/plugin/semisync/semisync_master.cc:672:parameter_as_source – Note: This defect has an elevated risk because the source argument is a parameter of the current function.
|
||||
mysql-5.5.31/plugin/semisync/semisync_master.cc:672:parameter_as_source – Note: This defect has an elevated risk because the source argument is a parameter of the current function.
|
||||
|
||||
mysql-5.5.31/plugin/semisync/semisync_master.cc:661:parameter_as_source – Note: This defect has an elevated risk because the source argument is a parameter of the current function.
|
||||
mysql-5.5.31/plugin/semisync/semisync_master.cc:661:parameter_as_source – Note: This defect has an elevated risk because the source argument is a parameter of the current function.
|
||||
|
||||
mysql-5.5.31/plugin/semisync/semisync_master.cc:555:parameter_as_source – Note: This defect has an elevated risk because the source argument is a parameter of the current function.
|
||||
|
||||
diff -up mysql-5.5.31/plugin/semisync/semisync_master.cc.covscan-stroverflow mysql-5.5.31/plugin/semisync/semisync_master.cc
|
||||
--- mysql-5.5.31/plugin/semisync/semisync_master.cc.covscan-stroverflow 2013-06-17 09:04:47.214621154 +0200
|
||||
+++ mysql-5.5.31/plugin/semisync/semisync_master.cc 2013-06-17 09:08:32.189617218 +0200
|
||||
@@ -552,7 +552,8 @@ int ReplSemiSyncMaster::reportReplyBinlo
|
||||
diff -up mysql-5.6.14/plugin/semisync/semisync_master.cc.p33 mysql-5.6.14/plugin/semisync/semisync_master.cc
|
||||
--- mysql-5.6.14/plugin/semisync/semisync_master.cc.p33 2013-09-10 09:38:25.000000000 +0200
|
||||
+++ mysql-5.6.14/plugin/semisync/semisync_master.cc 2013-10-09 15:29:03.550379533 +0200
|
||||
@@ -553,7 +553,8 @@ int ReplSemiSyncMaster::reportReplyBinlo
|
||||
|
||||
if (need_copy_send_pos)
|
||||
{
|
||||
@ -19,7 +19,7 @@ diff -up mysql-5.5.31/plugin/semisync/semisync_master.cc.covscan-stroverflow mys
|
||||
reply_file_pos_ = log_file_pos;
|
||||
reply_file_name_inited_ = true;
|
||||
|
||||
@@ -658,7 +659,8 @@ int ReplSemiSyncMaster::commitTrx(const
|
||||
@@ -681,7 +682,8 @@ int ReplSemiSyncMaster::commitTrx(const
|
||||
if (cmp <= 0)
|
||||
{
|
||||
/* This thd has a lower position, let's update the minimum info. */
|
||||
@ -29,7 +29,7 @@ diff -up mysql-5.5.31/plugin/semisync/semisync_master.cc.covscan-stroverflow mys
|
||||
wait_file_pos_ = trx_wait_binlog_pos;
|
||||
|
||||
rpl_semi_sync_master_wait_pos_backtraverse++;
|
||||
@@ -669,7 +671,8 @@ int ReplSemiSyncMaster::commitTrx(const
|
||||
@@ -692,7 +694,8 @@ int ReplSemiSyncMaster::commitTrx(const
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -39,35 +39,19 @@ diff -up mysql-5.5.31/plugin/semisync/semisync_master.cc.covscan-stroverflow mys
|
||||
wait_file_pos_ = trx_wait_binlog_pos;
|
||||
wait_file_name_inited_ = true;
|
||||
|
||||
mysql-5.5.31/sql/sp_rcontext.h:87:buffer_size_warning – Calling strncpy with a maximum size argument of 512 bytes on destination array "this->m_message" of size 512 bytes might leave the destination string unterminated.
|
||||
|
||||
mysql-5.5.31/sql/rpl_handler.cc:306:fixed_size_dest – You might overrun the 512 byte fixed-size string "log_info->log_file" by copying "log_file + dirname_length(log_file)" without checking the length. diff -up mysql-5.5.31/sql/rpl_handler.cc.covscan-stroverflow mysql-5.5.31/sql/rpl_handler.cc
|
||||
|
||||
--- mysql-5.5.31/sql/rpl_handler.cc.covscan-stroverflow 2013-06-17 10:51:04.940509594 +0200
|
||||
+++ mysql-5.5.31/sql/rpl_handler.cc 2013-06-17 10:51:08.959509523 +0200
|
||||
@@ -303,7 +303,8 @@ int Binlog_storage_delegate::after_flush
|
||||
my_pthread_setspecific_ptr(RPL_TRANS_BINLOG_INFO, log_info);
|
||||
}
|
||||
|
||||
- strcpy(log_info->log_file, log_file+dirname_length(log_file));
|
||||
+ strncpy(log_info->log_file, log_file+dirname_length(log_file), sizeof(log_info->log_file)-1);
|
||||
+ log_info->log_file[sizeof(log_info->log_file)-1] = '\0';
|
||||
log_info->log_pos = log_pos;
|
||||
|
||||
int ret= 0;
|
||||
|
||||
|
||||
mysql-5.5.31/sql/sp_rcontext.h:87:buffer_size_warning – Calling strncpy with a maximum size argument of 512 bytes on destination array "this->m_message" of size 512 bytes might leave the destination string unterminated.
|
||||
|
||||
diff -up mysql-5.5.31/sql/sp_rcontext.h.covscan-stroverflow mysql-5.5.31/sql/sp_rcontext.h
|
||||
--- mysql-5.5.31/sql/sp_rcontext.h.covscan-stroverflow 2013-06-17 13:28:32.540344334 +0200
|
||||
+++ mysql-5.5.31/sql/sp_rcontext.h 2013-06-17 13:29:23.673343443 +0200
|
||||
@@ -84,7 +84,8 @@ public:
|
||||
memcpy(m_sql_state, sqlstate, SQLSTATE_LENGTH);
|
||||
m_sql_state[SQLSTATE_LENGTH]= '\0';
|
||||
diff -up mysql-5.6.14/sql/rpl_handler.cc.p33 mysql-5.6.14/sql/rpl_handler.cc
|
||||
diff -up mysql-5.6.14/sql/sp_rcontext.h.p33 mysql-5.6.14/sql/sp_rcontext.h
|
||||
--- mysql-5.6.14/sql/sp_rcontext.h.p33 2013-10-09 15:29:03.552379535 +0200
|
||||
+++ mysql-5.6.14/sql/sp_rcontext.h 2013-10-09 15:29:53.367412814 +0200
|
||||
@@ -144,7 +144,8 @@ public:
|
||||
memcpy(sql_state, _sql_state, SQLSTATE_LENGTH);
|
||||
sql_state[SQLSTATE_LENGTH]= '\0';
|
||||
|
||||
- strncpy(m_message, msg, MYSQL_ERRMSG_SIZE);
|
||||
+ strncpy(m_message, msg, sizeof(m_message)-1);
|
||||
+ m_message[sizeof(m_message)-1] = '\0';
|
||||
}
|
||||
- strncpy(message, _message, MYSQL_ERRMSG_SIZE);
|
||||
+ strncpy(message, _message, sizeof(message)-1);
|
||||
+ message[sizeof(message)-1] = '\0';
|
||||
}
|
||||
};
|
||||
|
||||
void clear()
|
@ -2,11 +2,11 @@ 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
|
||||
@@ -1113,4 +1113,19 @@ SELECT 1 FROM g1 WHERE a >= ANY
|
||||
|
||||
diff -up mysql-5.6.14/mysql-test/r/gis.result.cve mysql-5.6.14/mysql-test/r/gis.result
|
||||
--- mysql-5.6.14/mysql-test/r/gis.result.cve 2013-09-10 09:38:27.000000000 +0200
|
||||
+++ mysql-5.6.14/mysql-test/r/gis.result 2013-10-09 15:08:59.886598028 +0200
|
||||
@@ -1115,6 +1115,21 @@ SELECT 1 FROM g1 WHERE a >= ANY
|
||||
(SELECT 1 FROM g1 WHERE a = geomfromtext('') OR a) ;
|
||||
1
|
||||
DROP TABLE g1;
|
||||
@ -26,10 +26,12 @@ diff -up mysql-5.5.31/mysql-test/r/gis.result.cve mysql-5.5.31/mysql-test/r/gis.
|
||||
+astext(centroid(0x0100000000030000000100000000000010))
|
||||
+NULL
|
||||
End of 5.5 tests
|
||||
diff -up mysql-5.5.31/mysql-test/t/gis.test.cve mysql-5.5.31/mysql-test/t/gis.test
|
||||
--- mysql-5.5.31/mysql-test/t/gis.test.cve 2013-06-03 16:32:33.733025512 +0200
|
||||
+++ mysql-5.5.31/mysql-test/t/gis.test 2013-06-03 16:34:38.942560749 +0200
|
||||
@@ -868,4 +868,11 @@ SELECT 1 FROM g1 WHERE a >= ANY
|
||||
DROP DATABASE IF EXISTS gis_ogs;
|
||||
CREATE DATABASE gis_ogs;
|
||||
diff -up mysql-5.6.14/mysql-test/t/gis.test.cve mysql-5.6.14/mysql-test/t/gis.test
|
||||
--- mysql-5.6.14/mysql-test/t/gis.test.cve 2013-09-10 09:38:27.000000000 +0200
|
||||
+++ mysql-5.6.14/mysql-test/t/gis.test 2013-10-09 15:08:59.886598028 +0200
|
||||
@@ -868,6 +868,13 @@ SELECT 1 FROM g1 WHERE a >= ANY
|
||||
|
||||
DROP TABLE g1;
|
||||
|
||||
@ -41,3 +43,5 @@ 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
|
||||
|
||||
|
@ -1,169 +0,0 @@
|
||||
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 -up mysql-5.5.28/client/mysqladmin.cc.p8 mysql-5.5.28/client/mysqladmin.cc
|
||||
--- mysql-5.5.28/client/mysqladmin.cc.p8 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/client/mysqladmin.cc 2012-12-06 14:16:14.598520859 +0100
|
||||
@@ -21,6 +21,7 @@
|
||||
#include <my_pthread.h> /* because of signal() */
|
||||
#include <sys/stat.h>
|
||||
#include <mysql.h>
|
||||
+#include <password.h> /* my_make_scrambled_password_323, my_make_scrambled_password */
|
||||
#include <sql_common.h>
|
||||
#include <welcome_copyright_notice.h> /* ORACLE_WELCOME_COPYRIGHT_NOTICE */
|
||||
|
||||
@@ -989,9 +990,9 @@ static int execute_commands(MYSQL *mysql
|
||||
}
|
||||
}
|
||||
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 -up mysql-5.5.28/include/errmsg.h.p8 mysql-5.5.28/include/errmsg.h
|
||||
--- mysql-5.5.28/include/errmsg.h.p8 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/include/errmsg.h 2012-12-06 14:16:14.598520859 +0100
|
||||
@@ -24,6 +24,7 @@ extern "C" {
|
||||
#endif
|
||||
void init_client_errs(void);
|
||||
void finish_client_errs(void);
|
||||
+#define client_errors mysql_client_errors /* namespace sanity */
|
||||
extern const char *client_errors[]; /* Error messages */
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
diff -up mysql-5.5.28/include/mysql_com.h.p8 mysql-5.5.28/include/mysql_com.h
|
||||
--- mysql-5.5.28/include/mysql_com.h.p8 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/include/mysql_com.h 2012-12-06 14:16:14.599520860 +0100
|
||||
@@ -452,6 +452,7 @@ my_bool my_net_init(NET *net, Vio* vio);
|
||||
void my_net_local_init(NET *net);
|
||||
void net_end(NET *net);
|
||||
void net_clear(NET *net, my_bool clear_buffer);
|
||||
+#define net_realloc mysql_net_realloc /* namespace sanity */
|
||||
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 @@ 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 -up mysql-5.5.28/include/mysql.h.pp.p8 mysql-5.5.28/include/mysql.h.pp
|
||||
--- mysql-5.5.28/include/mysql.h.pp.p8 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/include/mysql.h.pp 2012-12-06 14:16:14.598520859 +0100
|
||||
@@ -86,7 +86,7 @@ my_bool my_net_init(NET *net, Vio* vio);
|
||||
void my_net_local_init(NET *net);
|
||||
void net_end(NET *net);
|
||||
void net_clear(NET *net, my_bool clear_buffer);
|
||||
-my_bool net_realloc(NET *net, size_t length);
|
||||
+my_bool mysql_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);
|
||||
my_bool net_write_command(NET *net,unsigned char command,
|
||||
@@ -128,13 +128,11 @@ void randominit(struct rand_struct *, un
|
||||
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 -up mysql-5.5.28/include/my_sys.h.p8 mysql-5.5.28/include/my_sys.h
|
||||
--- mysql-5.5.28/include/my_sys.h.p8 2012-12-06 14:09:15.218170154 +0100
|
||||
+++ mysql-5.5.28/include/my_sys.h 2012-12-06 14:16:14.598520859 +0100
|
||||
@@ -218,6 +218,7 @@ extern uint my_large_page_size;
|
||||
|
||||
/* charsets */
|
||||
#define MY_ALL_CHARSETS_SIZE 2048
|
||||
+#define default_charset_info mysql_default_charset_info /* namespace sanity */
|
||||
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[];
|
||||
@@ -895,6 +896,9 @@ extern uint get_charset_number(const cha
|
||||
extern uint get_collation_number(const char *name);
|
||||
extern const char *get_charset_name(uint cs_number);
|
||||
|
||||
+#define get_charset mysql_get_charset /* namespace sanity */
|
||||
+#define get_charset_by_csname mysql_get_charset_by_csname
|
||||
+
|
||||
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 -up mysql-5.5.28/sql/password.c.p8 mysql-5.5.28/sql/password.c
|
||||
--- mysql-5.5.28/sql/password.c.p8 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/sql/password.c 2012-12-06 14:16:14.599520860 +0100
|
||||
@@ -155,23 +155,6 @@ void my_make_scrambled_password_323(char
|
||||
|
||||
|
||||
/*
|
||||
- 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
|
||||
@@ -434,23 +417,6 @@ void my_make_scrambled_password(char *to
|
||||
|
||||
|
||||
/*
|
||||
- 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
|
@ -1,21 +0,0 @@
|
||||
"extern int errno" is just a really bad idea.
|
||||
|
||||
|
||||
diff -up mysql-5.5.28/include/my_sys.h.p1 mysql-5.5.28/include/my_sys.h
|
||||
--- mysql-5.5.28/include/my_sys.h.p1 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/include/my_sys.h 2012-12-06 14:09:15.218170154 +0100
|
||||
@@ -197,13 +197,8 @@ extern void my_large_free(uchar *ptr);
|
||||
#define my_afree(PTR) my_free(PTR)
|
||||
#endif /* HAVE_ALLOCA */
|
||||
|
||||
-#ifndef errno /* did we already get it? */
|
||||
-#ifdef HAVE_ERRNO_AS_DEFINE
|
||||
#include <errno.h> /* errno is a define */
|
||||
-#else
|
||||
-extern int errno; /* declare errno */
|
||||
-#endif
|
||||
-#endif /* #ifndef errno */
|
||||
+
|
||||
extern char *home_dir; /* Home directory for user */
|
||||
extern const char *my_progname; /* program-name (printed in errors) */
|
||||
extern char curr_dir[]; /* Current directory for user */
|
@ -553,3 +553,19 @@ diff -Naur mysql-5.1.50.orig/mysql-test/std_data/server8k-key.pem mysql-5.1.50/m
|
||||
+nlUJasA2psbqSBJ5OJ5zAkEA2UxoMju54hASjT54Z92IzraVw4Vo8CYwOcw5fr7z
|
||||
++m5xg1mmWdLBclmZ+WjARzDuTHIW6u/WCxNGg42AykWzfw==
|
||||
-----END RSA PRIVATE KEY-----
|
||||
diff -u mysql-5.6.10/mysql-test/r/ssl.result.orig mysql-5.6.10/mysql-test/r/ssl.result
|
||||
--- mysql-5.6.10/mysql-test/r/ssl.result.orig 2013-03-04 09:50:24.227923768 +0100
|
||||
+++ mysql-5.6.10/mysql-test/r/ssl.result 2013-03-04 09:53:28.449873521 +0100
|
||||
@@ -3,10 +3,10 @@
|
||||
Ssl_cipher DHE-RSA-AES256-SHA
|
||||
SHOW STATUS LIKE 'Ssl_server_not_before';
|
||||
Variable_name Value
|
||||
-Ssl_server_not_before Jan 29 11:56:49 2010 GMT
|
||||
+Ssl_server_not_before Feb 20 02:55:06 2010 GMT
|
||||
SHOW STATUS LIKE 'Ssl_server_not_after';
|
||||
Variable_name Value
|
||||
-Ssl_server_not_after Jan 28 11:56:49 2015 GMT
|
||||
+Ssl_server_not_after Sep 3 02:55:06 2030 GMT
|
||||
drop table if exists t1,t2,t3,t4;
|
||||
CREATE TABLE t1 (
|
||||
Period smallint(4) unsigned zerofill DEFAULT '0000' NOT NULL,
|
@ -14,27 +14,27 @@ Adjust the mysql-log-rotate script in several ways:
|
||||
See discussions at RH bugs 799735, 547007
|
||||
|
||||
|
||||
diff -Naur mysql-5.5.22.orig/support-files/mysql-log-rotate.sh mysql-5.5.22/support-files/mysql-log-rotate.sh
|
||||
--- mysql-5.5.22.orig/support-files/mysql-log-rotate.sh 2012-03-02 14:44:46.000000000 -0500
|
||||
+++ mysql-5.5.22/support-files/mysql-log-rotate.sh 2012-03-23 22:33:29.092043705 -0400
|
||||
@@ -3,7 +3,7 @@
|
||||
# in the [safe_mysqld] section as follows:
|
||||
diff -up mysql-5.6.10/support-files/mysql-log-rotate.sh.orig mysql-5.6.10/support-files/mysql-log-rotate.sh
|
||||
--- mysql-5.6.10/support-files/mysql-log-rotate.sh.orig 2013-01-22 17:54:50.000000000 +0100
|
||||
+++ mysql-5.6.10/support-files/mysql-log-rotate.sh 2013-02-19 15:27:28.448443077 +0100
|
||||
@@ -4,7 +4,7 @@
|
||||
# follows:
|
||||
#
|
||||
# [safe_mysqld]
|
||||
-# err-log=@localstatedir@/mysqld.log
|
||||
+# err-log=/var/log/mysqld.log
|
||||
# [mysqld]
|
||||
-# log-error=@localstatedir@/mysqld.log
|
||||
+# log-error=/var/log/mysqld.log
|
||||
#
|
||||
# If the root user has a password you have to create a
|
||||
# /root/.my.cnf configuration file with the following
|
||||
@@ -18,19 +18,21 @@
|
||||
# ATTENTION: This /root/.my.cnf should be readable ONLY
|
||||
# for root !
|
||||
# In case the root user has a password, then you
|
||||
# have to create a /root/.my.cnf configuration file
|
||||
@@ -19,19 +19,21 @@
|
||||
# ATTENTION: The /root/.my.cnf file should be readable
|
||||
# _ONLY_ by root !
|
||||
|
||||
-@localstatedir@/mysqld.log {
|
||||
- # create 600 mysql mysql
|
||||
- notifempty
|
||||
- daily
|
||||
- rotate 3
|
||||
- daily
|
||||
- rotate 5
|
||||
- missingok
|
||||
- compress
|
||||
- postrotate
|
||||
@ -51,7 +51,7 @@ diff -Naur mysql-5.5.22.orig/support-files/mysql-log-rotate.sh mysql-5.5.22/supp
|
||||
+#/var/log/mysqld.log {
|
||||
+# create 640 mysql mysql
|
||||
+# notifempty
|
||||
+# daily
|
||||
+# daily
|
||||
+# rotate 3
|
||||
+# missingok
|
||||
+# compress
|
@ -1,12 +0,0 @@
|
||||
diff -up mysql-5.5.30/cmake/mysql_version.cmake.major mysql-5.5.30/cmake/mysql_version.cmake
|
||||
--- mysql-5.5.30/cmake/mysql_version.cmake.major 2013-03-11 18:32:45.326473598 +0100
|
||||
+++ mysql-5.5.30/cmake/mysql_version.cmake 2013-03-11 18:33:10.634472902 +0100
|
||||
@@ -17,7 +17,7 @@
|
||||
# Global constants, only to be changed between major releases.
|
||||
#
|
||||
|
||||
-SET(SHARED_LIB_MAJOR_VERSION "18")
|
||||
+SET(SHARED_LIB_MAJOR_VERSION "1018")
|
||||
SET(PROTOCOL_VERSION "10")
|
||||
SET(DOT_FRM_VERSION "6")
|
||||
|
@ -1,7 +1,7 @@
|
||||
diff -up mysql-5.5.15/mysys/my_gethwaddr.c.netdevname mysql-5.5.15/mysys/my_gethwaddr.c
|
||||
--- mysql-5.5.15/mysys/my_gethwaddr.c.netdevname 2011-07-13 21:09:02.000000000 +0200
|
||||
+++ mysql-5.5.15/mysys/my_gethwaddr.c 2011-11-01 12:32:35.356119715 +0100
|
||||
@@ -68,28 +68,47 @@ err:
|
||||
diff -up mysql-5.6.10/mysys/my_gethwaddr.c.orig mysql-5.6.10/mysys/my_gethwaddr.c
|
||||
--- mysql-5.6.10/mysys/my_gethwaddr.c.orig 2013-01-22 17:54:49.000000000 +0100
|
||||
+++ mysql-5.6.10/mysys/my_gethwaddr.c 2013-02-19 15:19:48.632960900 +0100
|
||||
@@ -68,27 +68,47 @@ err:
|
||||
#include <sys/ioctl.h>
|
||||
#include <net/ethernet.h>
|
||||
|
||||
@ -12,14 +12,14 @@ diff -up mysql-5.5.15/mysys/my_gethwaddr.c.netdevname mysql-5.5.15/mysys/my_geth
|
||||
int fd, res= 1;
|
||||
struct ifreq ifr;
|
||||
char zero_array[ETHER_ADDR_LEN] = {0};
|
||||
+ struct ifconf ifc;
|
||||
+ struct ifconf ifc;
|
||||
+ struct ifreq ifs[MAX_IFS], *ifri, *ifend;
|
||||
|
||||
fd = socket(AF_INET, SOCK_DGRAM, 0);
|
||||
if (fd < 0)
|
||||
goto err;
|
||||
|
||||
- bzero(&ifr, sizeof(ifr));
|
||||
- memset(&ifr, 0, sizeof(ifr));
|
||||
- strnmov(ifr.ifr_name, "eth0", sizeof(ifr.ifr_name) - 1);
|
||||
+ ifc.ifc_len = sizeof(ifs);
|
||||
+ ifc.ifc_req = ifs;
|
||||
@ -28,10 +28,10 @@ diff -up mysql-5.5.15/mysys/my_gethwaddr.c.netdevname mysql-5.5.15/mysys/my_geth
|
||||
+ close(fd);
|
||||
+ goto err;
|
||||
+ }
|
||||
+
|
||||
+ memcpy(to, zero_array, ETHER_ADDR_LEN);
|
||||
|
||||
- do
|
||||
+ memcpy(to, zero_array, ETHER_ADDR_LEN);
|
||||
+
|
||||
+ ifend = ifs + (ifc.ifc_len / sizeof(struct ifreq));
|
||||
+ for (ifri = ifc.ifc_req; ifri < ifend; ifri++)
|
||||
{
|
||||
@ -40,9 +40,9 @@ diff -up mysql-5.5.15/mysys/my_gethwaddr.c.netdevname mysql-5.5.15/mysys/my_geth
|
||||
{
|
||||
- memcpy(to, &ifr.ifr_hwaddr.sa_data, ETHER_ADDR_LEN);
|
||||
- res= memcmp(to, zero_array, ETHER_ADDR_LEN) ? 0 : 1;
|
||||
+ bzero(&ifr, sizeof(ifr));
|
||||
+ memset(&ifr, 0, sizeof(ifr));
|
||||
+ strncpy(ifr.ifr_name, ifri->ifr_name, sizeof(ifr.ifr_name));
|
||||
+
|
||||
+
|
||||
+ /* Get HW address */
|
||||
+ if (ioctl(fd, SIOCGIFHWADDR, &ifr) >= 0)
|
||||
+ {
|
||||
@ -52,8 +52,7 @@ diff -up mysql-5.5.15/mysys/my_gethwaddr.c.netdevname mysql-5.5.15/mysys/my_geth
|
||||
+ }
|
||||
}
|
||||
- } while (res && (errno == 0 || errno == ENODEV) && ifr.ifr_name[3]++ < '6');
|
||||
-
|
||||
+ }
|
||||
|
||||
close(fd);
|
||||
err:
|
||||
return res;
|
@ -1,42 +0,0 @@
|
||||
Fix plugin boolean variables to receive the value "1", not "-1", when they
|
||||
are set to 1. Aside from being bizarre, the existing behavior is unportable:
|
||||
machines where char is unsigned print "255" instead. Filed upstream at
|
||||
http://bugs.mysql.com/bug.php?id=59905
|
||||
|
||||
|
||||
diff -up mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result.p10 mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result
|
||||
--- mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result.p10 2012-08-29 10:50:47.000000000 +0200
|
||||
+++ mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result 2012-12-06 14:20:53.078755855 +0100
|
||||
@@ -45,7 +45,7 @@ set session rpl_semi_sync_master_enabled
|
||||
ERROR HY000: Variable 'rpl_semi_sync_master_enabled' is a GLOBAL variable and should be set with SET GLOBAL
|
||||
select @@global.rpl_semi_sync_master_enabled;
|
||||
@@global.rpl_semi_sync_master_enabled
|
||||
--1
|
||||
+1
|
||||
select @@session.rpl_semi_sync_master_enabled;
|
||||
ERROR HY000: Variable 'rpl_semi_sync_master_enabled' is a GLOBAL variable
|
||||
show global variables like 'rpl_semi_sync_master_enabled';
|
||||
diff -up mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result.p10 mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result
|
||||
--- mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result.p10 2012-08-29 10:50:47.000000000 +0200
|
||||
+++ mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result 2012-12-06 14:20:53.078755855 +0100
|
||||
@@ -45,7 +45,7 @@ set session rpl_semi_sync_slave_enabled=
|
||||
ERROR HY000: Variable 'rpl_semi_sync_slave_enabled' is a GLOBAL variable and should be set with SET GLOBAL
|
||||
select @@global.rpl_semi_sync_slave_enabled;
|
||||
@@global.rpl_semi_sync_slave_enabled
|
||||
--1
|
||||
+1
|
||||
select @@session.rpl_semi_sync_slave_enabled;
|
||||
ERROR HY000: Variable 'rpl_semi_sync_slave_enabled' is a GLOBAL variable
|
||||
show global variables like 'rpl_semi_sync_slave_enabled';
|
||||
diff -up mysql-5.5.28/sql/sql_plugin.cc.p10 mysql-5.5.28/sql/sql_plugin.cc
|
||||
--- mysql-5.5.28/sql/sql_plugin.cc.p10 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/sql/sql_plugin.cc 2012-12-06 14:20:53.078755855 +0100
|
||||
@@ -2094,7 +2094,7 @@ static int check_func_bool(THD *thd, str
|
||||
goto err;
|
||||
result= (int) tmp;
|
||||
}
|
||||
- *(my_bool *) save= -result;
|
||||
+ *(my_bool *) save= result ? true : false;
|
||||
return 0;
|
||||
err:
|
||||
return 1;
|
@ -1,96 +0,0 @@
|
||||
mysql_plugin.test fails when run in mysql-test RPM, though the build-time
|
||||
regression test is OK. This patch is from the pre-existing upstream bug
|
||||
report, except we also fix the part that tries to scribble on the
|
||||
read-only-to-us plugin directory.
|
||||
|
||||
rhbz #789530, upstream at http://bugs.mysql.com/bug.php?id=62907
|
||||
|
||||
|
||||
diff -up mysql-5.5.31/mysql-test/t/mysql_plugin-master.opt.p17 mysql-5.5.31/mysql-test/t/mysql_plugin-master.opt
|
||||
--- mysql-5.5.31/mysql-test/t/mysql_plugin-master.opt.p17 2013-03-25 14:14:58.000000000 +0100
|
||||
+++ mysql-5.5.31/mysql-test/t/mysql_plugin-master.opt 2013-04-19 13:38:23.761741532 +0200
|
||||
@@ -1 +1 @@
|
||||
---plugin-dir=$DAEMONEXAMPLE_DIR
|
||||
+--plugin-dir=$MYSQLTEST_VARDIR/plugin
|
||||
diff -up mysql-5.5.31/mysql-test/t/mysql_plugin.test.p17 mysql-5.5.31/mysql-test/t/mysql_plugin.test
|
||||
--- mysql-5.5.31/mysql-test/t/mysql_plugin.test.p17 2013-03-25 14:14:58.000000000 +0100
|
||||
+++ mysql-5.5.31/mysql-test/t/mysql_plugin.test 2013-04-19 13:38:25.606742145 +0200
|
||||
@@ -25,8 +25,10 @@
|
||||
# Add the datadir, basedir, plugin_dir to the bootstrap command
|
||||
let $MYSQLD_DATADIR= `select @@datadir`;
|
||||
let $MYSQL_BASEDIR= `select @@basedir`;
|
||||
+let $MYSQLD_TMP_BASEDIR= $MYSQLTEST_VARDIR/tmp;
|
||||
let $MYSQL_ERRMSG_BASEDIR=`select @@lc_messages_dir`;
|
||||
let $PLUGIN_DIR=`select @@plugin_dir`;
|
||||
+let $PLUGIN_BASEDIR=$DAEMONEXAMPLE_DIR;
|
||||
|
||||
--disable_abort_on_error
|
||||
|
||||
@@ -51,10 +53,11 @@ use File::Basename;
|
||||
{
|
||||
print FILE "let \$DAEMONEXAMPLE_DIR= $not_found;\n";
|
||||
}
|
||||
- if ((!-e $plugindir_ini) || (!-r $plugindir_ini))
|
||||
- {
|
||||
- print FILE "let \$PLUGIN_DIR= $not_found;\n";
|
||||
- }
|
||||
+# This test doesn't work because $ENV{PLUGIN_DIR} is empty
|
||||
+# if ((!-e $plugindir_ini) || (!-r $plugindir_ini))
|
||||
+# {
|
||||
+# print FILE "let \$PLUGIN_DIR= $not_found;\n";
|
||||
+# }
|
||||
close FILE;
|
||||
EOF
|
||||
|
||||
@@ -66,10 +69,14 @@ remove_file $MYSQL_TMP_DIR/mysqld.inc;
|
||||
# mysql version, so errmsg.sys will be copied to "basedir/share", we create
|
||||
# and remove this structure.
|
||||
|
||||
---mkdir $MYSQLD_BASEDIR/share
|
||||
---mkdir $MYSQLD_BASEDIR/share/mysql
|
||||
---copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_BASEDIR/share/errmsg.sys
|
||||
---copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_BASEDIR/share/mysql/errmsg.sys
|
||||
+--mkdir $MYSQLD_TMP_BASEDIR/share
|
||||
+--mkdir $MYSQLD_TMP_BASEDIR/share/community-mysql
|
||||
+--mkdir $PLUGIN_DIR
|
||||
+--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/errmsg.sys
|
||||
+--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/community-mysql/errmsg.sys
|
||||
+--copy_file $PLUGIN_BASEDIR/libdaemon_example.so $PLUGIN_DIR/libdaemon_example.so
|
||||
+--copy_file $PLUGIN_BASEDIR/daemon_example.ini $PLUGIN_DIR/daemon_example.ini
|
||||
+
|
||||
|
||||
# The mysql_plugin tool now accepts --my-print-defaults which points to the
|
||||
# executable my_print_defaults.exe we can get this path from the variable
|
||||
@@ -100,7 +107,7 @@ if ($PLUGIN_DIR == '')
|
||||
|
||||
# Build client command for reuse.
|
||||
|
||||
-let $MYSQL_PLUGIN_CMD= $MYSQL_PLUGIN --datadir=$MYSQLD_DATADIR --basedir=$MYSQLD_BASEDIR --plugin-dir=$PLUGIN_DIR --mysqld=$MYSQLD_BASEDIR --my-print-defaults=$MYSQL_MY_PRINT_DEFAULTS_BASEDIR;
|
||||
+let $MYSQL_PLUGIN_CMD= $MYSQL_PLUGIN --datadir=$MYSQLD_DATADIR --basedir=$MYSQLD_TMP_BASEDIR --plugin-dir=$PLUGIN_DIR --mysqld=$MYSQLD_BASEDIR --my-print-defaults=$MYSQL_MY_PRINT_DEFAULTS_BASEDIR;
|
||||
|
||||
--echo #
|
||||
--echo # Ensure the plugin isn't loaded.
|
||||
@@ -184,7 +191,7 @@ SELECT * FROM mysql.plugin WHERE dl like
|
||||
# we must copy the example daemon to a new location renaming it.
|
||||
|
||||
let $DAEMON_RELOAD = lib$DAEMONEXAMPLE;
|
||||
---copy_file $PLUGIN_DIR/$DAEMONEXAMPLE $PLUGIN_DIR/$DAEMON_RELOAD
|
||||
+--copy_file $PLUGIN_BASEDIR/$DAEMONEXAMPLE $PLUGIN_DIR/$DAEMON_RELOAD
|
||||
--copy_file include/libdaemon_example.ini $PLUGIN_DIR/libdaemon_example.ini
|
||||
|
||||
# Now reload it and see that it is a different name.
|
||||
@@ -361,8 +368,11 @@ replace_result $MYSQL_PLUGIN mysql_plugi
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
|
||||
# Cleanup the share folder in the binary path.
|
||||
---remove_file $MYSQLD_BASEDIR/share/errmsg.sys
|
||||
---rmdir $MYSQLD_BASEDIR/share/mysql
|
||||
---rmdir $MYSQLD_BASEDIR/share
|
||||
+--remove_file $PLUGIN_DIR/daemon_example.ini
|
||||
+--remove_file $PLUGIN_DIR/libdaemon_example.so
|
||||
+--rmdir $PLUGIN_DIR
|
||||
+--remove_file $MYSQLD_TMP_BASEDIR/share/errmsg.sys
|
||||
+--rmdir $MYSQLD_TMP_BASEDIR/share/community-mysql
|
||||
+--rmdir $MYSQLD_TMP_BASEDIR/share
|
||||
|
||||
--enable_abort_on_error
|
@ -12,9 +12,9 @@ MySQL bug report: http://bugs.mysql.com/bug.php?id=51771
|
||||
MariaDB bug report: https://mariadb.atlassian.net/browse/MDEV-4573
|
||||
MariaDB fix: http://bazaar.launchpad.net/~maria-captains/maria/5.5/revision/3802
|
||||
|
||||
diff -up mysql-5.5.33/include/mysql.h.p30 mysql-5.5.33/include/mysql.h
|
||||
--- mysql-5.5.33/include/mysql.h.p30 2013-07-15 14:01:50.000000000 +0200
|
||||
+++ mysql-5.5.33/include/mysql.h 2013-08-20 17:26:56.745334059 +0200
|
||||
diff -up mysql-5.6.14/include/mysql.h.p34 mysql-5.6.14/include/mysql.h
|
||||
--- mysql-5.6.14/include/mysql.h.p34 2013-09-10 09:38:25.000000000 +0200
|
||||
+++ mysql-5.6.14/include/mysql.h 2013-10-09 15:33:04.523541478 +0200
|
||||
@@ -134,6 +134,7 @@ typedef unsigned long long my_ulonglong;
|
||||
|
||||
/* backward compatibility define - to be removed eventually */
|
||||
@ -23,19 +23,19 @@ diff -up mysql-5.5.33/include/mysql.h.p30 mysql-5.5.33/include/mysql.h
|
||||
|
||||
typedef struct st_mysql_rows {
|
||||
struct st_mysql_rows *next; /* list of rows */
|
||||
diff -up mysql-5.5.33/mysql-test/r/plugin.result.p30 mysql-5.5.33/mysql-test/r/plugin.result
|
||||
--- mysql-5.5.33/mysql-test/r/plugin.result.p30 2013-07-15 14:01:49.000000000 +0200
|
||||
+++ mysql-5.5.33/mysql-test/r/plugin.result 2013-08-20 17:26:56.746334059 +0200
|
||||
@@ -143,3 +143,5 @@ SELECT @@SESSION.example_double_thdvar;
|
||||
diff -up mysql-5.6.14/mysql-test/r/plugin.result.p34 mysql-5.6.14/mysql-test/r/plugin.result
|
||||
--- mysql-5.6.14/mysql-test/r/plugin.result.p34 2013-09-10 09:38:27.000000000 +0200
|
||||
+++ mysql-5.6.14/mysql-test/r/plugin.result 2013-10-09 15:33:04.523541478 +0200
|
||||
@@ -162,3 +162,5 @@ SELECT @@SESSION.example_double_thdvar;
|
||||
@@SESSION.example_double_thdvar
|
||||
1000.500000
|
||||
UNINSTALL PLUGIN example;
|
||||
+UNINSTALL PLUGIN MyISAM;
|
||||
+ERROR HY000: Built-in plugins cannot be deleted
|
||||
diff -up mysql-5.5.33/mysql-test/t/plugin.test.p30 mysql-5.5.33/mysql-test/t/plugin.test
|
||||
--- mysql-5.5.33/mysql-test/t/plugin.test.p30 2013-07-15 14:01:49.000000000 +0200
|
||||
+++ mysql-5.5.33/mysql-test/t/plugin.test 2013-08-20 17:26:56.746334059 +0200
|
||||
@@ -137,3 +137,10 @@ SET SESSION example_double_thdvar = 1000
|
||||
diff -up mysql-5.6.14/mysql-test/t/plugin.test.p34 mysql-5.6.14/mysql-test/t/plugin.test
|
||||
--- mysql-5.6.14/mysql-test/t/plugin.test.p34 2013-09-10 09:38:27.000000000 +0200
|
||||
+++ mysql-5.6.14/mysql-test/t/plugin.test 2013-10-09 15:33:04.524541479 +0200
|
||||
@@ -160,3 +160,10 @@ SET SESSION example_double_thdvar = 1000
|
||||
SELECT @@SESSION.example_double_thdvar;
|
||||
|
||||
UNINSTALL PLUGIN example;
|
||||
@ -46,10 +46,10 @@ diff -up mysql-5.5.33/mysql-test/t/plugin.test.p30 mysql-5.5.33/mysql-test/t/plu
|
||||
+--error ER_PLUGIN_DELETE_BUILTIN
|
||||
+UNINSTALL PLUGIN MyISAM;
|
||||
+
|
||||
diff -up mysql-5.5.33/sql/share/errmsg-utf8.txt.p30 mysql-5.5.33/sql/share/errmsg-utf8.txt
|
||||
--- mysql-5.5.33/sql/share/errmsg-utf8.txt.p30 2013-07-15 14:01:50.000000000 +0200
|
||||
+++ mysql-5.5.33/sql/share/errmsg-utf8.txt 2013-08-20 17:26:56.750334057 +0200
|
||||
@@ -6161,7 +6161,7 @@ WARN_NO_MASTER_INFO
|
||||
diff -up mysql-5.6.14/sql/share/errmsg-utf8.txt.p34 mysql-5.6.14/sql/share/errmsg-utf8.txt
|
||||
--- mysql-5.6.14/sql/share/errmsg-utf8.txt.p34 2013-09-10 09:38:26.000000000 +0200
|
||||
+++ mysql-5.6.14/sql/share/errmsg-utf8.txt 2013-10-09 15:33:04.525541480 +0200
|
||||
@@ -6235,7 +6235,7 @@ WARN_NO_MASTER_INFO
|
||||
WARN_OPTION_IGNORED
|
||||
eng "<%-.64s> option ignored"
|
||||
ger "Option <%-.64s> ignoriert"
|
||||
@ -58,14 +58,14 @@ diff -up mysql-5.5.33/sql/share/errmsg-utf8.txt.p30 mysql-5.5.33/sql/share/errms
|
||||
eng "Built-in plugins cannot be deleted"
|
||||
ger "Eingebaute Plugins können nicht gelöscht werden"
|
||||
WARN_PLUGIN_BUSY
|
||||
diff -up mysql-5.5.33/sql/sql_plugin.cc.p30 mysql-5.5.33/sql/sql_plugin.cc
|
||||
--- mysql-5.5.33/sql/sql_plugin.cc.p30 2013-08-20 17:26:56.640334104 +0200
|
||||
+++ mysql-5.5.33/sql/sql_plugin.cc 2013-08-20 17:26:56.752334057 +0200
|
||||
@@ -1909,9 +1909,7 @@ bool mysql_uninstall_plugin(THD *thd, co
|
||||
diff -up mysql-5.6.14/sql/sql_plugin.cc.p34 mysql-5.6.14/sql/sql_plugin.cc
|
||||
--- mysql-5.6.14/sql/sql_plugin.cc.p34 2013-10-09 15:33:04.527541481 +0200
|
||||
+++ mysql-5.6.14/sql/sql_plugin.cc 2013-10-09 15:34:30.760598323 +0200
|
||||
@@ -1979,9 +1979,7 @@ bool mysql_uninstall_plugin(THD *thd, co
|
||||
}
|
||||
if (!plugin->plugin_dl)
|
||||
{
|
||||
- push_warning(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
|
||||
- push_warning(thd, Sql_condition::WARN_LEVEL_WARN,
|
||||
- WARN_PLUGIN_DELETE_BUILTIN, ER(WARN_PLUGIN_DELETE_BUILTIN));
|
||||
- my_error(ER_SP_DOES_NOT_EXIST, MYF(0), "PLUGIN", name->str);
|
||||
+ my_error(ER_PLUGIN_DELETE_BUILTIN, MYF(0));
|
@ -1,139 +0,0 @@
|
||||
mysql is not accounting for the "guard page" when setting thread stack size
|
||||
requests. This is fatal on PPC systems, which may use guard pages as large
|
||||
as 64K. This patch also documents the IA64 situation a bit better.
|
||||
|
||||
Note: there are quite a few other setstacksize calls besides the two in
|
||||
mysqld.cc; is it important to fix any of the others?
|
||||
|
||||
Filed upstream at http://bugs.mysql.com/bug.php?id=35019
|
||||
|
||||
|
||||
diff -up mysql-5.5.28/sql/mysqld.cc.p5 mysql-5.5.28/sql/mysqld.cc
|
||||
--- mysql-5.5.28/sql/mysqld.cc.p5 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/sql/mysqld.cc 2012-12-06 14:13:59.765407494 +0100
|
||||
@@ -2599,6 +2599,70 @@ static void init_signals(void)
|
||||
}
|
||||
|
||||
|
||||
+/* pthread_attr_setstacksize without so much platform-dependency */
|
||||
+/* returns the actual stack size if possible */
|
||||
+static size_t my_setstacksize(pthread_attr_t *attr, size_t stacksize)
|
||||
+{
|
||||
+ size_t guard_size = 0;
|
||||
+
|
||||
+#if defined(__ia64__) || defined(__ia64)
|
||||
+ /*
|
||||
+ On IA64, half of the requested stack size is used for "normal stack"
|
||||
+ and half for "register stack". The space measured by check_stack_overrun
|
||||
+ is the "normal stack", so double the request to make sure we have the
|
||||
+ caller-expected amount of normal stack.
|
||||
+
|
||||
+ NOTE: there is no guarantee that the register stack can't grow faster
|
||||
+ than normal stack, so it's very unclear that we won't dump core due to
|
||||
+ stack overrun despite check_stack_overrun's efforts. Experimentation
|
||||
+ shows that in the execution_constants test, the register stack grows
|
||||
+ less than half as fast as normal stack, but perhaps other scenarios are
|
||||
+ less forgiving. If it turns out that more space is needed for the
|
||||
+ register stack, that could be forced (rather inefficiently) by using a
|
||||
+ multiplier higher than 2 here.
|
||||
+ */
|
||||
+ stacksize *= 2;
|
||||
+#endif
|
||||
+
|
||||
+ /*
|
||||
+ On many machines, the "guard space" is subtracted from the requested
|
||||
+ stack size, and that space is quite large on some platforms. So add
|
||||
+ it to our request, if we can find out what it is.
|
||||
+
|
||||
+ FIXME: autoconfiscate use of pthread_attr_getguardsize
|
||||
+ */
|
||||
+ if (pthread_attr_getguardsize(attr, &guard_size))
|
||||
+ guard_size = 0; /* if can't find it out, treat as 0 */
|
||||
+
|
||||
+ pthread_attr_setstacksize(attr, stacksize + guard_size);
|
||||
+
|
||||
+ /* Retrieve actual stack size if possible */
|
||||
+#ifdef HAVE_PTHREAD_ATTR_GETSTACKSIZE
|
||||
+ {
|
||||
+ size_t real_stack_size= 0;
|
||||
+ /* We must ignore real_stack_size = 0 as Solaris 2.9 can return 0 here */
|
||||
+ if (pthread_attr_getstacksize(attr, &real_stack_size) == 0 &&
|
||||
+ real_stack_size > guard_size)
|
||||
+ {
|
||||
+ real_stack_size -= guard_size;
|
||||
+ if (real_stack_size < stacksize)
|
||||
+ {
|
||||
+ if (global_system_variables.log_warnings)
|
||||
+ sql_print_warning("Asked for %ld thread stack, but got %ld",
|
||||
+ (long) stacksize, (long) real_stack_size);
|
||||
+ stacksize= real_stack_size;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
+#if defined(__ia64__) || defined(__ia64)
|
||||
+ stacksize /= 2;
|
||||
+#endif
|
||||
+ return stacksize;
|
||||
+}
|
||||
+
|
||||
+
|
||||
static void start_signal_handler(void)
|
||||
{
|
||||
int error;
|
||||
@@ -2609,15 +2673,7 @@ static void start_signal_handler(void)
|
||||
#if !defined(HAVE_DEC_3_2_THREADS)
|
||||
pthread_attr_setscope(&thr_attr,PTHREAD_SCOPE_SYSTEM);
|
||||
(void) pthread_attr_setdetachstate(&thr_attr,PTHREAD_CREATE_DETACHED);
|
||||
-#if defined(__ia64__) || defined(__ia64)
|
||||
- /*
|
||||
- Peculiar things with ia64 platforms - it seems we only have half the
|
||||
- stack size in reality, so we have to double it here
|
||||
- */
|
||||
- pthread_attr_setstacksize(&thr_attr,my_thread_stack_size*2);
|
||||
-#else
|
||||
- pthread_attr_setstacksize(&thr_attr,my_thread_stack_size);
|
||||
-#endif
|
||||
+ (void) my_setstacksize(&thr_attr,my_thread_stack_size);
|
||||
#endif
|
||||
|
||||
mysql_mutex_lock(&LOCK_thread_count);
|
||||
@@ -4398,36 +4454,8 @@ int mysqld_main(int argc, char **argv)
|
||||
unireg_abort(1); // Will do exit
|
||||
|
||||
init_signals();
|
||||
-#if defined(__ia64__) || defined(__ia64)
|
||||
- /*
|
||||
- Peculiar things with ia64 platforms - it seems we only have half the
|
||||
- stack size in reality, so we have to double it here
|
||||
- */
|
||||
- pthread_attr_setstacksize(&connection_attrib,my_thread_stack_size*2);
|
||||
-#else
|
||||
- pthread_attr_setstacksize(&connection_attrib,my_thread_stack_size);
|
||||
-#endif
|
||||
#ifdef HAVE_PTHREAD_ATTR_GETSTACKSIZE
|
||||
- {
|
||||
- /* Retrieve used stack size; Needed for checking stack overflows */
|
||||
- size_t stack_size= 0;
|
||||
- pthread_attr_getstacksize(&connection_attrib, &stack_size);
|
||||
-#if defined(__ia64__) || defined(__ia64)
|
||||
- stack_size/= 2;
|
||||
-#endif
|
||||
- /* We must check if stack_size = 0 as Solaris 2.9 can return 0 here */
|
||||
- if (stack_size && stack_size < my_thread_stack_size)
|
||||
- {
|
||||
- if (global_system_variables.log_warnings)
|
||||
- sql_print_warning("Asked for %lu thread stack, but got %ld",
|
||||
- my_thread_stack_size, (long) stack_size);
|
||||
-#if defined(__ia64__) || defined(__ia64)
|
||||
- my_thread_stack_size= stack_size*2;
|
||||
-#else
|
||||
- my_thread_stack_size= stack_size;
|
||||
-#endif
|
||||
- }
|
||||
- }
|
||||
+ my_thread_stack_size = my_setstacksize(&connection_attrib,my_thread_stack_size);
|
||||
#endif
|
||||
|
||||
(void) thr_setconcurrency(concurrency); // 10 by default
|
@ -7,28 +7,27 @@ Filed upstream at http://bugs.mysql.com/bug.php?id=64631
|
||||
Error: BUFFER_SIZE_WARNING:
|
||||
/builddir/build/BUILD/mysql-5.1.61/sql/sql_prepare.cc:2749: buffer_size_warning: Calling strncpy with a maximum size argument of 512 bytes on destination array "this->stmt->last_error" of size 512 bytes might leave the destination string unterminated.
|
||||
|
||||
diff -up mysql-5.5.28/sql/sql_prepare.cc.p20 mysql-5.5.28/sql/sql_prepare.cc
|
||||
--- mysql-5.5.28/sql/sql_prepare.cc.p20 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/sql/sql_prepare.cc 2012-12-06 14:27:28.647087401 +0100
|
||||
@@ -2879,7 +2879,7 @@ void mysql_stmt_get_longdata(THD *thd, c
|
||||
diff -up mysql-5.6.10/sql/sql_prepare.cc.orig mysql-5.6.10/sql/sql_prepare.cc
|
||||
--- mysql-5.6.10/sql/sql_prepare.cc.orig 2013-01-22 17:54:50.000000000 +0100
|
||||
+++ mysql-5.6.10/sql/sql_prepare.cc 2013-02-19 15:50:53.257150632 +0100
|
||||
@@ -2956,7 +2956,7 @@ void mysql_stmt_get_longdata(THD *thd, c
|
||||
{
|
||||
stmt->state= Query_arena::STMT_ERROR;
|
||||
stmt->last_errno= thd->stmt_da->sql_errno();
|
||||
- strncpy(stmt->last_error, thd->stmt_da->message(), MYSQL_ERRMSG_SIZE);
|
||||
+ strncpy(stmt->last_error, thd->stmt_da->message(), sizeof(stmt->last_error)-1);
|
||||
stmt->last_errno= thd->get_stmt_da()->sql_errno();
|
||||
- strncpy(stmt->last_error, thd->get_stmt_da()->message(), MYSQL_ERRMSG_SIZE);
|
||||
+ strncpy(stmt->last_error, thd->get_stmt_da()->message(), sizeof(stmt->last_error)-1);
|
||||
}
|
||||
thd->stmt_da= save_stmt_da;
|
||||
thd->warning_info= save_warinig_info;
|
||||
thd->set_stmt_da(save_stmt_da);
|
||||
|
||||
|
||||
Error: STRING_OVERFLOW:
|
||||
/builddir/build/BUILD/mysql-5.1.61/sql/sql_trigger.cc:2194: fixed_size_dest: You might overrun the 512 byte fixed-size string "this->m_parse_error_message" by copying "error_message" without checking the length.
|
||||
/builddir/build/BUILD/mysql-5.1.61/sql/sql_trigger.cc:2194: parameter_as_source: Note: This defect has an elevated risk because the source argument is a parameter of the current function.
|
||||
|
||||
diff -up mysql-5.5.28/sql/sql_trigger.cc.p20 mysql-5.5.28/sql/sql_trigger.cc
|
||||
--- mysql-5.5.28/sql/sql_trigger.cc.p20 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/sql/sql_trigger.cc 2012-12-06 14:27:28.648087398 +0100
|
||||
@@ -2260,7 +2260,7 @@ void Table_triggers_list::mark_fields_us
|
||||
diff -up mysql-5.6.10/sql/sql_trigger.cc.orig mysql-5.6.10/sql/sql_trigger.cc
|
||||
--- mysql-5.6.10/sql/sql_trigger.cc.orig 2013-01-22 17:54:50.000000000 +0100
|
||||
+++ mysql-5.6.10/sql/sql_trigger.cc 2013-02-19 16:01:10.605885117 +0100
|
||||
@@ -2303,7 +2303,7 @@ void Table_triggers_list::mark_fields_us
|
||||
void Table_triggers_list::set_parse_error_message(char *error_message)
|
||||
{
|
||||
m_has_unparseable_trigger= true;
|
||||
@ -37,21 +36,3 @@ diff -up mysql-5.5.28/sql/sql_trigger.cc.p20 mysql-5.5.28/sql/sql_trigger.cc
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Error: STRING_OVERFLOW:
|
||||
/builddir/build/BUILD/mysql-5.1.61/storage/innodb_plugin/handler/ha_innodb.cc:6544: fixed_size_dest: You might overrun the 512 byte fixed-size string "name2" by copying "name" without checking the length.
|
||||
/builddir/build/BUILD/mysql-5.1.61/storage/innodb_plugin/handler/ha_innodb.cc:6544: parameter_as_source: Note: This defect has an elevated risk because the source argument is a parameter of the current function.
|
||||
|
||||
diff -up mysql-5.5.28/storage/innobase/handler/ha_innodb.cc.p20 mysql-5.5.28/storage/innobase/handler/ha_innodb.cc
|
||||
--- mysql-5.5.28/storage/innobase/handler/ha_innodb.cc.p20 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/storage/innobase/handler/ha_innodb.cc 2012-12-06 14:27:28.653087416 +0100
|
||||
@@ -7054,7 +7054,7 @@ ha_innobase::create(
|
||||
|
||||
ut_a(strlen(name) < sizeof(name2));
|
||||
|
||||
- strcpy(name2, name);
|
||||
+ strncpy(name2, name, sizeof(name2)-1);
|
||||
|
||||
normalize_table_name(norm_name, name2);
|
||||
|
@ -13,11 +13,11 @@ of any real performance gain from optimizing these calls. So I'm keeping
|
||||
this patch.
|
||||
|
||||
|
||||
diff -up mysql-5.5.28/include/m_string.h.p2 mysql-5.5.28/include/m_string.h
|
||||
--- mysql-5.5.28/include/m_string.h.p2 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/include/m_string.h 2012-12-06 14:12:31.225333542 +0100
|
||||
@@ -77,15 +77,6 @@ extern "C" {
|
||||
extern void *(*my_str_malloc)(size_t);
|
||||
diff -up mysql-5.6.10/include/m_string.h.orig mysql-5.6.10/include/m_string.h
|
||||
--- mysql-5.6.10/include/m_string.h.orig 2013-01-22 17:54:49.000000000 +0100
|
||||
+++ mysql-5.6.10/include/m_string.h 2013-02-19 14:12:58.866241727 +0100
|
||||
@@ -65,15 +65,6 @@ extern void *(*my_str_malloc)(size_t);
|
||||
extern void *(*my_str_realloc)(void *, size_t);
|
||||
extern void (*my_str_free)(void *);
|
||||
|
||||
-#if defined(HAVE_STPCPY) && MY_GNUC_PREREQ(3, 4) && !defined(__INTEL_COMPILER)
|
@ -10,10 +10,10 @@ RHBZ#962087
|
||||
Upstream bug report: https://mariadb.atlassian.net/browse/MDEV-4165
|
||||
MySQL bug report: http://bugs.mysql.com/bug.php?id=68338
|
||||
|
||||
diff -up mysql-5.5.31/CMakeLists.txt.tmpdir mysql-5.5.31/CMakeLists.txt
|
||||
--- mysql-5.5.31/CMakeLists.txt.tmpdir 2013-06-03 15:14:51.149345233 +0200
|
||||
+++ mysql-5.5.31/CMakeLists.txt 2013-06-03 15:29:23.263489056 +0200
|
||||
@@ -253,6 +253,10 @@ IF(SYSCONFDIR)
|
||||
diff -up mysql-5.6.14/CMakeLists.txt.tmpdir mysql-5.6.14/CMakeLists.txt
|
||||
--- mysql-5.6.14/CMakeLists.txt.tmpdir 2013-09-10 09:38:25.000000000 +0200
|
||||
+++ mysql-5.6.14/CMakeLists.txt 2013-10-09 14:49:14.115887439 +0200
|
||||
@@ -309,6 +309,10 @@ IF(SYSCONFDIR)
|
||||
SET(DEFAULT_SYSCONFDIR "${SYSCONFDIR}")
|
||||
ENDIF()
|
||||
|
||||
@ -24,10 +24,10 @@ diff -up mysql-5.5.31/CMakeLists.txt.tmpdir mysql-5.5.31/CMakeLists.txt
|
||||
|
||||
# Run platform tests
|
||||
INCLUDE(configure.cmake)
|
||||
diff -up mysql-5.5.31/config.h.cmake.tmpdir mysql-5.5.31/config.h.cmake
|
||||
--- mysql-5.5.31/config.h.cmake.tmpdir 2013-03-25 14:14:58.000000000 +0100
|
||||
+++ mysql-5.5.31/config.h.cmake 2013-06-03 15:14:51.149345233 +0200
|
||||
@@ -600,6 +600,7 @@
|
||||
diff -up mysql-5.6.14/config.h.cmake.tmpdir mysql-5.6.14/config.h.cmake
|
||||
--- mysql-5.6.14/config.h.cmake.tmpdir 2013-09-10 09:38:25.000000000 +0200
|
||||
+++ mysql-5.6.14/config.h.cmake 2013-10-09 14:49:14.115887439 +0200
|
||||
@@ -636,6 +636,7 @@
|
||||
#cmakedefine DEFAULT_CHARSET_HOME "@DEFAULT_CHARSET_HOME@"
|
||||
#cmakedefine PLUGINDIR "@PLUGINDIR@"
|
||||
#cmakedefine DEFAULT_SYSCONFDIR "@DEFAULT_SYSCONFDIR@"
|
||||
@ -35,13 +35,13 @@ diff -up mysql-5.5.31/config.h.cmake.tmpdir mysql-5.5.31/config.h.cmake
|
||||
|
||||
#cmakedefine SO_EXT "@CMAKE_SHARED_MODULE_SUFFIX@"
|
||||
|
||||
diff -up mysql-5.5.31/include/my_global.h.tmpdir mysql-5.5.31/include/my_global.h
|
||||
--- mysql-5.5.31/include/my_global.h.tmpdir 2013-03-25 14:14:58.000000000 +0100
|
||||
+++ mysql-5.5.31/include/my_global.h 2013-06-03 15:14:51.150345232 +0200
|
||||
@@ -1501,4 +1501,11 @@ static inline double rint(double x)
|
||||
|
||||
#endif /* EMBEDDED_LIBRARY */
|
||||
diff -up mysql-5.6.14/include/my_global.h.tmpdir mysql-5.6.14/include/my_global.h
|
||||
--- mysql-5.6.14/include/my_global.h.tmpdir 2013-09-10 09:38:25.000000000 +0200
|
||||
+++ mysql-5.6.14/include/my_global.h 2013-10-09 14:49:14.116887439 +0200
|
||||
@@ -1219,3 +1219,10 @@ typedef struct
|
||||
#endif
|
||||
|
||||
#endif // MY_GLOBAL_INCLUDED
|
||||
+/*
|
||||
+ Define default tmpdir if not already set.
|
||||
+*/
|
||||
@ -49,11 +49,10 @@ diff -up mysql-5.5.31/include/my_global.h.tmpdir mysql-5.5.31/include/my_global.
|
||||
+#define DEFAULT_TMPDIR P_tmpdir
|
||||
+#endif
|
||||
+
|
||||
#endif /* my_global_h */
|
||||
diff -up mysql-5.5.31/libmysqld/lib_sql.cc.tmpdir mysql-5.5.31/libmysqld/lib_sql.cc
|
||||
--- mysql-5.5.31/libmysqld/lib_sql.cc.tmpdir 2013-03-25 14:14:58.000000000 +0100
|
||||
+++ mysql-5.5.31/libmysqld/lib_sql.cc 2013-06-03 15:14:51.150345232 +0200
|
||||
@@ -558,7 +558,7 @@ int init_embedded_server(int argc, char
|
||||
diff -up mysql-5.6.14/libmysqld/lib_sql.cc.tmpdir mysql-5.6.14/libmysqld/lib_sql.cc
|
||||
--- mysql-5.6.14/libmysqld/lib_sql.cc.tmpdir 2013-09-10 09:38:26.000000000 +0200
|
||||
+++ mysql-5.6.14/libmysqld/lib_sql.cc 2013-10-09 14:49:14.116887439 +0200
|
||||
@@ -587,7 +587,7 @@ int init_embedded_server(int argc, char
|
||||
opt_mysql_tmpdir=getenv("TMP");
|
||||
#endif
|
||||
if (!opt_mysql_tmpdir || !opt_mysql_tmpdir[0])
|
||||
@ -62,9 +61,9 @@ diff -up mysql-5.5.31/libmysqld/lib_sql.cc.tmpdir mysql-5.5.31/libmysqld/lib_sql
|
||||
|
||||
init_ssl();
|
||||
umask(((~my_umask) & 0666));
|
||||
diff -up mysql-5.5.31/mysys/mf_tempdir.c.tmpdir mysql-5.5.31/mysys/mf_tempdir.c
|
||||
--- mysql-5.5.31/mysys/mf_tempdir.c.tmpdir 2013-03-25 14:14:58.000000000 +0100
|
||||
+++ mysql-5.5.31/mysys/mf_tempdir.c 2013-06-03 15:14:51.150345232 +0200
|
||||
diff -up mysql-5.6.14/mysys/mf_tempdir.c.tmpdir mysql-5.6.14/mysys/mf_tempdir.c
|
||||
--- mysql-5.6.14/mysys/mf_tempdir.c.tmpdir 2013-09-10 09:38:25.000000000 +0200
|
||||
+++ mysql-5.6.14/mysys/mf_tempdir.c 2013-10-09 14:49:14.116887439 +0200
|
||||
@@ -43,7 +43,7 @@ my_bool init_tmpdir(MY_TMPDIR *tmpdir, c
|
||||
pathlist=getenv("TMP");
|
||||
#endif
|
||||
@ -74,9 +73,9 @@ diff -up mysql-5.5.31/mysys/mf_tempdir.c.tmpdir mysql-5.5.31/mysys/mf_tempdir.c
|
||||
}
|
||||
do
|
||||
{
|
||||
diff -up mysql-5.5.31/mysys/mf_tempfile.c.tmpdir mysql-5.5.31/mysys/mf_tempfile.c
|
||||
--- mysql-5.5.31/mysys/mf_tempfile.c.tmpdir 2013-03-25 14:14:58.000000000 +0100
|
||||
+++ mysql-5.5.31/mysys/mf_tempfile.c 2013-06-03 15:14:51.150345232 +0200
|
||||
diff -up mysql-5.6.14/mysys/mf_tempfile.c.tmpdir mysql-5.6.14/mysys/mf_tempfile.c
|
||||
--- mysql-5.6.14/mysys/mf_tempfile.c.tmpdir 2013-09-10 09:38:25.000000000 +0200
|
||||
+++ mysql-5.6.14/mysys/mf_tempfile.c 2013-10-09 14:49:14.117887440 +0200
|
||||
@@ -111,7 +111,7 @@ File create_temp_file(char *to, const ch
|
||||
sizeof(prefix_buff)-7),"XXXXXX") -
|
||||
prefix_buff);
|
@ -1,55 +0,0 @@
|
||||
Fix unportable usage associated with va_list arguments. Passing "0" to
|
||||
a va_list argument only works if va_list is an integer or pointer type,
|
||||
which is not required by the C spec, and is not true on ARM for instance.
|
||||
Per bug #744707.
|
||||
|
||||
|
||||
diff -up mysql-5.5.28/sql-common/client_plugin.c.p12 mysql-5.5.28/sql-common/client_plugin.c
|
||||
--- mysql-5.5.28/sql-common/client_plugin.c.p12 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/sql-common/client_plugin.c 2012-12-06 14:22:54.494857607 +0100
|
||||
@@ -233,11 +233,13 @@ int mysql_client_plugin_init()
|
||||
{
|
||||
MYSQL mysql;
|
||||
struct st_mysql_client_plugin **builtin;
|
||||
+ va_list unused;
|
||||
|
||||
if (initialized)
|
||||
return 0;
|
||||
|
||||
bzero(&mysql, sizeof(mysql)); /* dummy mysql for set_mysql_extended_error */
|
||||
+ bzero(&unused, sizeof(unused)); /* suppress uninitialized-value warnings */
|
||||
|
||||
pthread_mutex_init(&LOCK_load_client_plugin, MY_MUTEX_INIT_SLOW);
|
||||
init_alloc_root(&mem_root, 128, 128);
|
||||
@@ -249,7 +251,7 @@ int mysql_client_plugin_init()
|
||||
pthread_mutex_lock(&LOCK_load_client_plugin);
|
||||
|
||||
for (builtin= mysql_client_builtins; *builtin; builtin++)
|
||||
- add_plugin(&mysql, *builtin, 0, 0, 0);
|
||||
+ add_plugin(&mysql, *builtin, 0, 0, unused);
|
||||
|
||||
pthread_mutex_unlock(&LOCK_load_client_plugin);
|
||||
|
||||
@@ -293,9 +295,13 @@ struct st_mysql_client_plugin *
|
||||
mysql_client_register_plugin(MYSQL *mysql,
|
||||
struct st_mysql_client_plugin *plugin)
|
||||
{
|
||||
+ va_list unused;
|
||||
+
|
||||
if (is_not_initialized(mysql, plugin->name))
|
||||
return NULL;
|
||||
|
||||
+ bzero(&unused, sizeof(unused)); /* suppress uninitialized-value warnings */
|
||||
+
|
||||
pthread_mutex_lock(&LOCK_load_client_plugin);
|
||||
|
||||
/* make sure the plugin wasn't loaded meanwhile */
|
||||
@@ -307,7 +313,7 @@ mysql_client_register_plugin(MYSQL *mysq
|
||||
plugin= NULL;
|
||||
}
|
||||
else
|
||||
- plugin= add_plugin(mysql, plugin, 0, 0, 0);
|
||||
+ plugin= add_plugin(mysql, plugin, 0, 0, unused);
|
||||
|
||||
pthread_mutex_unlock(&LOCK_load_client_plugin);
|
||||
return plugin;
|
@ -1,18 +0,0 @@
|
||||
The symbol versioning solution for libmysqlclient in mysql 5.1 was pretty
|
||||
awful (export everything) and as of 5.5.8 the cmake build scripts have
|
||||
forgotten the issue entirely. So we now maintain our own list of exported
|
||||
symbols and jam it into the build with this hack.
|
||||
|
||||
|
||||
diff -up mysql-5.5.28/libmysql/CMakeLists.txt.p7 mysql-5.5.28/libmysql/CMakeLists.txt
|
||||
--- mysql-5.5.28/libmysql/CMakeLists.txt.p7 2012-08-29 10:50:46.000000000 +0200
|
||||
+++ mysql-5.5.28/libmysql/CMakeLists.txt 2012-12-06 14:15:03.905461517 +0100
|
||||
@@ -209,7 +209,7 @@ IF(NOT DISABLE_SHARED)
|
||||
SET(libmysql_link_flags)
|
||||
ENDIF()
|
||||
SET_TARGET_PROPERTIES(libmysql PROPERTIES LINK_FLAGS
|
||||
- "${libmysql_link_flags} ${LINK_FLAG_NO_UNDEFINED}")
|
||||
+ "${libmysql_link_flags} -Wl,--version-script=libmysql.version ${LINK_FLAG_NO_UNDEFINED}")
|
||||
ENDIF()
|
||||
# clean direct output needs to be set several targets have the same name
|
||||
#(mysqlclient in this case)
|
File diff suppressed because it is too large
Load Diff
@ -1,5 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
/usr/lib/rpm/perl.req $* | \
|
||||
grep -v -e "perl(th" \
|
||||
-e "perl(lib::mtr" -e "perl(lib::v1/mtr" -e "perl(mtr"
|
148
libmysql.version
148
libmysql.version
@ -1,148 +0,0 @@
|
||||
# symbols exported from mysql 5.1
|
||||
libmysqlclient_16 {
|
||||
global:
|
||||
_fini;
|
||||
_init;
|
||||
my_init;
|
||||
myodbc_remove_escape;
|
||||
mysql_affected_rows;
|
||||
mysql_autocommit;
|
||||
mysql_change_user;
|
||||
mysql_character_set_name;
|
||||
mysql_close;
|
||||
mysql_commit;
|
||||
mysql_data_seek;
|
||||
mysql_debug;
|
||||
mysql_dump_debug_info;
|
||||
mysql_embedded;
|
||||
mysql_eof;
|
||||
mysql_errno;
|
||||
mysql_error;
|
||||
mysql_escape_string;
|
||||
mysql_fetch_field;
|
||||
mysql_fetch_field_direct;
|
||||
mysql_fetch_fields;
|
||||
mysql_fetch_lengths;
|
||||
mysql_fetch_row;
|
||||
mysql_field_count;
|
||||
mysql_field_seek;
|
||||
mysql_field_tell;
|
||||
mysql_free_result;
|
||||
mysql_get_character_set_info;
|
||||
mysql_get_client_info;
|
||||
mysql_get_client_version;
|
||||
mysql_get_host_info;
|
||||
mysql_get_parameters;
|
||||
mysql_get_proto_info;
|
||||
mysql_get_server_info;
|
||||
mysql_get_server_version;
|
||||
mysql_get_ssl_cipher;
|
||||
mysql_hex_string;
|
||||
mysql_info;
|
||||
mysql_init;
|
||||
mysql_insert_id;
|
||||
mysql_kill;
|
||||
mysql_list_dbs;
|
||||
mysql_list_fields;
|
||||
mysql_list_processes;
|
||||
mysql_list_tables;
|
||||
mysql_more_results;
|
||||
mysql_next_result;
|
||||
mysql_num_fields;
|
||||
mysql_num_rows;
|
||||
mysql_options;
|
||||
mysql_ping;
|
||||
mysql_query;
|
||||
mysql_read_query_result;
|
||||
mysql_real_connect;
|
||||
mysql_real_escape_string;
|
||||
mysql_real_query;
|
||||
mysql_refresh;
|
||||
mysql_rollback;
|
||||
mysql_row_seek;
|
||||
mysql_row_tell;
|
||||
mysql_select_db;
|
||||
mysql_send_query;
|
||||
mysql_server_end;
|
||||
mysql_server_init;
|
||||
mysql_set_character_set;
|
||||
mysql_set_local_infile_default;
|
||||
mysql_set_local_infile_handler;
|
||||
mysql_set_server_option;
|
||||
mysql_shutdown;
|
||||
mysql_sqlstate;
|
||||
mysql_ssl_set;
|
||||
mysql_stat;
|
||||
mysql_stmt_affected_rows;
|
||||
mysql_stmt_attr_get;
|
||||
mysql_stmt_attr_set;
|
||||
mysql_stmt_bind_param;
|
||||
mysql_stmt_bind_result;
|
||||
mysql_stmt_close;
|
||||
mysql_stmt_data_seek;
|
||||
mysql_stmt_errno;
|
||||
mysql_stmt_error;
|
||||
mysql_stmt_execute;
|
||||
mysql_stmt_fetch;
|
||||
mysql_stmt_fetch_column;
|
||||
mysql_stmt_field_count;
|
||||
mysql_stmt_free_result;
|
||||
mysql_stmt_init;
|
||||
mysql_stmt_insert_id;
|
||||
mysql_stmt_num_rows;
|
||||
mysql_stmt_param_count;
|
||||
mysql_stmt_param_metadata;
|
||||
mysql_stmt_prepare;
|
||||
mysql_stmt_reset;
|
||||
mysql_stmt_result_metadata;
|
||||
mysql_stmt_row_seek;
|
||||
mysql_stmt_row_tell;
|
||||
mysql_stmt_send_long_data;
|
||||
mysql_stmt_sqlstate;
|
||||
mysql_stmt_store_result;
|
||||
mysql_store_result;
|
||||
mysql_thread_end;
|
||||
mysql_thread_id;
|
||||
mysql_thread_init;
|
||||
mysql_thread_safe;
|
||||
mysql_use_result;
|
||||
mysql_warning_count;
|
||||
# These are documented in Paul DuBois' MySQL book, so we treat them as part
|
||||
# of the de-facto API.
|
||||
free_defaults;
|
||||
handle_options;
|
||||
load_defaults;
|
||||
my_print_help;
|
||||
# This isn't really documented anywhere, but it seems to be part of the
|
||||
# de-facto API as well. We're not going to export the deprecated version
|
||||
# make_scrambled_password, however.
|
||||
my_make_scrambled_password;
|
||||
# This really shouldn't be exported, but some applications use it as a
|
||||
# workaround for inadequate threading support; see bug #846602
|
||||
THR_KEY_mysys;
|
||||
local:
|
||||
*;
|
||||
};
|
||||
# symbols added in mysql 5.5
|
||||
libmysqlclient_18 {
|
||||
global:
|
||||
mysql_client_find_plugin;
|
||||
mysql_client_register_plugin;
|
||||
mysql_load_plugin;
|
||||
mysql_load_plugin_v;
|
||||
mysql_plugin_options;
|
||||
mysql_stmt_next_result;
|
||||
#
|
||||
# Ideally the following symbols wouldn't be exported, but various applications
|
||||
# require them. We limit the namespace damage by prefixing mysql_
|
||||
# (see mysql-dubious-exports.patch), which means the symbols are not present
|
||||
# in libmysqlclient_16.
|
||||
#
|
||||
# mysql-connector-odbc requires these
|
||||
mysql_default_charset_info;
|
||||
mysql_get_charset;
|
||||
mysql_get_charset_by_csname;
|
||||
mysql_net_realloc;
|
||||
# PHP's mysqli.so requires this (via the ER() macro)
|
||||
mysql_client_errors;
|
||||
};
|
14
my.cnf
14
my.cnf
@ -5,23 +5,13 @@ socket=/var/lib/mysql/mysql.sock
|
||||
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/mariadb according to the
|
||||
# customize your systemd unit file for mysqld according to the
|
||||
# instructions in http://fedoraproject.org/wiki/Systemd
|
||||
|
||||
# Currently, there are mariadb and community-mysql packages in Fedora.
|
||||
# This particular config file is included in respective RPMs of both of them,
|
||||
# so the following settings are general and will be also used by both of them.
|
||||
# Otherwise the RPMs would be in conflict.
|
||||
# Settings for particular implementations like MariaDB are then
|
||||
# defined in appropriate sections; for MariaDB server in [mariadb] section in
|
||||
# /etc/my.cnf.d/server.cnf (part of mariadb-server).
|
||||
# It doesn't matter that we set these settings only for [mysqld] here,
|
||||
# because they will be read and used in mysqld_safe as well.
|
||||
[mysqld_safe]
|
||||
log-error=/var/log/mysqld.log
|
||||
pid-file=/var/run/mysqld/mysqld.pid
|
||||
|
||||
[mysqld_safe]
|
||||
|
||||
#
|
||||
# include all files from the config directory
|
||||
#
|
@ -31,3 +31,4 @@
|
||||
#elif defined(__aarch64__)
|
||||
#include "my_config_aarch64.h"
|
||||
#endif
|
||||
|
48
mysql-5.6.10-rpmlintrc
Normal file
48
mysql-5.6.10-rpmlintrc
Normal file
@ -0,0 +1,48 @@
|
||||
# Filtered out until upstream fixes them
|
||||
# Upstream bug: http://bugs.mysql.com/68518
|
||||
addFilter("incorrect-fsf-address")
|
||||
|
||||
# Done to avoid _prefix/lib64/tmpfiles.d
|
||||
addFilter("E: hardcoded-library-path in %\{_prefix\}/lib/tmpfiles.d")
|
||||
|
||||
# Keeping the old summary for now
|
||||
addFilter("W: name-repeated-in-summary C MySQL")
|
||||
|
||||
# Spellchecked
|
||||
addFilter("W: spelling-error %description -l en_US multi -> mulch, mufti")
|
||||
addFilter("W: spelling-error %description -l en_US benchmarking -> bench marking, bench-marking, benchmark")
|
||||
addFilter("W: spelling-error Summary(en_US) embeddable -> embedded")
|
||||
addFilter("W: spelling-error.*embeddable -> embedded")
|
||||
|
||||
# As long as the manual is part of the original tarball, we have do to
|
||||
# this
|
||||
addFilter("mysql.src: W: invalid-url Source0: mysql-5.6.[0-9]+-nodocs.tar.gz")
|
||||
|
||||
# Leave the logfile where it is for now
|
||||
addFilter("E: non-root-user-log-file /var/log/mysqld.log mysql")
|
||||
addFilter("E: non-root-group-log-file /var/log/mysqld.log mysql")
|
||||
addFilter("E: non-ghost-file /var/log/mysqld.log")
|
||||
addFilter("E: zero-length /var/log/mysqld.log")
|
||||
|
||||
addFilter("E: incoherent-logrotate-file /etc/logrotate.d/mysqld")
|
||||
|
||||
# Hidden files and zero lenght files is normal for some tests
|
||||
addFilter("W: hidden-file-or-dir /usr/share/mysql-test/std_data/.mylogin.cnf")
|
||||
addFilter("E: zero-length /usr/share/mysql-test/suite/parts/t/disabled.def")
|
||||
addFilter("E: zero-length /usr/share/mysql-test/std_data/bug37631.MYD")
|
||||
addFilter("E: zero-length /usr/share/mysql-test/std_data/cluster_7022_table.MYD")
|
||||
addFilter("E: zero-length /usr/share/mysql-test/collections/disabled-weekly.list")
|
||||
addFilter("E: zero-length /usr/share/mysql-test/collections/disabled-daily.list")
|
||||
|
||||
# debuginfo bug?
|
||||
addFilter("E: non-standard-dir-perm /usr/src/debug/tmp 01777")
|
||||
|
||||
# mysql-config *script* in lib
|
||||
addFilter("W: only-non-binary-in-usr-lib")
|
||||
|
||||
# missing
|
||||
addFilter("W: no-manual-page-for-binary my_safe_process")
|
||||
|
||||
# cluster is gone
|
||||
addFilter("W: obsolete-not-provided mysql-cluster")
|
||||
|
26
mysql_config.sh
Normal file
26
mysql_config.sh
Normal file
@ -0,0 +1,26 @@
|
||||
#! /bin/bash
|
||||
#
|
||||
# Wrapper script for mysql_config to support multilib
|
||||
#
|
||||
# This command respects setarch
|
||||
|
||||
bits=$(rpm --eval %__isa_bits)
|
||||
|
||||
case $bits in
|
||||
32|64) status=known ;;
|
||||
*) status=unknown ;;
|
||||
esac
|
||||
|
||||
if [ "$status" = "unknown" ] ; then
|
||||
echo "$0: error: command 'rpm --eval %__isa_bits' returned unknown value: $bits"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
if [ -x /usr/bin/mysql_config-$bits ] ; then
|
||||
/usr/bin/mysql_config-$bits "$@"
|
||||
else
|
||||
echo "$0: error: needed binary: /usr/bin/mysql_config-$bits is missing"
|
||||
exit 1
|
||||
fi
|
||||
|
@ -6,3 +6,9 @@
|
||||
|
||||
perfschema.func_file_io : rhbz#773116 cycle counter does not work on arm
|
||||
perfschema.func_mutex : rhbz#773116 cycle counter does not work on arm
|
||||
|
||||
# These tests fail in Fedora rawhide scratch build
|
||||
|
||||
innodb.innodb_ctype_ldml : Unknown collation: 'utf8_5624_1'
|
||||
main.ctype_ldml : Unknown collation: 'utf8_5624_1'
|
||||
perfschema.setup_objects : <Needs more investigation>
|
@ -11,4 +11,3 @@ outfile_loaddata : bug#46895 code wrong, expected results wrong too
|
||||
# as of 5.5.9. Upstream at http://bugs.mysql.com/bug.php?id=60155
|
||||
|
||||
innodb.innodb : bug#60155 has platform-dependent results
|
||||
|
Loading…
Reference in New Issue
Block a user