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
|
IS_NULLABLE COLUMN_NAME
|
||||||
YES authentication_string
|
YES authentication_string
|
||||||
YES plugin
|
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
|
End of 5.5 tests
|
||||||
|
@ -60,7 +60,7 @@ CREATE TABLE federated.t1 (
|
|||||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||||
CONNECTION='mysql://user:pass@127.0.0.1:SLAVE_PORT/federated/t1';
|
CONNECTION='mysql://user:pass@127.0.0.1:SLAVE_PORT/federated/t1';
|
||||||
SELECT * FROM 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;
|
DROP TABLE federated.t1;
|
||||||
CREATE TABLE federated.t1 (
|
CREATE TABLE federated.t1 (
|
||||||
`id` int(20) NOT NULL,
|
`id` int(20) NOT NULL,
|
||||||
|
@ -512,4 +512,18 @@ SELECT IS_NULLABLE, COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS
|
|||||||
ORDER BY COLUMN_NAME;
|
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
|
--echo End of 5.5 tests
|
||||||
|
@ -8232,7 +8232,7 @@ static bool find_mpvio_user(MPVIO_EXT *mpvio)
|
|||||||
|
|
||||||
if (!mpvio->acl_user)
|
if (!mpvio->acl_user)
|
||||||
{
|
{
|
||||||
login_failed_error(mpvio, 0);
|
login_failed_error(mpvio, mpvio->auth_info.password_used);
|
||||||
DBUG_RETURN (1);
|
DBUG_RETURN (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -8680,6 +8680,14 @@ static ulong parse_client_handshake_packet(MPVIO_EXT *mpvio,
|
|||||||
return packet_error;
|
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;
|
size_t client_plugin_len= 0;
|
||||||
char *client_plugin= get_string(&end, &bytes_remaining_in_packet,
|
char *client_plugin= get_string(&end, &bytes_remaining_in_packet,
|
||||||
&client_plugin_len);
|
&client_plugin_len);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user