summaryrefslogtreecommitdiff
path: root/mysql-test/t/grant2.test
diff options
context:
space:
mode:
authorunknown <msvensson@neptunus.(none)>2005-12-28 09:23:27 +0100
committerunknown <msvensson@neptunus.(none)>2005-12-28 09:23:27 +0100
commit9a8dde9bc7b20a4753611290f6d3b649321d02a0 (patch)
tree288eeae9f1d933abe63dbcc8862ec0243c969039 /mysql-test/t/grant2.test
parentaa6d8551f80e02026243897dad708d87836ce947 (diff)
downloadmariadb-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.test33
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