summaryrefslogtreecommitdiff
path: root/mysql-test/main/failed_auth_unixsocket.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/main/failed_auth_unixsocket.test')
-rw-r--r--mysql-test/main/failed_auth_unixsocket.test36
1 files changed, 36 insertions, 0 deletions
diff --git a/mysql-test/main/failed_auth_unixsocket.test b/mysql-test/main/failed_auth_unixsocket.test
new file mode 100644
index 00000000000..f7345f44698
--- /dev/null
+++ b/mysql-test/main/failed_auth_unixsocket.test
@@ -0,0 +1,36 @@
+--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';
+
+# Make sure that the replace works, even if $USER is 'user' or something else
+# that matches other parts of the error message.
+--echo connect(localhost,USER,,test,MASTER_PORT,MASTER_SOCKET);
+--let $replace=Access denied for user '$USER'
+--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT $replace "Access denied for user 'USER'"
+--disable_query_log
+--error ER_ACCESS_DENIED_NO_PASSWORD_ERROR
+connect (fail,localhost,$USER);
+--enable_query_log
+
+--replace_result $replace "Access denied for user 'USER'"
+--error ER_ACCESS_DENIED_NO_PASSWORD_ERROR
+change_user $USER;
+
+update mysql.user set plugin='';
+flush privileges;
+uninstall plugin unix_socket;
+