BUG#13427949
Automerged against latest mysql-5.5.
This commit is contained in:
commit
a2248579d1
11
mysql-test/suite/rpl/r/rpl_connection.result
Normal file
11
mysql-test/suite/rpl/r/rpl_connection.result
Normal file
@ -0,0 +1,11 @@
|
||||
include/master-slave.inc
|
||||
[connection master]
|
||||
call mtr.add_suppression(".*Invalid .* username when attempting to connect to the master server.*");
|
||||
include/stop_slave.inc
|
||||
CHANGE MASTER TO MASTER_USER= '', MASTER_PASSWORD= '';
|
||||
START SLAVE;
|
||||
include/wait_for_slave_io_error.inc [errno=1045, 1593]
|
||||
include/stop_slave.inc
|
||||
CHANGE MASTER TO MASTER_USER= 'root', MASTER_PASSWORD= '';
|
||||
START SLAVE;
|
||||
include/rpl_end.inc
|
24
mysql-test/suite/rpl/t/rpl_connection.test
Normal file
24
mysql-test/suite/rpl/t/rpl_connection.test
Normal file
@ -0,0 +1,24 @@
|
||||
--source include/not_embedded.inc
|
||||
--source include/master-slave.inc
|
||||
--source include/have_binlog_format_mixed.inc
|
||||
|
||||
#
|
||||
# BUG#13427949: CHANGE MASTER TO USER='' (EMPTY USER) CAUSES ERRORS ON VALGRING
|
||||
#
|
||||
|
||||
--connection slave
|
||||
call mtr.add_suppression(".*Invalid .* username when attempting to connect to the master server.*");
|
||||
|
||||
|
||||
# Assert that we disallow empty users and that no problem
|
||||
--source include/stop_slave.inc
|
||||
CHANGE MASTER TO MASTER_USER= '', MASTER_PASSWORD= '';
|
||||
START SLAVE;
|
||||
--let $slave_io_errno= 1045, 1593
|
||||
--source include/wait_for_slave_io_error.inc
|
||||
--source include/stop_slave.inc
|
||||
|
||||
CHANGE MASTER TO MASTER_USER= 'root', MASTER_PASSWORD= '';
|
||||
START SLAVE;
|
||||
|
||||
--source include/rpl_end.inc
|
14
sql/slave.cc
14
sql/slave.cc
@ -4208,6 +4208,16 @@ static int connect_to_master(THD* thd, MYSQL* mysql, Master_info* mi,
|
||||
if (opt_plugin_dir_ptr && *opt_plugin_dir_ptr)
|
||||
mysql_options(mysql, MYSQL_PLUGIN_DIR, opt_plugin_dir_ptr);
|
||||
|
||||
/* we disallow empty users */
|
||||
if (mi->user == NULL || mi->user[0] == 0)
|
||||
{
|
||||
mi->report(ERROR_LEVEL, ER_SLAVE_FATAL_ERROR,
|
||||
ER(ER_SLAVE_FATAL_ERROR),
|
||||
"Invalid (empty) username when attempting to "
|
||||
"connect to the master server. Connection attempt "
|
||||
"terminated.");
|
||||
DBUG_RETURN(1);
|
||||
}
|
||||
while (!(slave_was_killed = io_slave_killed(thd,mi)) &&
|
||||
(reconnect ? mysql_reconnect(mysql) != 0 :
|
||||
mysql_real_connect(mysql, mi->host, mi->user, mi->password, 0,
|
||||
@ -4336,7 +4346,9 @@ MYSQL *rpl_connect_master(MYSQL *mysql)
|
||||
/* This one is not strictly needed but we have it here for completeness */
|
||||
mysql_options(mysql, MYSQL_SET_CHARSET_DIR, (char *) charsets_dir);
|
||||
|
||||
if (io_slave_killed(thd, mi)
|
||||
if (mi->user == NULL
|
||||
|| mi->user[0] == 0
|
||||
|| io_slave_killed(thd, mi)
|
||||
|| !mysql_real_connect(mysql, mi->host, mi->user, mi->password, 0,
|
||||
mi->port, 0, 0))
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user