Hi, Oleksandr, On Oct 09, Oleksandr Byelkin wrote:
revision-id: 778c67f7af0 (mariadb-10.5.26-154-g778c67f7af0) parent(s): e9c999caf48 author: Oleksandr Byelkin committer: Oleksandr Byelkin timestamp: 2024-10-04 09:28:46 +0200 message:
MDEV-18151 Skipped error returning for GRANT/SET PASSWORD
Make error issueing for GRANT and SET PASSWORD the same.
typo. "issuing"
Report errors wich were skipped before.
diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc --- a/sql/sql_acl.cc +++ b/sql/sql_acl.cc @@ -2370,6 +2369,21 @@ static int set_user_auth(THD *thd, const LEX_CSTRING &user,
res= 0; end: + switch(res) + { + case ER_OUTOFMEMORY: // should be reported by my_malloc + case ER_NOT_VALID_PASSWORD: // should be reported by plugin + case 0: + break; + case ER_SET_PASSWORD_AUTH_PLUGIN: + my_error(res, MYF(0), plugin_name); + break; + case ER_PASSWD_LENGTH: + my_error(ER_PASSWD_LENGTH, MYF(0), SCRAMBLED_PASSWORD_CHAR_LENGTH);
this is also reported by the plugin. The caller doesn't know what the correct length is, it's not SCRAMBLED_PASSWORD_CHAR_LENGTH, this value is different for different plugins.
+ break; + default: + DBUG_ASSERT(0); + } if (unlock_plugin) plugin_unlock(thd, plugin); return res;
Regards, Sergei Chief Architect, MariaDB Server and security@mariadb.org