mariadb/mysql-test/main/connect_debug.test
Sergei Golubchik 3f9182126c mysqltest: support MARIADB_OPT_RESTRICTED_AUTH
C/C 3.4 disables mysql_old_password by default, so

add an option for the `connect` command to support specifying
allowed authentication plugins (MARIADB_OPT_RESTRICTED_AUTH).

use it to enable mysql_old_password when needed for testing
2024-04-22 14:59:05 +02:00

60 lines
1.6 KiB
Text

source include/not_embedded.inc;
source include/have_debug.inc;
set @old_dbug=@@global.debug_dbug;
#
# use after free if need plugin change and auth aborted
#
set global debug_dbug='+d,auth_disconnect';
create user 'bad' identified by 'worse';
--error 1
--exec $MYSQL --default-auth=mysql_old_password --user=bad --password=worse
set global debug_dbug=@old_dbug;
drop user bad;
#
# malicious server, invalid plugin name
#
set global debug_dbug='+d,auth_invalid_plugin';
create user 'bad' identified by 'worse';
--replace_regex /loaded: [^\n]*/loaded: invalid plugin name/
--error 1
--exec $MYSQL --default-auth=ed25519 --user=bad --password=worse 2>&1
set global debug_dbug=@old_dbug;
drop user bad;
#
# Bug#29630767 - USE OF UNINITIALIZED VALUE IN LIBMYSQL (CLIENT.CC FUNCTION RUN_PLUGIN_AUTH)
#
set global debug_dbug='+d,increase_srv_handshake_scramble_len';
--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR $MASTER_MYPORT MASTER_MYPORT
--error 2027
connect con1,localhost,root;
set global debug_dbug=@old_dbug;
set global debug_dbug='+d,poison_srv_handshake_scramble_len';
--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR $MASTER_MYPORT MASTER_MYPORT
--error 2027
connect con2,localhost,root;
set global debug_dbug=@old_dbug;
--echo #
--echo # Start of 11.2 tests
--echo #
--echo #
--echo # MDEV-33182 Server assertion fails when trying to test the connection with DBeaver
--echo #
SET global debug_dbug='+d,thd_init_client_charset_utf8mb3_bin';
connect con1,localhost,root;
connection con1;
SHOW VARIABLES LIKE 'collation%';
disconnect con1;
connection default;
SET global debug_dbug=@old_debug;
--echo #
--echo # End of 11.2 tests
--echo #