sql_parse.cc:

  Fix for the bug 1175: Usernames will not converted to utf8 during connect
parent b15ea37f
......@@ -834,6 +834,7 @@ static int check_connection(THD *thd)
char *passwd= strend(user)+1;
char *db= passwd;
char db_buff[NAME_LEN+1]; // buffer to store db in utf8
char user_buff[USERNAME_LENGTH+1]; // buffer to store user in utf8
/*
Old clients send null-terminated string as password; new clients send
the size (1 byte) + string (not null-terminated). Hence in case of empty
......@@ -854,6 +855,14 @@ static int check_connection(THD *thd)
db= db_buff;
}
if (user)
{
user_buff[copy_and_convert(user_buff, sizeof(user_buff)-1,
system_charset_info, user, strlen(user),
thd->charset())]= '\0';
user= user_buff;
}
if (thd->user)
x_free(thd->user);
if (!(thd->user= my_strdup(user, MYF(0))))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment