Files
MariaDB/mysql-test/suite/plugins/t/rpl_auth.test
Nikita Malyavin e580cf7ae0 MDEV-32618 new auth plugin
PARSEC: Password Authentication using Response Signed with Elliptic Curve

new authentication plugin that uses salted passwords,
key derivation, extensible password storage format,
and both server- and client-side scrambles.

It signs the response with ed25519, but it uses stock
unmodified ed25519 as provided by OpenSSL/WolfSSL/GnuTLS.

Edited by: Sergei Golubchik
2024-08-09 14:01:12 +02:00

58 lines
1.7 KiB
Plaintext

if ($MTR_COMBINATION_ED25519) {
if (!$AUTH_ED25519_SO) {
skip No auth_ed25519 plugin;
}
let $AUTH_PLUGIN = ed25519;
let $CLIENT_PLUGIN=client_ed25519;
}
if ($MTR_COMBINATION_PARSEC) {
if (!$AUTH_PARSEC_SO) {
skip No auth_parsec plugin;
}
let $AUTH_PLUGIN = parsec;
let $CLIENT_PLUGIN=parsec;
}
--replace_result $CLIENT_PLUGIN CLIENT_PLUGIN
--error ER_CANT_OPEN_LIBRARY,ER_CANT_FIND_DL_ENTRY
eval install soname '$CLIENT_PLUGIN';
if ($errno == 1126) {
# this happens in bintars when C/C is linked with gnutls
skip $CLIENT_PLUGIN is not found or contains unresolved symbols;
}
source include/master-slave.inc;
sync_slave_with_master;
--replace_result $AUTH_PLUGIN PLUGIN
eval install soname 'auth_$AUTH_PLUGIN';
# create a user for replication with auth plugin
connection master;
--replace_result $AUTH_PLUGIN plugin
eval install soname 'auth_$AUTH_PLUGIN';
--replace_result $AUTH_PLUGIN PLUGIN
eval create user rpluser@'%' identified via $AUTH_PLUGIN using PASSWORD('rpl_pass');
grant replication slave on *.* to rpluser@'%';
connection master;
sync_slave_with_master;
# Set the slave to connect using the user created with the auth plugin for replication
source include/stop_slave.inc;
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
change master to master_user='rpluser', master_password='rpl_pass';
source include/start_slave.inc;
--echo # Cleanup
source include/stop_slave.inc;
change master to master_user='root', master_password='';
source include/start_slave.inc;
source include/stop_slave.inc;
drop user rpluser@'%';
--replace_result $AUTH_PLUGIN plugin
eval uninstall soname 'auth_$AUTH_PLUGIN';
connection master;
drop user rpluser@'%';
--replace_result $AUTH_PLUGIN plugin
eval uninstall soname 'auth_$AUTH_PLUGIN';