Commit edaf0bec authored by Dmitry Shulga's avatar Dmitry Shulga

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.
parent 7525e068
...@@ -1429,3 +1429,14 @@ DROP USER 'testbug'@localhost; ...@@ -1429,3 +1429,14 @@ DROP USER 'testbug'@localhost;
DROP TABLE db2.t1; DROP TABLE db2.t1;
DROP DATABASE db1; DROP DATABASE db1;
DROP DATABASE db2; 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;
...@@ -1550,5 +1550,15 @@ DROP TABLE db2.t1; ...@@ -1550,5 +1550,15 @@ DROP TABLE db2.t1;
DROP DATABASE db1; DROP DATABASE db1;
DROP DATABASE db2; 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 # Wait till we reached the initial number of concurrent sessions
--source include/wait_until_count_sessions.inc --source include/wait_until_count_sessions.inc
...@@ -11567,6 +11567,12 @@ user: ...@@ -11567,6 +11567,12 @@ user:
system_charset_info, 0) || system_charset_info, 0) ||
check_host_name(&$$->host)) check_host_name(&$$->host))
MYSQL_YYABORT; 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 | CURRENT_USER optional_braces
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment