diff options
author | unknown <msvensson@neptunus.(none)> | 2005-12-28 09:23:27 +0100 |
---|---|---|
committer | unknown <msvensson@neptunus.(none)> | 2005-12-28 09:23:27 +0100 |
commit | 9a8dde9bc7b20a4753611290f6d3b649321d02a0 (patch) | |
tree | 288eeae9f1d933abe63dbcc8862ec0243c969039 /mysql-test/t/grant2.test | |
parent | aa6d8551f80e02026243897dad708d87836ce947 (diff) | |
download | mariadb-git-9a8dde9bc7b20a4753611290f6d3b649321d02a0.tar.gz |
BUG#15775 "drop user" command does not refresh acl_check_hosts
- DROP USER command didn't reload the acl_check_hosts cache causing subsequent
connect's via TCP to fail randomly.
- 4.1 version
mysql-test/r/grant2.result:
Update test results
mysql-test/t/grant2.test:
Add test for to check that connect via TCP work after "drop user"
sql/sql_acl.cc:
Reload acl_check_hosts as its memory is mapped to acl_user
Use acl_user->host.hostname when searching the acl_check_hosts list
Diffstat (limited to 'mysql-test/t/grant2.test')
-rw-r--r-- | mysql-test/t/grant2.test | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/mysql-test/t/grant2.test b/mysql-test/t/grant2.test index cb00c41a0ca..79ea7f70712 100644 --- a/mysql-test/t/grant2.test +++ b/mysql-test/t/grant2.test @@ -206,4 +206,37 @@ drop user 'mysqltest_1'@'localhost'; disconnect con2root; disconnect con3root; +# +# Bug #15775: "drop user" command does not refresh acl_check_hosts +# + +# Create some test users +insert into mysql.user (user, host) values + ('mysqltest_1', 'host1'), + ('mysqltest_2', 'host2'), + ('mysqltest_3', 'host3'), + ('mysqltest_4', 'host4'), + ('mysqltest_5', 'host5'), + ('mysqltest_6', 'host6'), + ('mysqltest_7', 'host7'); +flush privileges; + +# Drop one user +drop user mysqltest_3@host3; + +# This connect failed before fix since the acl_check_hosts list was corrupted by the "drop user" +connect (con8,127.0.0.1,root,,test,$MASTER_MYPORT,); +disconnect con8; +connection default; + +# Clean up - Drop all of the remaining users at once +drop user mysqltest_1@host1, mysqltest_2@host2, mysqltest_4@host4, + mysqltest_5@host5, mysqltest_6@host6, mysqltest_7@host7; + +# Check that it's still possible to connect +connect (con9,127.0.0.1,root,,test,$MASTER_MYPORT,); +disconnect con9; +connection default; + + # End of 4.1 tests |