64 lines
2.0 KiB
Plaintext
64 lines
2.0 KiB
Plaintext
source include/platform.inc;
|
|
source include/not_embedded.inc;
|
|
source include/count_sessions.inc;
|
|
|
|
if (`select count(*) = 0 from information_schema.plugins where plugin_name = 'parsec'`)
|
|
{
|
|
--skip Needs parsec plugin
|
|
}
|
|
|
|
if (!$PARSEC_SO) {
|
|
skip No auth_parsec plugin;
|
|
}
|
|
--error ER_PASSWD_LENGTH
|
|
create user test1@'%' identified via parsec using 'pwd';
|
|
create user test1@'%' identified via parsec using PASSWORD('pwd');
|
|
--replace_regex /:[A-Za-z0-9+\/]{43}'/:password'/ /:[A-Za-z0-9+\/]{24}:/:salt:/
|
|
show grants for test1@'%';
|
|
connect con1, localhost, test1, pwd;
|
|
select 1, USER(), CURRENT_USER();
|
|
disconnect con1;
|
|
connect con2, localhost, test1, pwd;
|
|
select 2, USER(), CURRENT_USER();
|
|
disconnect con2;
|
|
--replace_result $MASTER_MYSOCK MASTER_MYSOCK $MASTER_MYPORT MASTER_MYPORT
|
|
--error ER_ACCESS_DENIED_ERROR
|
|
connect con3, localhost, test1, wrong_pwd;
|
|
|
|
connection default;
|
|
|
|
create function have_ssl() returns char(3)
|
|
return (select if(variable_value > '','yes','no') as 'have_ssl'
|
|
from information_schema.session_status
|
|
where variable_name='ssl_cipher');
|
|
grant execute on test.* to test1@'%';
|
|
|
|
let host=;
|
|
if ($MTR_COMBINATION_WIN) {
|
|
# see ssl_autoverify.test
|
|
let host=--host=127.0.0.2;
|
|
}
|
|
|
|
--echo # mysql -utest1 -ppwd --ssl-verify-server-cert -e "select test.have_ssl()"
|
|
--exec $MYSQL --protocol tcp $host -utest1 -ppwd --ssl-verify-server-cert -e "select test.have_ssl()" 2>&1
|
|
|
|
source include/wait_until_count_sessions.inc;
|
|
drop function have_ssl;
|
|
drop user test1@'%';
|
|
|
|
|
|
--echo # MDEV-34854 Parsec sends garbage when using an empty password
|
|
create user test2@'%' identified via parsec using PASSWORD('');
|
|
--replace_regex /:[A-Za-z0-9+\/]{43}'/:password'/ /:[A-Za-z0-9+\/]{24}:/:salt:/
|
|
show grants for test2@'%';
|
|
connect con4, localhost, test2,;
|
|
select 4, USER(), CURRENT_USER();
|
|
disconnect con4;
|
|
|
|
--replace_result $MASTER_MYSOCK MASTER_MYSOCK $MASTER_MYPORT MASTER_MYPORT
|
|
--error ER_ACCESS_DENIED_ERROR
|
|
connect con5, localhost, test2, "wrong_pwd";
|
|
connection default;
|
|
source include/wait_until_count_sessions.inc;
|
|
drop user test2@'%';
|