#At file:///Users/shulga/projects/mysql/5.1-bugteam-bug36742/ based on revid:li-bing.song@stripped
3527 Dmitry Shulga 2010-10-13
Fixed bug#36742 - GRANT hostname case handling inconsistent.
@ mysql-test/r/grant.result
It was added result for test case for bug#36742.
@ mysql-test/t/grant.test
It was added test case for bug#36742.
@ sql/sql_yacc.yy
It was added convertation of host name part of user name to lowercase.
modified:
mysql-test/r/grant.result
mysql-test/t/grant.test
sql/sql_yacc.yy
=== modified file 'mysql-test/r/grant.result'
--- a/mysql-test/r/grant.result 2010-07-08 18:46:26 +0000
+++ b/mysql-test/r/grant.result 2010-10-13 05:28:58 +0000
@@ -1429,3 +1429,14 @@ DROP USER 'testbug'@localhost;
DROP TABLE db2.t1;
DROP DATABASE db1;
DROP DATABASE db2;
+#
+# Bug #36742
+#
+grant usage on Foo.* to myuser@Localhost identified by 'foo';
+grant select on Foo.* to myuser@localhost;
+select host,user from mysql.user where User='myuser';
+host user
+localhost myuser
+revoke select on Foo.* from myuser@localhost;
+delete from mysql.user where User='myuser';
+flush privileges;
=== modified file 'mysql-test/t/grant.test'
--- a/mysql-test/t/grant.test 2010-07-08 18:46:26 +0000
+++ b/mysql-test/t/grant.test 2010-10-13 05:28:58 +0000
@@ -1550,5 +1550,15 @@ DROP TABLE db2.t1;
DROP DATABASE db1;
DROP DATABASE db2;
+--echo #
+--echo # Bug #36742
+--echo #
+grant usage on Foo.* to myuser@Localhost identified by 'foo';
+grant select on Foo.* to myuser@localhost;
+select host,user from mysql.user where User='myuser';
+revoke select on Foo.* from myuser@localhost;
+delete from mysql.user where User='myuser';
+flush privileges;
+
# Wait till we reached the initial number of concurrent sessions
--source include/wait_until_count_sessions.inc
=== modified file 'sql/sql_yacc.yy'
--- a/sql/sql_yacc.yy 2010-08-30 22:16:38 +0000
+++ b/sql/sql_yacc.yy 2010-10-13 05:28:58 +0000
@@ -11567,6 +11567,12 @@ user:
system_charset_info, 0) ||
check_host_name(&$$->host))
MYSQL_YYABORT;
+ /*
+ Convert hostname part of username to lowercase.
+ It's OK to use in-place lowercase as long as
+ the character set is utf8.
+ */
+ my_casedn_str(system_charset_info, $$->host.str);
}
| CURRENT_USER optional_braces
{
Attachment: [text/bzr-bundle] bzr/dmitry.shulga@sun.com-20101013052858-4p8vvy5lrth7zarw.bundle
| Thread |
|---|
| • bzr commit into mysql-5.1-bugteam branch (Dmitry.Shulga:3527) Bug#36742 | Dmitry Shulga | 13 Oct |