1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-07 00:04:31 +03:00

MDEV-7598 Lock user after too many password errors

This commit is contained in:
Vladislav Vaintroub
2018-12-05 13:13:07 +01:00
parent 30da40bb8c
commit 83c81d8991
17 changed files with 305 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
set @old_max_password_errors=@@max_password_errors;
create user nosuchuser identified with 'named_pipe';
set global max_password_errors=1;
connect(localhost,nosuchuser,,test,MASTER_PORT,MASTER_SOCKET);
connect pipe_con,localhost,nosuchuser,,,,,PIPE;
ERROR 28000: Access denied for user 'nosuchuser'@'localhost'
connect(localhost,nosuchuser,,test,MASTER_PORT,MASTER_SOCKET);
connect pipe_con,localhost,nosuchuser,,,,,PIPE;
ERROR 28000: Access denied for user 'nosuchuser'@'localhost'
DROP USER nosuchuser;
FLUSH PRIVILEGES;
set global max_password_errors=@old_max_password_errors;

View File

@@ -0,0 +1,12 @@
set @old_max_password_errors=@@max_password_errors;
create user nosuchuser identified with 'unix_socket';
set global max_password_errors=1;
connect(localhost,nosuchuser,,test,MASTER_PORT,MASTER_SOCKET);
connect pipe_con,localhost,nosuchuser;
ERROR 28000: Access denied for user 'nosuchuser'@'localhost'
connect(localhost,nosuchuser,,test,MASTER_PORT,MASTER_SOCKET);
connect pipe_con,localhost,nosuchuser;
ERROR 28000: Access denied for user 'nosuchuser'@'localhost'
DROP USER nosuchuser;
FLUSH PRIVILEGES;
set global max_password_errors=@old_max_password_errors;

View File

@@ -0,0 +1 @@
--loose-enable-named-pipe --plugin-load=$AUTH_NAMED_PIPE_SO

View File

@@ -0,0 +1,22 @@
# Tests that max_password_errors has no effect on login errors with
# passwordless plugins (Windows version / auth_named_pipe)
--source include/not_embedded.inc
--source include/have_auth_named_pipe.inc
if (`SELECT '$USERNAME' = 'nosuchuser'`) {
skip skipped for nosuchuser;
}
set @old_max_password_errors=@@max_password_errors;
create user nosuchuser identified with 'named_pipe';
set global max_password_errors=1;
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT
error ER_ACCESS_DENIED_NO_PASSWORD_ERROR;
connect(pipe_con,localhost,nosuchuser,,,,,PIPE);
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT
error ER_ACCESS_DENIED_NO_PASSWORD_ERROR;
connect(pipe_con,localhost,nosuchuser,,,,,PIPE);
DROP USER nosuchuser;
FLUSH PRIVILEGES;
set global max_password_errors=@old_max_password_errors;

View File

@@ -0,0 +1 @@
--loose-enable-named-pipe --plugin-load=$AUTH_SOCKET_SO

View File

@@ -0,0 +1,23 @@
# Tests that max_password_errors has no effect on login errors with
# passwordless plugins (Unix version / auth_unix_socket)
--source include/not_embedded.inc
--source include/have_unix_socket.inc
if (`SELECT '$USER' = 'nosuchuser'`) {
skip USER is nosuchuser;
}
set @old_max_password_errors=@@max_password_errors;
create user nosuchuser identified with 'unix_socket';
set global max_password_errors=1;
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT
error ER_ACCESS_DENIED_NO_PASSWORD_ERROR;
connect(pipe_con,localhost,nosuchuser);
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT
error ER_ACCESS_DENIED_NO_PASSWORD_ERROR;
connect(pipe_con,localhost,nosuchuser);
DROP USER nosuchuser;
FLUSH PRIVILEGES;
set global max_password_errors=@old_max_password_errors;