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'|
|
|Field 6| | 'Field 7'|
|
||||||
drop view v1;
|
drop view v1;
|
||||||
drop table t1;
|
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 view v1;
|
||||||
drop table t1;
|
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 */
|
/* global privileges */
|
||||||
grant->privilege= thd->master_access;
|
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 privileges ignored (--skip-grant-tables) above is enough */
|
||||||
if (!grant_option)
|
if (!grant_option)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* db privileges */
|
|
||||||
grant->privilege|= acl_get(thd->host, thd->ip, thd->priv_user, db, 0);
|
|
||||||
/* table privileges */
|
/* table privileges */
|
||||||
if (grant->version != grant_version)
|
if (grant->version != grant_version)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user