Update after merge to 5.0
mysql-test/r/grant.result: Reorder test result mysql-test/t/grant.test: Add "use test" sql/sql_acl.cc: Add check if host is NULL Add check if grant_name->host.hostname is null
This commit is contained in:
parent
8d28735d13
commit
88a3ee71e3
@ -624,6 +624,25 @@ GRANT USAGE ON *.* TO 'mysqltest_7'@'' IDENTIFIED BY PASSWORD '*2FB071A056F9BB74
|
|||||||
drop user mysqltest_7@;
|
drop user mysqltest_7@;
|
||||||
show grants for mysqltest_7@;
|
show grants for mysqltest_7@;
|
||||||
ERROR 42000: There is no such grant defined for user 'mysqltest_7' on host ''
|
ERROR 42000: There is no such grant defined for user 'mysqltest_7' on host ''
|
||||||
|
create database mysqltest;
|
||||||
|
use mysqltest;
|
||||||
|
create table t1(f1 int);
|
||||||
|
GRANT DELETE ON mysqltest.t1 TO mysqltest1@'%';
|
||||||
|
GRANT SELECT ON mysqltest.t1 TO mysqltest1@'192.%';
|
||||||
|
show grants for mysqltest1@'192.%';
|
||||||
|
Grants for mysqltest1@192.%
|
||||||
|
GRANT USAGE ON *.* TO 'mysqltest1'@'192.%'
|
||||||
|
GRANT SELECT ON `mysqltest`.`t1` TO 'mysqltest1'@'192.%'
|
||||||
|
show grants for mysqltest1@'%';
|
||||||
|
Grants for mysqltest1@%
|
||||||
|
GRANT USAGE ON *.* TO 'mysqltest1'@'%'
|
||||||
|
GRANT DELETE ON `mysqltest`.`t1` TO 'mysqltest1'@'%'
|
||||||
|
delete from mysql.user where user='mysqltest1';
|
||||||
|
delete from mysql.db where user='mysqltest1';
|
||||||
|
delete from mysql.tables_priv where user='mysqltest1';
|
||||||
|
flush privileges;
|
||||||
|
drop database mysqltest;
|
||||||
|
use test;
|
||||||
create table t1 (a int);
|
create table t1 (a int);
|
||||||
create table t2 as select * from mysql.user where user='';
|
create table t2 as select * from mysql.user where user='';
|
||||||
delete from mysql.user where user='';
|
delete from mysql.user where user='';
|
||||||
@ -834,21 +853,3 @@ insert into mysql.user select * from t2;
|
|||||||
flush privileges;
|
flush privileges;
|
||||||
drop table t2;
|
drop table t2;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
create database mysqltest;
|
|
||||||
use mysqltest;
|
|
||||||
create table t1(f1 int);
|
|
||||||
GRANT DELETE ON mysqltest.t1 TO mysqltest1@'%';
|
|
||||||
GRANT SELECT ON mysqltest.t1 TO mysqltest1@'192.%';
|
|
||||||
show grants for mysqltest1@'192.%';
|
|
||||||
Grants for mysqltest1@192.%
|
|
||||||
GRANT USAGE ON *.* TO 'mysqltest1'@'192.%'
|
|
||||||
GRANT SELECT ON `mysqltest`.`t1` TO 'mysqltest1'@'192.%'
|
|
||||||
show grants for mysqltest1@'%';
|
|
||||||
Grants for mysqltest1@%
|
|
||||||
GRANT USAGE ON *.* TO 'mysqltest1'@'%'
|
|
||||||
GRANT DELETE ON `mysqltest`.`t1` TO 'mysqltest1'@'%'
|
|
||||||
delete from mysql.user where user='mysqltest1';
|
|
||||||
delete from mysql.db where user='mysqltest1';
|
|
||||||
delete from mysql.tables_priv where user='mysqltest1';
|
|
||||||
flush privileges;
|
|
||||||
drop database mysqltest;
|
|
||||||
|
@ -532,7 +532,7 @@ drop database mysqltest;
|
|||||||
#
|
#
|
||||||
# Bug #16297 In memory grant tables not flushed when users's hostname is ""
|
# Bug #16297 In memory grant tables not flushed when users's hostname is ""
|
||||||
#
|
#
|
||||||
|
use test;
|
||||||
create table t1 (a int);
|
create table t1 (a int);
|
||||||
|
|
||||||
# Backup anonymous users and remove them. (They get in the way of
|
# Backup anonymous users and remove them. (They get in the way of
|
||||||
|
@ -2273,7 +2273,8 @@ static GRANT_NAME *name_hash_search(HASH *name_hash,
|
|||||||
{
|
{
|
||||||
if (exact)
|
if (exact)
|
||||||
{
|
{
|
||||||
if ((host &&
|
if (!grant_name->host.hostname ||
|
||||||
|
(host &&
|
||||||
!my_strcasecmp(system_charset_info, host,
|
!my_strcasecmp(system_charset_info, host,
|
||||||
grant_name->host.hostname)) ||
|
grant_name->host.hostname)) ||
|
||||||
(ip && !strcmp(ip, grant_name->host.hostname)))
|
(ip && !strcmp(ip, grant_name->host.hostname)))
|
||||||
@ -4956,6 +4957,9 @@ static int handle_grant_struct(uint struct_no, bool drop,
|
|||||||
}
|
}
|
||||||
if (! user)
|
if (! user)
|
||||||
user= "";
|
user= "";
|
||||||
|
if (! host)
|
||||||
|
host= "";
|
||||||
|
|
||||||
#ifdef EXTRA_DEBUG
|
#ifdef EXTRA_DEBUG
|
||||||
DBUG_PRINT("loop",("scan struct: %u index: %u user: '%s' host: '%s'",
|
DBUG_PRINT("loop",("scan struct: %u index: %u user: '%s' host: '%s'",
|
||||||
struct_no, idx, user, host));
|
struct_no, idx, user, host));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user