Bug#32710: SHOW INNODB STATUS requires SUPER

Changed "SHOW ENGINE ... STATUS" and "SHOW ENGINE ... MUTEX"
to require the PROCESS privilege, instead of SUPER.

Fixed by Damien Katz
This commit is contained in:
davi@mysql.com/endora.local 2008-02-06 11:20:15 -02:00
parent bd4e875448
commit 2af5e25c1d
3 changed files with 26 additions and 2 deletions

View File

@ -1427,4 +1427,9 @@ DROP FUNCTION f1;
DROP TABLE t1;
DROP EVENT ev1;
SHOW TABLE TYPES;
CREATE USER test_u@localhost;
GRANT PROCESS ON *.* TO test_u@localhost;
SHOW ENGINE MYISAM MUTEX;
SHOW ENGINE MYISAM STATUS;
DROP USER test_u@localhost;
End of 5.1 tests

View File

@ -1115,5 +1115,24 @@ DROP EVENT ev1;
SHOW TABLE TYPES;
--enable_result_log
#
# Bug #32710: SHOW INNODB STATUS requires SUPER
#
CREATE USER test_u@localhost;
GRANT PROCESS ON *.* TO test_u@localhost;
connect (conn1, localhost, test_u,,);
--disable_result_log
SHOW ENGINE MYISAM MUTEX;
SHOW ENGINE MYISAM STATUS;
--enable_result_log
disconnect conn1;
connection default;
DROP USER test_u@localhost;
--echo End of 5.1 tests

View File

@ -2271,14 +2271,14 @@ mysql_execute_command(THD *thd)
#endif /* HAVE_REPLICATION */
case SQLCOM_SHOW_ENGINE_STATUS:
{
if (check_global_access(thd, SUPER_ACL))
if (check_global_access(thd, PROCESS_ACL))
goto error;
res = ha_show_status(thd, lex->create_info.db_type, HA_ENGINE_STATUS);
break;
}
case SQLCOM_SHOW_ENGINE_MUTEX:
{
if (check_global_access(thd, SUPER_ACL))
if (check_global_access(thd, PROCESS_ACL))
goto error;
res = ha_show_status(thd, lex->create_info.db_type, HA_ENGINE_MUTEX);
break;