Commit 81957483 authored by unknown's avatar unknown

Embedded server with authenticaction fixed after connection attributes port.

parent 60c55522
......@@ -701,6 +701,7 @@ void *create_embedded_thd(int client_flag)
}
#ifdef NO_EMBEDDED_ACCESS_CHECKS
static void
emb_transfer_connect_attrs(MYSQL *mysql)
{
......@@ -723,7 +724,6 @@ emb_transfer_connect_attrs(MYSQL *mysql)
}
#ifdef NO_EMBEDDED_ACCESS_CHECKS
int check_embedded_connection(MYSQL *mysql, const char *db)
{
int result;
......@@ -766,8 +766,9 @@ int check_embedded_connection(MYSQL *mysql, const char *db)
(mysql->options.extension) ?
mysql->options.extension->connection_attributes_length : 0;
buf= my_alloca(USERNAME_LENGTH + SCRAMBLE_LENGTH + 1 + 2*NAME_LEN + 2 +
connect_attrs_len + 2);
buf= (char *)my_alloca(USERNAME_LENGTH + SCRAMBLE_LENGTH + 1 +
2*NAME_LEN + 2 +
connect_attrs_len + 2);
if (mysql->options.client_ip)
{
sctx->host= my_strdup(mysql->options.client_ip, MYF(0));
......@@ -801,7 +802,8 @@ int check_embedded_connection(MYSQL *mysql, const char *db)
int2store(end, (ushort) mysql->charset->number);
end+= 2;
end= strmake(end, "mysql_native_password", NAME_LEN) + 1;
// There is no pluging compatibility in the embedded server
//end= strmake(end, "mysql_native_password", NAME_LEN) + 1;
/* the server does the same as the client */
mysql->server_capabilities= mysql->client_flag;
......
......@@ -8398,7 +8398,10 @@ static bool parse_com_change_user_packet(MPVIO_EXT *mpvio, uint packet_length)
if ((mpvio->thd->client_capabilities & CLIENT_CONNECT_ATTRS) &&
read_client_connect_attrs(&next_field, end,
mpvio->thd->charset()))
return packet_error;
{
my_message(ER_UNKNOWN_COM_ERROR, ER(ER_UNKNOWN_COM_ERROR), MYF(0));
DBUG_RETURN(packet_error);
}
DBUG_PRINT("info", ("client_plugin=%s, restart", client_plugin));
/*
......
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