1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Bug #11766641: 59792: BIN/MYSQL -UUNKNOWN -PUNKNOWN

.-> USING PASSWORD: NO

The server was always setting the flag for using password to NO and
then relying on the server authentication plugin to update it if it uses
a password.
This creates compatibility problems with 5.1 when rejecting a 
nonexistent user login.
Set the default for the password supplied flag for non-existing users
as the default plugin (native password authentication) would do it
for compatibility reasons.
Test case added.
federated.result updated with the correct error message.
This commit is contained in:
Georgi Kodinov
2011-05-16 19:46:44 +03:00
parent f0594c55f9
commit 3b69f27e59
4 changed files with 32 additions and 2 deletions

View File

@ -8232,7 +8232,7 @@ static bool find_mpvio_user(MPVIO_EXT *mpvio)
if (!mpvio->acl_user)
{
login_failed_error(mpvio, 0);
login_failed_error(mpvio, mpvio->auth_info.password_used);
DBUG_RETURN (1);
}
@ -8680,6 +8680,14 @@ static ulong parse_client_handshake_packet(MPVIO_EXT *mpvio,
return packet_error;
}
/*
Set the default for the password supplied flag for non-existing users
as the default plugin (native passsword authentication) would do it
for compatibility reasons.
*/
if (passwd_len)
mpvio->auth_info.password_used= PASSWORD_USED_YES;
size_t client_plugin_len= 0;
char *client_plugin= get_string(&end, &bytes_remaining_in_packet,
&client_plugin_len);