mariadb/mysql-test/suite/plugins/t/rpl_auth.test
Sergei Golubchik 5ab81ffe00 fix plugins.rpl_auth failure in bintars
in bintars the server is linked with wolfssl, while the connector
is linked with gnutls. Thus client_ed25519.so gets gnutls
dependency, unresolved symbols and it cannot be loaded into the
server and gnutls symbols aren't present there.

linking the plugin statically with gnutls fixes that and the test passes.
but when such a plugin is loaded into the client, the client gets
two copies of gnutls - they conflict and ssl doesn't work at all.

let's detect this and disable the test for now.
2024-08-05 10:39:50 +02:00

41 lines
1.2 KiB
Text

if (!$AUTH_ED25519_SO) {
skip No auth_ed25519 plugin;
}
if (!$CLIENT_ED25519_SO) {
skip No client_ed25519 plugin;
}
--error ER_CANT_OPEN_LIBRARY,ER_CANT_FIND_DL_ENTRY
install soname 'client_ed25519';
if ($errno == 1126) {
# this happens in bintars when C/C is linked with gnutls
skip client_ed25519 contains unresolved symbols;
}
source include/master-slave.inc;
sync_slave_with_master;
install soname 'auth_ed25519';
# create a user for replication with ed25519 auth plugin
connection master;
install soname 'auth_ed25519';
create user rpluser@'%' identified via ed25519 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 ed25519 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@'%';
uninstall soname 'auth_ed25519';
connection master;
drop user rpluser@'%';
uninstall soname 'auth_ed25519';