fix MDEV-34424 for ed255129

realloc can't be done for mysql->passwd. There's also no pretty way to
pass the ext-salt into hash_password, so let's use thread_local instead.

For GCC < 4.9 (SLES 12, CentOS 7), which don't support _Thread_local,
pk will be recalculated instead
This commit is contained in:
Nikita Malyavin 2024-06-21 15:55:38 +02:00
parent c4bf4ce948
commit 14d9801cd3
3 changed files with 55 additions and 1 deletions

@ -1 +1 @@
Subproject commit cc985fab30321d098372f95141bf2b3bbbbedf9b
Subproject commit dddcf400af9a693fdbed4e692d71bf98b79b7aa1

View file

@ -0,0 +1,23 @@
include/master-slave.inc
[connection master]
connection slave;
install soname 'auth_ed25519';
connection master;
install soname 'auth_ed25519';
create user rpluser@'%' identified via ed25519 using PASSWORD('rpl_pass');
grant replication slave on *.* to rpluser@'%';
connection master;
connection slave;
include/stop_slave.inc
change master to master_user='rpluser', master_password='rpl_pass';
include/start_slave.inc
# Cleanup
include/stop_slave.inc
change master to master_user='root', master_password='';
include/start_slave.inc
include/stop_slave.inc
drop user rpluser@'%';
uninstall soname 'auth_ed25519';
connection master;
drop user rpluser@'%';
uninstall soname 'auth_ed25519';

View file

@ -0,0 +1,31 @@
if (!$AUTH_ED25519_SO) {
skip No auth_ed25519 plugin;
}
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';