Skip to content

Commit

Permalink
fix MDEV-34424 for ed255129
Browse files Browse the repository at this point in the history
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
  • Loading branch information
FooBarrior committed Jun 28, 2024
1 parent c4bf4ce commit 14d9801
Show file tree
Hide file tree
Showing 3 changed files with 55 additions and 1 deletion.
2 changes: 1 addition & 1 deletion libmariadb
23 changes: 23 additions & 0 deletions mysql-test/suite/plugins/r/rpl_auth.result
Original file line number Diff line number Diff line change
@@ -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';
31 changes: 31 additions & 0 deletions mysql-test/suite/plugins/t/rpl_auth.test
Original file line number Diff line number Diff line change
@@ -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';

0 comments on commit 14d9801

Please sign in to comment.