summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRucha Deodhar <rucha.deodhar@mariadb.com>2021-06-01 20:12:56 +0530
committerRucha Deodhar <rucha.deodhar@mariadb.com>2021-06-14 12:51:08 +0530
commit4b8ef06217d5088ade9c19ac74193c64ad22375a (patch)
treecff788537fe2c35cac9ef37700a842634ae34e9c
parent2fb4407827ecd6cbf52e210a8d9370b4560ddd5b (diff)
downloadmariadb-git-bb-10.2-MDEV-17943.tar.gz
MDEV-17943: Unfortunate error code/message upon SET DEFAULT ROLE FORbb-10.2-MDEV-17943
Analysis: Wrong error message string Fix: Change error label and error message string
m---------libmariadb0
-rw-r--r--mysql-test/suite/roles/set_default_role_invalid.result8
-rw-r--r--mysql-test/suite/roles/set_default_role_invalid.test11
-rw-r--r--sql/share/errmsg-utf8.txt8
-rw-r--r--sql/sql_acl.cc6
5 files changed, 26 insertions, 7 deletions
diff --git a/libmariadb b/libmariadb
-Subproject 180c543704d627a50a52aaf60e24ca14e0ec468
+Subproject 9e31cc7a7feaada8c3134aab176982c4164df06
diff --git a/mysql-test/suite/roles/set_default_role_invalid.result b/mysql-test/suite/roles/set_default_role_invalid.result
index 53ee464e2c1..b31719b9301 100644
--- a/mysql-test/suite/roles/set_default_role_invalid.result
+++ b/mysql-test/suite/roles/set_default_role_invalid.result
@@ -128,3 +128,11 @@ a % r1
b % r2
DROP ROLE r1, r2;
DROP USER a, b;
+#
+# Beginning of 10.2 test
+#
+# MDEV-17943: Unfortunate error code/message upon SET DEFAULT ROLE FOR
+#
+SET DEFAULT ROLE NONE FOR foo;
+ERROR 0L000: The target user is invalid
+# End of 10.2 test
diff --git a/mysql-test/suite/roles/set_default_role_invalid.test b/mysql-test/suite/roles/set_default_role_invalid.test
index 02fca1107e2..e290562365a 100644
--- a/mysql-test/suite/roles/set_default_role_invalid.test
+++ b/mysql-test/suite/roles/set_default_role_invalid.test
@@ -167,3 +167,14 @@ change_user root;
SELECT user, host, default_role FROM mysql.user where user='a' or user='b';
DROP ROLE r1, r2;
DROP USER a, b;
+
+--echo #
+--echo # Beginning of 10.2 test
+--echo #
+--echo # MDEV-17943: Unfortunate error code/message upon SET DEFAULT ROLE FOR
+--echo #
+
+--error ER_INVALID_TARGET_USER
+SET DEFAULT ROLE NONE FOR foo;
+
+--echo # End of 10.2 test
diff --git a/sql/share/errmsg-utf8.txt b/sql/share/errmsg-utf8.txt
index 2d4e0562d8f..3f51ebb5289 100644
--- a/sql/share/errmsg-utf8.txt
+++ b/sql/share/errmsg-utf8.txt
@@ -7284,10 +7284,10 @@ ER_INVALID_ROLE OP000
eng "Invalid role specification %`s"
hindi "अमान्य रोल विनिर्देश %`s"
rum "Rolul %`s este invalid"
-ER_INVALID_CURRENT_USER 0L000
- eng "The current user is invalid"
- hindi "वर्तमान यूज़र अमान्य है"
- rum "Utilizatorul curent este invalid"
+ER_INVALID_TARGET_USER 0L000
+ eng "The target user is invalid"
+ hindi "लक्षित यूज़र अमान्य है"
+ rum "Utilizatorul specificat este invalid"
ER_CANNOT_GRANT_ROLE
eng "Cannot grant role '%s' to: %s"
hindi "रोल '%s', %s को प्रदान नहीं कर सकते"
diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc
index 2b59a82277e..48f2a981443 100644
--- a/sql/sql_acl.cc
+++ b/sql/sql_acl.cc
@@ -2675,7 +2675,7 @@ static int check_user_can_set_role(THD *thd, const char *user, const char *host,
/* get the current user */
acl_user= find_user_wild(host, user, ip);
if (acl_user == NULL)
- result= ER_INVALID_CURRENT_USER;
+ result= ER_INVALID_TARGET_USER;
else if (access)
*access= acl_user->access;
@@ -2724,8 +2724,8 @@ end:
privileges to know if the INVALID_ROLE exists. */
switch (result)
{
- case ER_INVALID_CURRENT_USER:
- my_error(ER_INVALID_CURRENT_USER, MYF(0), rolename);
+ case ER_INVALID_TARGET_USER:
+ my_error(ER_INVALID_TARGET_USER, MYF(0), rolename);
break;
case ER_INVALID_ROLE:
/* Role doesn't exist at all */