diff options
author | Vladislav Vaintroub <wlad@mariadb.com> | 2016-04-09 17:03:48 +0200 |
---|---|---|
committer | Vladislav Vaintroub <wlad@mariadb.com> | 2016-04-09 17:03:48 +0200 |
commit | cd776fedba3e2902bc25ee206d6e6266e7eb9411 (patch) | |
tree | 95bf82d0e0522c6af708cd28639c82e004b5a264 /mysql-test/t/view_grant.test | |
parent | f884d233e6a5f68bab846a7bdbd041fc4415ad77 (diff) | |
parent | d516a2ae0cbd09d3b5b1667ec62b421330ab9902 (diff) | |
download | mariadb-git-10.2-connector-c-integ.tar.gz |
Merge branch '10.2' into 10.2-connector-c-integ10.2-connector-c-integ
Diffstat (limited to 'mysql-test/t/view_grant.test')
-rw-r--r-- | mysql-test/t/view_grant.test | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/mysql-test/t/view_grant.test b/mysql-test/t/view_grant.test index 6d0cd8e5c28..a70241138aa 100644 --- a/mysql-test/t/view_grant.test +++ b/mysql-test/t/view_grant.test @@ -1197,8 +1197,6 @@ GRANT SELECT, DELETE ON mysqltest1.t4 TO mysqltest_u1@localhost; GRANT ALL PRIVILEGES ON mysqltest2.* TO mysqltest_u1@localhost; --connect (bug24040_con,localhost,mysqltest_u1,,mysqltest2) ---echo ---echo ---> connection: bug24040_con SELECT * FROM mysqltest1.t1; INSERT INTO mysqltest1.t2 VALUES(25); @@ -1238,8 +1236,6 @@ CREATE VIEW v42 AS SELECT c4, c2 FROM mysqltest1.t4, mysqltest1.t2; CREATE VIEW v43 AS SELECT c4, c3 FROM mysqltest1.t4, mysqltest1.t3; --connection default ---echo ---echo ---> connection: default SELECT * FROM mysqltest1.t1; SELECT * FROM mysqltest1.t2; @@ -1965,13 +1961,9 @@ GRANT SELECT ON t1 TO 'mysqluser1'@'%'; GRANT SELECT ON t2 TO 'mysqluser1'@'%'; GRANT SELECT ON v1_uses_t1 TO 'mysqluser1'@'%'; GRANT SELECT ON v1_uses_t2 TO 'mysqluser1'@'%'; ---echo # ---echo # Connection 'mysqluser1'. --connect (mysqluser1, localhost, mysqluser1,,mysqltest1) CREATE SQL SECURITY DEFINER VIEW v2_uses_t1 AS SELECT * FROM v1_uses_t1; CREATE SQL SECURITY DEFINER VIEW v2_uses_t2 AS SELECT * FROM v1_uses_t2; ---echo # ---echo # Connection 'default'. --connection default CREATE USER 'mysqluser2'@'%'; GRANT SELECT ON v2_uses_t1 TO 'mysqluser2'@'%'; @@ -1980,8 +1972,6 @@ GRANT SELECT ON t2 TO 'mysqluser2'@'%'; GRANT CREATE VIEW ON mysqltest1.* TO 'mysqluser2'@'%'; --echo # Make 'mysqluser1' unable to access t2. REVOKE SELECT ON t2 FROM 'mysqluser1'@'%'; ---echo # ---echo # Connection 'mysqluser2'. --connect (mysqluser2, localhost, mysqluser2,,mysqltest1) --echo # The below statement should succeed thanks to suid nature of v2_uses_t1. SELECT * FROM v2_uses_t1; @@ -1990,8 +1980,6 @@ SELECT * FROM v2_uses_t1; SELECT * FROM v2_uses_t2; --echo # --echo # 2) INVOKER-security view uses INVOKER-security view. ---echo # ---echo # Connection 'default'. --connection default DROP VIEW v2_uses_t1, v2_uses_t2; CREATE SQL SECURITY INVOKER VIEW v2_uses_t1 AS SELECT * FROM v1_uses_t1; @@ -2000,15 +1988,11 @@ GRANT SELECT ON v2_uses_t1 TO 'mysqluser1'@'%'; GRANT SELECT ON v2_uses_t2 TO 'mysqluser1'@'%'; GRANT SELECT ON v1_uses_t1 TO 'mysqluser2'@'%'; GRANT SELECT ON v1_uses_t2 TO 'mysqluser2'@'%'; ---echo # ---echo # Connection 'mysqluser1'. --connection mysqluser1 --echo # For both versions of 'v2' 'mysqluser1' privileges should be used. SELECT * FROM v2_uses_t1; --error ER_VIEW_INVALID SELECT * FROM v2_uses_t2; ---echo # ---echo # Connection 'mysqluser2'. --connection mysqluser2 --echo # And now for both versions of 'v2' 'mysqluser2' privileges should --echo # be used. @@ -2017,24 +2001,16 @@ SELECT * FROM v2_uses_t1; SELECT * FROM v2_uses_t2; --echo # --echo # 3) INVOKER-security view uses DEFINER-security view. ---echo # ---echo # Connection 'default'. --connection default DROP VIEW v1_uses_t1, v1_uses_t2; --echo # To be able create 'v1_uses_t2' we also need select on t2. GRANT SELECT ON t2 TO 'mysqluser1'@'%'; ---echo # ---echo # Connection 'mysqluser1'. --connection mysqluser1 CREATE SQL SECURITY DEFINER VIEW v1_uses_t1 AS SELECT * FROM t1; CREATE SQL SECURITY DEFINER VIEW v1_uses_t2 AS SELECT * FROM t2; ---echo # ---echo # Connection 'default'. --connection default --echo # Make 'mysqluser1' unable to access t2. REVOKE SELECT ON t2 FROM 'mysqluser1'@'%'; ---echo # ---echo # Connection 'mysqluser2'. --connection mysqluser2 --echo # Due to suid nature of v1_uses_t1 and v1_uses_t2 the first --echo # select should succeed and the second select should fail. @@ -2043,24 +2019,16 @@ SELECT * FROM v2_uses_t1; SELECT * FROM v2_uses_t2; --echo # --echo # 4) DEFINER-security view uses DEFINER-security view. ---echo # ---echo # Connection 'default'. --connection default DROP VIEW v2_uses_t1, v2_uses_t2; --echo # To be able create 'v2_uses_t2' we also need select on t2. GRANT SELECT ON t2 TO 'mysqluser1'@'%'; ---echo # ---echo # Connection 'mysqluser2'. --connection mysqluser2 CREATE SQL SECURITY DEFINER VIEW v2_uses_t1 AS SELECT * FROM v1_uses_t1; CREATE SQL SECURITY DEFINER VIEW v2_uses_t2 AS SELECT * FROM v1_uses_t2; ---echo # ---echo # Connection 'default'. --connection default --echo # Make 'mysqluser1' unable to access t2. REVOKE SELECT ON t2 FROM 'mysqluser1'@'%'; ---echo # ---echo # Connection 'mysqluser2'. --connection mysqluser2 --echo # Again privileges of creator of innermost views should apply. SELECT * FROM v2_uses_t1; @@ -2132,8 +2100,6 @@ create sql security invoker view v42 as where t2.id = v2.id; ---echo # ---echo # Connect as user_11766767 connect (conn_11766767, localhost, user_11766767,,); --echo # @@ -2231,7 +2197,6 @@ update mysqltest1.t11 as t11, mysqltest2.v42 as v4 set v4.val= 'test20' --echo # --echo # Clean-up. --echo # ---echo # Switching to connection 'default'. disconnect conn_11766767; connection default; drop user user_11766767; |