mirror of
https://github.com/MariaDB/server.git
synced 2025-12-24 11:21:21 +03:00
Bug#25671
"CREATE/DROP/ALTER SERVER should require privileges" Add check for SUPER privilege when executing CREATE/DROP/ALTER SERVER. Previously, any user even with only USAGE priv can execute those commands.
This commit is contained in:
parent
11d37efa5e
commit
e4d93c6bcd
@@ -4273,6 +4273,10 @@ create_sp_error:
|
||||
int error;
|
||||
LEX *lex= thd->lex;
|
||||
DBUG_PRINT("info", ("case SQLCOM_CREATE_SERVER"));
|
||||
|
||||
if (check_global_access(thd, SUPER_ACL))
|
||||
break;
|
||||
|
||||
if ((error= create_server(thd, &lex->server_options)))
|
||||
{
|
||||
DBUG_PRINT("info", ("problem creating server <%s>",
|
||||
@@ -4288,6 +4292,10 @@ create_sp_error:
|
||||
int error;
|
||||
LEX *lex= thd->lex;
|
||||
DBUG_PRINT("info", ("case SQLCOM_ALTER_SERVER"));
|
||||
|
||||
if (check_global_access(thd, SUPER_ACL))
|
||||
break;
|
||||
|
||||
if ((error= alter_server(thd, &lex->server_options)))
|
||||
{
|
||||
DBUG_PRINT("info", ("problem altering server <%s>",
|
||||
@@ -4303,6 +4311,10 @@ create_sp_error:
|
||||
int err_code;
|
||||
LEX *lex= thd->lex;
|
||||
DBUG_PRINT("info", ("case SQLCOM_DROP_SERVER"));
|
||||
|
||||
if (check_global_access(thd, SUPER_ACL))
|
||||
break;
|
||||
|
||||
if ((err_code= drop_server(thd, &lex->server_options)))
|
||||
{
|
||||
if (! lex->drop_if_exists && err_code == ER_FOREIGN_SERVER_EXISTS)
|
||||
|
||||
Reference in New Issue
Block a user