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:
parent
f0594c55f9
commit
3b69f27e59
@ -447,4 +447,12 @@ ORDER BY COLUMN_NAME;
|
||||
IS_NULLABLE COLUMN_NAME
|
||||
YES authentication_string
|
||||
YES plugin
|
||||
#
|
||||
# Bug # 11766641: 59792: BIN/MYSQL -UUNKNOWN -PUNKNOWN
|
||||
# .-> USING PASSWORD: NO
|
||||
#
|
||||
# shoud contain "using password=yes"
|
||||
ERROR 1045 (28000): Access denied for user 'unknown'@'localhost' (using password: YES)
|
||||
# shoud contain "using password=no"
|
||||
ERROR 1045 (28000): Access denied for user 'unknown'@'localhost' (using password: NO)
|
||||
End of 5.5 tests
|
||||
|
@ -60,7 +60,7 @@ CREATE TABLE federated.t1 (
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
CONNECTION='mysql://user:pass@127.0.0.1:SLAVE_PORT/federated/t1';
|
||||
SELECT * FROM federated.t1;
|
||||
ERROR HY000: Unable to connect to foreign data source: Access denied for user 'user'@'localhost' (using password: NO)
|
||||
ERROR HY000: Unable to connect to foreign data source: Access denied for user 'user'@'localhost' (using password: YES)
|
||||
DROP TABLE federated.t1;
|
||||
CREATE TABLE federated.t1 (
|
||||
`id` int(20) NOT NULL,
|
||||
|
@ -512,4 +512,18 @@ SELECT IS_NULLABLE, COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS
|
||||
ORDER BY COLUMN_NAME;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Bug # 11766641: 59792: BIN/MYSQL -UUNKNOWN -PUNKNOWN
|
||||
--echo # .-> USING PASSWORD: NO
|
||||
--echo #
|
||||
|
||||
--echo # shoud contain "using password=yes"
|
||||
--error 1
|
||||
--exec $MYSQL -uunknown -punknown 2>&1
|
||||
|
||||
--echo # shoud contain "using password=no"
|
||||
--error 1
|
||||
--exec $MYSQL -uunknown 2>&1
|
||||
|
||||
|
||||
--echo End of 5.5 tests
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user