5.2 merge
This commit is contained in:
commit
a0ea960c3e
10
mysql-test/include/have_unix_socket.inc
Normal file
10
mysql-test/include/have_unix_socket.inc
Normal file
@ -0,0 +1,10 @@
|
||||
--source include/not_embedded.inc
|
||||
|
||||
if (!$AUTH_SOCKET_SO) {
|
||||
skip No unix_socket plugin;
|
||||
}
|
||||
|
||||
if (!$USER) {
|
||||
skip USER variable is undefined;
|
||||
}
|
||||
|
12
mysql-test/r/failed_auth_unixsocket.result
Normal file
12
mysql-test/r/failed_auth_unixsocket.result
Normal file
@ -0,0 +1,12 @@
|
||||
update mysql.user set plugin='unix_socket';
|
||||
flush privileges;
|
||||
connect(localhost,USER,,test,MASTER_PORT,MASTER_SOCKET);
|
||||
ERROR HY000: Plugin 'unix_socket' is not loaded
|
||||
ERROR HY000: Plugin 'unix_socket' is not loaded
|
||||
install plugin unix_socket soname 'auth_socket.so';
|
||||
connect(localhost,USER,,test,MASTER_PORT,MASTER_SOCKET);
|
||||
ERROR 28000: Access denied for user 'USER'@'localhost' (using password: NO)
|
||||
ERROR 28000: Access denied for user 'USER'@'localhost' (using password: NO)
|
||||
update mysql.user set plugin='';
|
||||
flush privileges;
|
||||
uninstall plugin unix_socket;
|
@ -1,8 +1,4 @@
|
||||
--source include/not_embedded.inc
|
||||
|
||||
if (!$AUTH_SOCKET_SO) {
|
||||
skip No auth_socket plugin;
|
||||
}
|
||||
--source include/have_unix_socket.inc
|
||||
|
||||
let $plugindir=`SELECT @@global.plugin_dir`;
|
||||
|
||||
|
29
mysql-test/t/failed_auth_unixsocket.test
Normal file
29
mysql-test/t/failed_auth_unixsocket.test
Normal file
@ -0,0 +1,29 @@
|
||||
--source include/have_unix_socket.inc
|
||||
|
||||
#
|
||||
# MDEV-3909 remote user enumeration
|
||||
# unix_socket tests
|
||||
#
|
||||
update mysql.user set plugin='unix_socket';
|
||||
flush privileges;
|
||||
|
||||
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT $USER USER
|
||||
--error ER_PLUGIN_IS_NOT_LOADED
|
||||
connect (fail,localhost,$USER);
|
||||
|
||||
--error ER_PLUGIN_IS_NOT_LOADED
|
||||
change_user $USER;
|
||||
|
||||
eval install plugin unix_socket soname '$AUTH_SOCKET_SO';
|
||||
|
||||
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT $USER USER
|
||||
--error ER_ACCESS_DENIED_ERROR
|
||||
connect (fail,localhost,$USER);
|
||||
|
||||
--error ER_ACCESS_DENIED_ERROR
|
||||
change_user $USER;
|
||||
|
||||
update mysql.user set plugin='';
|
||||
flush privileges;
|
||||
uninstall plugin unix_socket;
|
||||
|
@ -8193,7 +8193,12 @@ bool acl_authenticate(THD *thd, uint connect_errors,
|
||||
auth_plugin_name= &mpvio.acl_user->plugin;
|
||||
res= do_auth_once(thd, auth_plugin_name, &mpvio);
|
||||
}
|
||||
|
||||
if (mpvio.make_it_fail)
|
||||
{
|
||||
mpvio.status= MPVIO_EXT::FAILURE;
|
||||
res= CR_ERROR;
|
||||
}
|
||||
|
||||
Security_context *sctx= thd->security_ctx;
|
||||
ACL_USER *acl_user= mpvio.acl_user;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user