167 lines
5.2 KiB
Plaintext
167 lines
5.2 KiB
Plaintext
|
|
# Save the initial number of concurrent sessions
|
|
--source include/count_sessions.inc
|
|
|
|
--echo #
|
|
--echo # WL#11381: Add asynchronous support into the mysql protocol
|
|
--echo #
|
|
|
|
--echo # case1: default connection with default authentication plugin
|
|
CREATE DATABASE wl11381;
|
|
CREATE USER caching_sha2@localhost IDENTIFIED BY 'caching';
|
|
GRANT ALL ON *.* TO caching_sha2@localhost;
|
|
|
|
--enable_async_client
|
|
|
|
--echo # connect as caching_sha2
|
|
connect(caching_con1,localhost,caching_sha2,caching,wl11381,,,SSL);
|
|
SELECT USER(), DATABASE();
|
|
|
|
USE wl11381;
|
|
CREATE TABLE t1(i INT, j VARCHAR(2048));
|
|
INSERT INTO t1 VALUES(1,repeat('a',1000)),(2,repeat('def',600));
|
|
SELECT * FROM t1;
|
|
|
|
--echo # case2: request a large packet
|
|
SET GLOBAL max_allowed_packet=4*1024;
|
|
SELECT SPACE(@@global.max_allowed_packet);
|
|
SET GLOBAL max_allowed_packet=default;
|
|
|
|
connection default;
|
|
disconnect caching_con1;
|
|
|
|
--echo # connect with wrong password
|
|
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT
|
|
--error ER_ACCESS_DENIED_ERROR
|
|
connect(caching_con2,localhost,caching_sha2,caching1,wl11381,,,SSL);
|
|
|
|
--echo # check for timeout
|
|
connect(caching_con3,localhost,caching_sha2,caching,wl11381,,,SSL);
|
|
SELECT USER();
|
|
SET @@SESSION.wait_timeout = 2;
|
|
SELECT SLEEP(10);
|
|
|
|
--echo # Check that ssl_con has not disconnected
|
|
SELECT 1;
|
|
|
|
connection default;
|
|
disconnect caching_con3;
|
|
|
|
--disable_async_client
|
|
--echo # lock the account
|
|
ALTER USER caching_sha2@localhost ACCOUNT LOCK;
|
|
--enable_async_client
|
|
|
|
--echo # account is locked so connect should fail
|
|
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT
|
|
--error 3118
|
|
connect(caching_con3,localhost,caching_sha2,caching,wl11381,,,SSL);
|
|
|
|
connection default;
|
|
--disable_async_client
|
|
--echo # lock the account
|
|
ALTER USER caching_sha2@localhost ACCOUNT UNLOCK;
|
|
--enable_async_client
|
|
|
|
--echo # account is unlocked so connect should pass
|
|
connect(caching_con3,localhost,caching_sha2,caching,wl11381,,,SSL);
|
|
SELECT "connect succeeded after account is unlocked";
|
|
|
|
connection default;
|
|
disconnect caching_con3;
|
|
|
|
--disable_async_client
|
|
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
|
|
--let $restart_parameters=restart: --ssl=off --loose-caching_sha2_password_private_key_path=$MYSQL_TEST_DIR/std_data/rsa_private_key.pem --loose-caching_sha2_password_public_key_path=$MYSQL_TEST_DIR/std_data/rsa_public_key.pem
|
|
--source include/restart_mysqld.inc
|
|
--enable_async_client
|
|
|
|
--echo # connect as caching_sha2 with SSL disabled
|
|
connect(caching_con4,localhost,caching_sha2,caching,wl11381,,,);
|
|
SELECT USER();
|
|
|
|
connection default;
|
|
disconnect caching_con4;
|
|
|
|
# default connection on windows is a NAMED_PIPE, on this type of connection
|
|
# async operations are not allowed, so disable it.
|
|
--disable_async_client
|
|
--echo # change to empty password
|
|
ALTER USER caching_sha2@localhost IDENTIFIED BY '';
|
|
--enable_async_client
|
|
|
|
--echo # connect as caching_sha2 with SSL disabled and empty password
|
|
connect(caching_con5,localhost,caching_sha2,,wl11381,,,);
|
|
SELECT USER();
|
|
|
|
connection default;
|
|
disconnect caching_con5;
|
|
|
|
--disable_async_client
|
|
--echo # case3: authenticate user with sha256_password
|
|
CREATE USER sha256@localhost IDENTIFIED WITH 'sha256_password' BY 'auth_string';
|
|
--let $restart_parameters=restart: --default-authentication-plugin=sha256_password
|
|
--source include/restart_mysqld.inc
|
|
--enable_async_client
|
|
|
|
--echo # connect as sha256
|
|
connect(sha256_con1,localhost,sha256,auth_string,,,,SSL,sha256_password);
|
|
SELECT USER();
|
|
|
|
connection default;
|
|
disconnect sha256_con1;
|
|
|
|
--disable_async_client
|
|
--echo # change to empty password
|
|
ALTER USER sha256@localhost IDENTIFIED BY '';
|
|
--enable_async_client
|
|
|
|
--echo # connect with empty password
|
|
connect(sha256_con2,localhost,sha256,,,,,SSL,sha256_password);
|
|
SELECT USER();
|
|
|
|
connection default;
|
|
disconnect sha256_con2;
|
|
|
|
--disable_async_client
|
|
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
|
|
--let $restart_parameters=restart: --default-authentication-plugin=sha256_password --ssl=off --loose-sha256_password_private_key_path=$MYSQL_TEST_DIR/std_data/rsa_private_key.pem --loose-sha256_password_public_key_path=$MYSQL_TEST_DIR/std_data/rsa_public_key.pem
|
|
--source include/restart_mysqld.inc
|
|
--enable_async_client
|
|
|
|
--echo # connect with wrong password and SSL disabled
|
|
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT
|
|
--error ER_ACCESS_DENIED_ERROR, CR_AUTH_PLUGIN_ERR
|
|
connect(sha256_con3,localhost,sha256,auth_string,,,,,sha256_password);
|
|
|
|
--disable_async_client
|
|
--echo # case4: authenticate user with mysql_native_password
|
|
CREATE USER native_user@localhost IDENTIFIED WITH 'mysql_native_password' BY 'native';
|
|
--let $restart_parameters=restart: --default-authentication-plugin=mysql_native_password
|
|
--source include/restart_mysqld.inc
|
|
--enable_async_client
|
|
|
|
--echo # connect as native_user
|
|
connect(native_con1,localhost,native_user,native,,,,,mysql_native_password);
|
|
SELECT USER();
|
|
|
|
connection default;
|
|
disconnect native_con1;
|
|
|
|
--disable_async_client
|
|
--echo # Change to empty password
|
|
ALTER USER native_user@localhost IDENTIFIED BY '';
|
|
--enable_async_client
|
|
|
|
--echo # connect as native_user with empty password
|
|
connect(native_con2,localhost,native_user,,,,,,mysql_native_password);
|
|
SELECT USER();
|
|
|
|
connection default;
|
|
disconnect native_con2;
|
|
|
|
#cleanup
|
|
--disable_async_client
|
|
DROP USER sha256@localhost, native_user@localhost, caching_sha2@localhost;
|
|
DROP DATABASE wl11381;
|