mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Add proper error message for old client connecting new server using user which has password in
new format SCRUM
This commit is contained in:
@ -265,4 +265,5 @@
|
||||
#define ER_DERIVED_MUST_HAVE_ALIAS 1246
|
||||
#define ER_SELECT_REDUCED 1247
|
||||
#define ER_TABLENAME_NOT_ALLOWED_HERE 1248
|
||||
#define ER_ERROR_MESSAGES 249
|
||||
#define ER_NOT_SUPPORTED_AUTH_MODE 1249
|
||||
#define ER_ERROR_MESSAGES 250
|
||||
|
@ -259,3 +259,4 @@ v/*
|
||||
"Every derived table must have it's own alias"
|
||||
"Select %u was reduced during optimisation",
|
||||
"Table '%-.64s' from one of SELECT's can not be used in %-.32s"
|
||||
"Client does not support authentication protocol requested by server. Consider upgrading MySQL client"
|
@ -253,3 +253,4 @@
|
||||
"Every derived table must have it's own alias"
|
||||
"Select %u was reduced during optimisation",
|
||||
"Table '%-.64s' from one of SELECT's can not be used in %-.32s"
|
||||
"Client does not support authentication protocol requested by server. Consider upgrading MySQL client"
|
@ -261,3 +261,4 @@
|
||||
"Every derived table must have it's own alias"
|
||||
"Select %u was reduced during optimisation",
|
||||
"Table '%-.64s' from one of SELECT's can not be used in %-.32s"
|
||||
"Client does not support authentication protocol requested by server. Consider upgrading MySQL client"
|
@ -250,3 +250,4 @@
|
||||
"Every derived table must have it's own alias",
|
||||
"Select %u was reduced during optimisation",
|
||||
"Table '%-.64s' from one of SELECT's can not be used in %-.32s"
|
||||
"Client does not support authentication protocol requested by server. Consider upgrading MySQL client"
|
@ -255,3 +255,4 @@
|
||||
"Every derived table must have it's own alias"
|
||||
"Select %u was reduced during optimisation",
|
||||
"Table '%-.64s' from one of SELECT's can not be used in %-.32s"
|
||||
"Client does not support authentication protocol requested by server. Consider upgrading MySQL client"
|
@ -250,3 +250,4 @@
|
||||
"Every derived table must have it's own alias"
|
||||
"Select %u was reduced during optimisation",
|
||||
"Table '%-.64s' from one of SELECT's can not be used in %-.32s"
|
||||
"Client does not support authentication protocol requested by server. Consider upgrading MySQL client"
|
@ -260,3 +260,4 @@
|
||||
"F<>r jede abgeleitete Tabelle muss ein eigener Alias angegeben werden.",
|
||||
"Select %u wurde w<>hrend der Optimierung reduziert.",
|
||||
"Tabelle '%-.64s', die in einem der SELECT-Befehle verwendet wurde kann nicht in %-.32s verwendet werden."
|
||||
"Client does not support authentication protocol requested by server. Consider upgrading MySQL client"
|
@ -250,3 +250,4 @@
|
||||
"Every derived table must have it's own alias"
|
||||
"Select %u was reduced during optimisation",
|
||||
"Table '%-.64s' from one of SELECT's can not be used in %-.32s"
|
||||
"Client does not support authentication protocol requested by server. Consider upgrading MySQL client"
|
@ -252,3 +252,4 @@
|
||||
"Every derived table must have it's own alias"
|
||||
"Select %u was reduced during optimisation",
|
||||
"Table '%-.64s' from one of SELECT's can not be used in %-.32s"
|
||||
"Client does not support authentication protocol requested by server. Consider upgrading MySQL client"
|
@ -250,3 +250,4 @@
|
||||
"Every derived table must have it's own alias"
|
||||
"Select %u was reduced during optimisation",
|
||||
"Table '%-.64s' from one of SELECT's can not be used in %-.32s"
|
||||
"Client does not support authentication protocol requested by server. Consider upgrading MySQL client"
|
@ -252,3 +252,4 @@
|
||||
"Every derived table must have it's own alias"
|
||||
"Select %u was reduced during optimisation",
|
||||
"Table '%-.64s' from one of SELECT's can not be used in %-.32s"
|
||||
"Client does not support authentication protocol requested by server. Consider upgrading MySQL client"
|
@ -250,3 +250,4 @@
|
||||
"Every derived table must have it's own alias"
|
||||
"Select %u was reduced during optimisation",
|
||||
"Table '%-.64s' from one of SELECT's can not be used in %-.32s"
|
||||
"Client does not support authentication protocol requested by server. Consider upgrading MySQL client"
|
@ -252,3 +252,4 @@
|
||||
"Every derived table must have it's own alias"
|
||||
"Select %u was reduced during optimisation",
|
||||
"Table '%-.64s' from one of SELECT's can not be used in %-.32s"
|
||||
"Client does not support authentication protocol requested by server. Consider upgrading MySQL client"
|
@ -252,3 +252,4 @@
|
||||
"Every derived table must have it's own alias"
|
||||
"Select %u was reduced during optimisation",
|
||||
"Table '%-.64s' from one of SELECT's can not be used in %-.32s"
|
||||
"Client does not support authentication protocol requested by server. Consider upgrading MySQL client"
|
@ -254,3 +254,4 @@
|
||||
"Every derived table must have it's own alias"
|
||||
"Select %u was reduced during optimisation",
|
||||
"Table '%-.64s' from one of SELECT's can not be used in %-.32s"
|
||||
"Client does not support authentication protocol requested by server. Consider upgrading MySQL client"
|
@ -250,3 +250,4 @@
|
||||
"Every derived table must have it's own alias"
|
||||
"Select %u was reduced during optimisation",
|
||||
"Table '%-.64s' from one of SELECT's can not be used in %-.32s"
|
||||
"Client does not support authentication protocol requested by server. Consider upgrading MySQL client"
|
@ -254,3 +254,4 @@
|
||||
"Every derived table must have it's own alias"
|
||||
"Select %u was reduced during optimisation",
|
||||
"Table '%-.64s' from one of SELECT's can not be used in %-.32s"
|
||||
"Client does not support authentication protocol requested by server. Consider upgrading MySQL client"
|
@ -253,3 +253,4 @@
|
||||
"Every derived table must have it's own alias"
|
||||
"Select %u <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
||||
"Table '%-.64s' from one of SELECT's can not be used in %-.32s"
|
||||
"Client does not support authentication protocol requested by server. Consider upgrading MySQL client"
|
@ -246,3 +246,4 @@
|
||||
"Every derived table must have it's own alias"
|
||||
"Select %u was reduced during optimisation",
|
||||
"Table '%-.64s' from one of SELECT's can not be used in %-.32s"
|
||||
"Client does not support authentication protocol requested by server. Consider upgrading MySQL client"
|
@ -258,3 +258,4 @@
|
||||
"Every derived table must have it's own alias"
|
||||
"Select %u was reduced during optimisation",
|
||||
"Table '%-.64s' from one of SELECT's can not be used in %-.32s"
|
||||
"Client does not support authentication protocol requested by server. Consider upgrading MySQL client"
|
@ -251,3 +251,4 @@
|
||||
"Every derived table must have it's own alias"
|
||||
"Select %u was reduced during optimisation",
|
||||
"Table '%-.64s' from one of SELECT's can not be used in %-.32s"
|
||||
"Client does not support authentication protocol requested by server. Consider upgrading MySQL client"
|
@ -250,3 +250,4 @@
|
||||
"Every derived table must have it's own alias"
|
||||
"Select %u was reduced during optimisation",
|
||||
"Table '%-.64s' from one of SELECT's can not be used in %-.32s"
|
||||
"Client does not support authentication protocol requested by server. Consider upgrading MySQL client"
|
@ -255,3 +255,4 @@
|
||||
"Every derived table must have it's own alias"
|
||||
"Select %u was <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>i<EFBFBD><69><EFBFBD>ii",
|
||||
"Table '%-.64s' from one of SELECT's can not be used in %-.32s"
|
||||
"Client does not support authentication protocol requested by server. Consider upgrading MySQL client"
|
@ -189,9 +189,9 @@ end:
|
||||
|
||||
static int check_user(THD *thd,enum_server_command command, const char *user,
|
||||
const char *passwd, const char *db, bool check_count,
|
||||
bool do_send_error, char* crypted_scramble,
|
||||
bool had_password,uint *cur_priv_version,
|
||||
ACL_USER** hint_user)
|
||||
bool simple_connect, bool do_send_error,
|
||||
char* crypted_scramble, bool had_password,
|
||||
uint *cur_priv_version, ACL_USER** hint_user)
|
||||
{
|
||||
thd->db=0;
|
||||
thd->db_length=0;
|
||||
@ -221,6 +221,14 @@ static int check_user(THD *thd,enum_server_command command, const char *user,
|
||||
if (thd->master_access & NO_ACCESS)
|
||||
{
|
||||
if (do_send_error)
|
||||
{
|
||||
/* Old client should get nicer error message if password version is not supported*/
|
||||
if (simple_connect && *hint_user && (*hint_user)->pversion)
|
||||
{
|
||||
net_printf(thd, ER_NOT_SUPPORTED_AUTH_MODE);
|
||||
mysql_log.write(thd,COM_CONNECT,ER(ER_NOT_SUPPORTED_AUTH_MODE));
|
||||
}
|
||||
else
|
||||
{
|
||||
net_printf(thd, ER_ACCESS_DENIED_ERROR,
|
||||
thd->user,
|
||||
@ -230,6 +238,7 @@ static int check_user(THD *thd,enum_server_command command, const char *user,
|
||||
thd->user,
|
||||
thd->host_or_ip,
|
||||
had_password ? ER(ER_YES) : ER(ER_NO));
|
||||
}
|
||||
return(1); // Error already given
|
||||
}
|
||||
else
|
||||
@ -638,8 +647,9 @@ check_connections(THD *thd)
|
||||
/* Store information if we used password. passwd will be dammaged */
|
||||
bool using_password=test(passwd[0]);
|
||||
/* Check user permissions. If password failure we'll get scramble back */
|
||||
if (check_user(thd,COM_CONNECT, user, passwd, db, 1, simple_connect,
|
||||
prepared_scramble,using_password,&cur_priv_version,&cached_user)<0)
|
||||
if (check_user(thd, COM_CONNECT, user, passwd, db, 1, simple_connect,
|
||||
simple_connect, prepared_scramble, using_password, &cur_priv_version,
|
||||
&cached_user)<0)
|
||||
{
|
||||
/* If The client is old we just have to return error */
|
||||
if (simple_connect)
|
||||
@ -679,7 +689,7 @@ check_connections(THD *thd)
|
||||
}
|
||||
/* Final attempt to check the user based on reply */
|
||||
if (check_user(thd,COM_CONNECT, tmp_user, (char*)net->read_pos,
|
||||
tmp_db, 1, 1,prepared_scramble,using_password,&cur_priv_version,
|
||||
tmp_db, 1, 0, 1, prepared_scramble, using_password, &cur_priv_version,
|
||||
&cached_user))
|
||||
return -1;
|
||||
}
|
||||
@ -1077,7 +1087,8 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
|
||||
Do not retry if we already have sent error (result>0)
|
||||
*/
|
||||
if (check_user(thd,COM_CHANGE_USER, user, passwd, db, 0, simple_connect,
|
||||
prepared_scramble,using_password,&cur_priv_version,&cached_user)<0)
|
||||
simple_connect, prepared_scramble, using_password, &cur_priv_version,
|
||||
&cached_user)<0)
|
||||
{
|
||||
/* If The client is old we just have to have auth failure */
|
||||
if (simple_connect)
|
||||
@ -1112,7 +1123,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
|
||||
|
||||
/* Final attempt to check the user based on reply */
|
||||
if (check_user(thd,COM_CHANGE_USER, tmp_user, (char*)net->read_pos,
|
||||
tmp_db, 0, 1,prepared_scramble,using_password,&cur_priv_version,
|
||||
tmp_db, 0, 0, 1, prepared_scramble, using_password, &cur_priv_version,
|
||||
&cached_user))
|
||||
goto restore_user;
|
||||
}
|
||||
|
Reference in New Issue
Block a user