mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
fixed db/user privileges getting (BUG#5976)
mysql-test/r/view.result: user with global DB privileges test mysql-test/t/view.test: user with global DB privileges test sql/sql_acl.cc: fixed db/user privileges getting
This commit is contained in:
@ -1628,3 +1628,10 @@ Field 3,'Field 4|
|
||||
|Field 6| | 'Field 7'|
|
||||
drop view v1;
|
||||
drop table t1;
|
||||
create database mysqltest;
|
||||
create table mysqltest.t1 (a int);
|
||||
grant all privileges on mysqltest.* to mysqltest_1@localhost;
|
||||
use mysqltest;
|
||||
create view v1 as select * from t1;
|
||||
revoke all privileges on mysqltest.* from mysqltest_1@localhost;
|
||||
drop database mysqltest;
|
||||
|
@ -1554,3 +1554,21 @@ select concat('|',a,'|'), concat('|',b,'|') from v1;
|
||||
drop view v1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# user with global DB privileges
|
||||
#
|
||||
connection root;
|
||||
--disable_warnings
|
||||
create database mysqltest;
|
||||
--enable_warnings
|
||||
create table mysqltest.t1 (a int);
|
||||
grant all privileges on mysqltest.* to mysqltest_1@localhost;
|
||||
|
||||
connection user1;
|
||||
use mysqltest;
|
||||
create view v1 as select * from t1;
|
||||
|
||||
|
||||
connection root;
|
||||
revoke all privileges on mysqltest.* from mysqltest_1@localhost;
|
||||
drop database mysqltest;
|
||||
|
@ -3889,12 +3889,13 @@ void fill_effective_table_privileges(THD *thd, GRANT_INFO *grant,
|
||||
/* global privileges */
|
||||
grant->privilege= thd->master_access;
|
||||
|
||||
/* db privileges */
|
||||
grant->privilege|= acl_get(thd->host, thd->ip, thd->priv_user, db, 0);
|
||||
|
||||
/* if privileges ignored (--skip-grant-tables) above is enough */
|
||||
if (!grant_option)
|
||||
return;
|
||||
|
||||
/* db privileges */
|
||||
grant->privilege|= acl_get(thd->host, thd->ip, thd->priv_user, db, 0);
|
||||
/* table privileges */
|
||||
if (grant->version != grant_version)
|
||||
{
|
||||
|
Reference in New Issue
Block a user