summaryrefslogtreecommitdiff
path: root/extra
diff options
context:
space:
mode:
authorOleksandr Byelkin <sanja@mariadb.com>2022-08-03 07:12:27 +0200
committerOleksandr Byelkin <sanja@mariadb.com>2022-08-03 07:12:27 +0200
commitaf143474d8925cdbcfc0795a2bc274cbeaad8889 (patch)
tree790022e64c90ce37310d20f1de25af35b0f722c9 /extra
parent7b500f04fb0baf56b02583f82982508203e58d38 (diff)
parent48e35b8cf61cbedb515787762708afe7bd75386b (diff)
downloadmariadb-git-af143474d8925cdbcfc0795a2bc274cbeaad8889.tar.gz
Merge branch '10.4' into 10.5
Diffstat (limited to 'extra')
-rw-r--r--extra/mariabackup/backup_copy.cc83
-rw-r--r--extra/mariabackup/backup_copy.h7
-rw-r--r--extra/mariabackup/backup_mysql.cc248
-rw-r--r--extra/mariabackup/backup_mysql.h6
-rw-r--r--extra/mariabackup/common.h10
-rw-r--r--extra/mariabackup/xtrabackup.cc63
-rw-r--r--extra/mariabackup/xtrabackup.h2
-rw-r--r--extra/wolfssl/CMakeLists.txt3
-rw-r--r--extra/wolfssl/user_settings.h.in2
m---------extra/wolfssl/wolfssl0
10 files changed, 81 insertions, 343 deletions
diff --git a/extra/mariabackup/backup_copy.cc b/extra/mariabackup/backup_copy.cc
index 7724bf63e6c..b6990213952 100644
--- a/extra/mariabackup/backup_copy.cc
+++ b/extra/mariabackup/backup_copy.cc
@@ -577,6 +577,7 @@ datafile_read(datafile_cur_t *cursor)
Check to see if a file exists.
Takes name of the file to check.
@return true if file exists. */
+static
bool
file_exists(const char *filename)
{
@@ -1538,14 +1539,14 @@ bool backup_start(CorruptedPages &corrupted_pages)
if (!write_galera_info(mysql_connection)) {
return(false);
}
+ // copied from xtrabackup. what is it needed for here?
+ write_current_binlog_file(mysql_connection);
}
- bool with_binlogs = opt_binlog_info == BINLOG_INFO_ON;
+ if (opt_binlog_info == BINLOG_INFO_ON) {
- if (with_binlogs || opt_galera_info) {
- if (!write_current_binlog_file(mysql_connection, with_binlogs)) {
- return(false);
- }
+ lock_binlog_maybe(mysql_connection);
+ write_binlog_info(mysql_connection);
}
if (have_flush_engine_logs && !opt_no_lock) {
@@ -1581,33 +1582,13 @@ void backup_release()
static const char *default_buffer_pool_file = "ib_buffer_pool";
-static
-const char * get_buffer_pool_filename(size_t *length)
-{
- /* If mariabackup is run for Galera, then the file
- name is changed to the default so that the receiving
- node can find this file and rename it according to its
- settings, otherwise we keep the original file name: */
- size_t dir_length = 0;
- const char *dst_name = default_buffer_pool_file;
- if (!opt_galera_info) {
- dir_length = dirname_length(buffer_pool_filename);
- dst_name = buffer_pool_filename + dir_length;
- }
- if (length) {
- *length=dir_length;
- }
- return dst_name;
-}
-
/** Finish after backup_start() and backup_release() */
bool backup_finish()
{
/* Copy buffer pool dump or LRU dump */
- if (!opt_rsync) {
+ if (!opt_rsync && opt_galera_info) {
if (buffer_pool_filename && file_exists(buffer_pool_filename)) {
- const char *dst_name = get_buffer_pool_filename(NULL);
- copy_file(ds_data, buffer_pool_filename, dst_name, 0);
+ copy_file(ds_data, buffer_pool_filename, default_buffer_pool_file, 0);
}
if (file_exists("ib_lru_dump")) {
copy_file(ds_data, "ib_lru_dump", "ib_lru_dump", 0);
@@ -1657,6 +1638,7 @@ ibx_copy_incremental_over_full()
char path[FN_REFLEN];
int i;
+ DBUG_ASSERT(!opt_galera_info);
datadir_node_init(&node);
/* If we were applying an incremental change set, we need to make
@@ -1693,19 +1675,6 @@ ibx_copy_incremental_over_full()
if (!(ret = backup_files_from_datadir(xtrabackup_incremental_dir)))
goto cleanup;
- /* copy buffer pool dump */
- if (innobase_buffer_pool_filename) {
- const char *src_name = get_buffer_pool_filename(NULL);
-
- snprintf(path, sizeof(path), "%s/%s",
- xtrabackup_incremental_dir,
- src_name);
-
- if (file_exists(path)) {
- copy_file(ds_data, path, src_name, 0);
- }
- }
-
/* copy supplementary files */
for (i = 0; sup_files[i]; i++) {
@@ -1937,14 +1906,6 @@ copy_back()
datadir_node_init(&node);
- /* If mariabackup is run for Galera, then the file
- name is changed to the default so that the receiving
- node can find this file and rename it according to its
- settings, otherwise we keep the original file name: */
- size_t dir_length;
- const char *src_buffer_pool;
- src_buffer_pool = get_buffer_pool_filename(&dir_length);
-
while (datadir_iter_next(it, &node)) {
const char *ext_list[] = {"backup-my.cnf",
"xtrabackup_binary", "xtrabackup_binlog_info",
@@ -2007,10 +1968,10 @@ copy_back()
continue;
}
- /* skip buffer pool dump */
- if (!strcmp(filename, src_buffer_pool)) {
- continue;
- }
+ /* skip buffer pool dump */
+ if (!strcmp(filename, default_buffer_pool_file)) {
+ continue;
+ }
/* skip innodb data files */
is_ibdata_file = false;
@@ -2034,19 +1995,11 @@ copy_back()
/* copy buffer pool dump */
- if (file_exists(src_buffer_pool)) {
- char dst_dir[FN_REFLEN];
- while (IS_TRAILING_SLASH(buffer_pool_filename, dir_length)) {
- dir_length--;
- }
- memcpy(dst_dir, buffer_pool_filename, dir_length);
- dst_dir[dir_length] = 0;
- if (!(ret = copy_or_move_file(src_buffer_pool,
- src_buffer_pool,
- dst_dir, 1)))
- {
- goto cleanup;
- }
+ if (file_exists(default_buffer_pool_file) &&
+ innobase_buffer_pool_filename) {
+ copy_or_move_file(default_buffer_pool_file,
+ innobase_buffer_pool_filename,
+ mysql_data_home, 0);
}
rocksdb_copy_back();
diff --git a/extra/mariabackup/backup_copy.h b/extra/mariabackup/backup_copy.h
index 858182001ce..62b2b1bc232 100644
--- a/extra/mariabackup/backup_copy.h
+++ b/extra/mariabackup/backup_copy.h
@@ -32,13 +32,6 @@ copy_file(ds_ctxt_t *datasink,
const char *dst_file_path,
uint thread_n);
-/************************************************************************
-Check to see if a file exists.
-Takes name of the file to check.
-@return true if file exists. */
-bool
-file_exists(const char *filename);
-
/** Start --backup */
bool backup_start(CorruptedPages &corrupted_pages);
/** Release resources after backup_start() */
diff --git a/extra/mariabackup/backup_mysql.cc b/extra/mariabackup/backup_mysql.cc
index 7e60944b326..7a629e7265c 100644
--- a/extra/mariabackup/backup_mysql.cc
+++ b/extra/mariabackup/backup_mysql.cc
@@ -83,6 +83,7 @@ os_event_t kill_query_thread_stop;
bool sql_thread_started = false;
char *mysql_slave_position = NULL;
char *mysql_binlog_position = NULL;
+char *buffer_pool_filename = NULL;
/* History on server */
time_t history_start_time;
@@ -1453,68 +1454,51 @@ cleanup:
}
-static
-bool
-write_binlog_info(MYSQL *connection, char *log_bin_dir,
- MYSQL_RES *mysql_result, my_ulonglong n_rows,
- my_ulonglong start);
-
/*********************************************************************//**
Flush and copy the current binary log file into the backup,
if GTID is enabled */
bool
-write_current_binlog_file(MYSQL *connection, bool write_binlogs)
+write_current_binlog_file(MYSQL *connection)
{
- char *log_bin = NULL;
- char *filename = NULL;
- char *position = NULL;
char *executed_gtid_set = NULL;
char *gtid_binlog_state = NULL;
+ char *log_bin_file = NULL;
char *log_bin_dir = NULL;
bool gtid_exists;
bool result = true;
+ char filepath[FN_REFLEN];
- mysql_variable log_bin_var[] = {
- {"@@GLOBAL.log_bin", &log_bin},
+ mysql_variable status[] = {
+ {"Executed_Gtid_Set", &executed_gtid_set},
{NULL, NULL}
};
- mysql_variable vars[] = {
- {"gtid_binlog_state", &gtid_binlog_state},
- {"log_bin_basename", &log_bin_dir},
+ mysql_variable status_after_flush[] = {
+ {"File", &log_bin_file},
{NULL, NULL}
};
- mysql_variable status[] = {
- {"File", &filename},
- {"Position", &position},
- {"Executed_Gtid_Set", &executed_gtid_set},
+ mysql_variable vars[] = {
+ {"gtid_binlog_state", &gtid_binlog_state},
+ {"log_bin_basename", &log_bin_dir},
{NULL, NULL}
};
- read_mysql_variables(connection, "SELECT @@GLOBAL.log_bin", log_bin_var, false);
-
- /* Do not create xtrabackup_binlog_info if binary log is disabled: */
- if (strncmp(log_bin, "1", 2) != 0) {
- goto binlog_disabled;
- }
-
- lock_binlog_maybe(connection);
-
read_mysql_variables(connection, "SHOW MASTER STATUS", status, false);
-
- /* Do not create xtrabackup_binlog_info if replication
- has not started yet: */
- if (filename == NULL || position == NULL) {
- goto no_replication;
- }
-
read_mysql_variables(connection, "SHOW VARIABLES", vars, true);
gtid_exists = (executed_gtid_set && *executed_gtid_set)
|| (gtid_binlog_state && *gtid_binlog_state);
- if (write_binlogs || gtid_exists) {
+ if (gtid_exists) {
+ size_t log_bin_dir_length;
+
+ lock_binlog_maybe(connection);
+
+ xb_mysql_query(connection, "FLUSH BINARY LOGS", false);
+
+ read_mysql_variables(connection, "SHOW MASTER STATUS",
+ status_after_flush, false);
if (opt_log_bin != NULL && strchr(opt_log_bin, FN_LIBCHAR)) {
/* If log_bin is set, it has priority */
@@ -1524,88 +1508,33 @@ write_current_binlog_file(MYSQL *connection, bool write_binlogs)
log_bin_dir = strdup(opt_log_bin);
} else if (log_bin_dir == NULL) {
/* Default location is MySQL datadir */
- log_bin_dir = static_cast<char*>(malloc(3));
- ut_a(log_bin_dir);
- log_bin_dir[0] = '.';
- log_bin_dir[1] = FN_LIBCHAR;
- log_bin_dir[2] = 0;
+ log_bin_dir = strdup("./");
}
- size_t log_bin_dir_length;
-
dirname_part(log_bin_dir, log_bin_dir, &log_bin_dir_length);
/* strip final slash if it is not the only path component */
- while (IS_TRAILING_SLASH(log_bin_dir, log_bin_dir_length)) {
- log_bin_dir_length--;
+ if (log_bin_dir_length > 1 &&
+ log_bin_dir[log_bin_dir_length - 1] == FN_LIBCHAR) {
+ log_bin_dir[log_bin_dir_length - 1] = 0;
}
- log_bin_dir[log_bin_dir_length] = 0;
- if (log_bin_dir == NULL) {
- msg("Failed to locate binary log files");
+ if (log_bin_dir == NULL || log_bin_file == NULL) {
+ msg("Failed to get master binlog coordinates from "
+ "SHOW MASTER STATUS");
result = false;
goto cleanup;
}
- uint max_binlogs;
- max_binlogs = opt_max_binlogs;
- if (max_binlogs == 0) {
- if (gtid_exists) {
- max_binlogs = 1;
- } else {
- goto cleanup;
- }
- }
-
- xb_mysql_query(connection, "FLUSH BINARY LOGS", false);
-
- MYSQL_RES *mysql_result;
-
- mysql_result = xb_mysql_query(connection, "SHOW BINARY LOGS", true);
-
- ut_ad(mysql_num_fields(mysql_result) >= 2);
-
- my_ulonglong n_rows;
- my_ulonglong start;
-
- n_rows = mysql_num_rows(mysql_result);
-
- start = 0;
- if (max_binlogs < n_rows) {
- start = n_rows - max_binlogs;
- }
- if (start) {
- mysql_data_seek(mysql_result, start);
- }
-
- MYSQL_ROW row;
- while ((row = mysql_fetch_row(mysql_result))) {
- const char *binlog_name = row[0];
- char filepath[FN_REFLEN];
- snprintf(filepath, sizeof(filepath), "%s%c%s",
- log_bin_dir, FN_LIBCHAR, binlog_name);
- if (file_exists(filepath)) {
- result = copy_file(ds_data, filepath, binlog_name, 0);
- if (!result) break;
- }
- }
-
- if (result) {
- write_binlog_info(connection, log_bin_dir,
- mysql_result, n_rows, start);
- }
-
- mysql_free_result(mysql_result);
+ snprintf(filepath, sizeof(filepath), "%s%c%s",
+ log_bin_dir, FN_LIBCHAR, log_bin_file);
+ result = copy_file(ds_data, filepath, log_bin_file, 0);
}
cleanup:
- free_mysql_variables(vars);
-
-no_replication:
+ free_mysql_variables(status_after_flush);
free_mysql_variables(status);
-
-binlog_disabled:
- free_mysql_variables(log_bin_var);
+ free_mysql_variables(vars);
return(result);
}
@@ -1614,11 +1543,8 @@ binlog_disabled:
/*********************************************************************//**
Retrieves MySQL binlog position and
saves it in a file. It also prints it to stdout. */
-static
bool
-write_binlog_info(MYSQL *connection, char *log_bin_dir,
- MYSQL_RES *mysql_result, my_ulonglong n_rows,
- my_ulonglong start)
+write_binlog_info(MYSQL *connection)
{
char *filename = NULL;
char *position = NULL;
@@ -1626,13 +1552,9 @@ write_binlog_info(MYSQL *connection, char *log_bin_dir,
char *gtid_current_pos = NULL;
char *gtid_executed = NULL;
char *gtid = NULL;
- char *buffer;
- char *buf;
- size_t total;
- bool result = true;
+ bool result;
bool mysql_gtid;
bool mariadb_gtid;
- bool with_gtid;
mysql_variable status[] = {
{"File", &filename},
@@ -1650,106 +1572,39 @@ write_binlog_info(MYSQL *connection, char *log_bin_dir,
read_mysql_variables(connection, "SHOW MASTER STATUS", status, false);
read_mysql_variables(connection, "SHOW VARIABLES", vars, true);
- mysql_gtid = gtid_mode && (strcmp(gtid_mode, "ON") == 0);
- mariadb_gtid = gtid_current_pos && *gtid_current_pos;
+ if (filename == NULL || position == NULL) {
+ /* Do not create xtrabackup_binlog_info if binary
+ log is disabled */
+ result = true;
+ goto cleanup;
+ }
+
+ mysql_gtid = ((gtid_mode != NULL) && (strcmp(gtid_mode, "ON") == 0));
+ mariadb_gtid = (gtid_current_pos != NULL);
- gtid = (gtid_executed && *gtid_executed) ? gtid_executed : gtid_current_pos;
+ gtid = (gtid_executed != NULL ? gtid_executed : gtid_current_pos);
- with_gtid = mariadb_gtid || mysql_gtid;
- if (with_gtid) {
+ if (mariadb_gtid || mysql_gtid) {
ut_a(asprintf(&mysql_binlog_position,
"filename '%s', position '%s', "
"GTID of the last change '%s'",
filename, position, gtid) != -1);
+ result = backup_file_printf(XTRABACKUP_BINLOG_INFO,
+ "%s\t%s\t%s\n", filename, position,
+ gtid);
} else {
ut_a(asprintf(&mysql_binlog_position,
"filename '%s', position '%s'",
filename, position) != -1);
+ result = backup_file_printf(XTRABACKUP_BINLOG_INFO,
+ "%s\t%s\n", filename, position);
}
- mysql_data_seek(mysql_result, start);
-
- MYSQL_ROW row;
- my_ulonglong current;
-
- total = 1;
- current = start;
- while ((row = mysql_fetch_row(mysql_result))) {
- const char *binlog_name = row[0];
- /* The position in the current binlog is taken from
- the global variable, but for the previous ones it is
- determined by their length: */
- const char *binlog_pos =
- ++current == n_rows ? position : row[1];
- total += strlen(binlog_name) + strlen(binlog_pos) + 2;
- if (with_gtid && current != n_rows) {
- /* Add the "\t[]" length to the buffer size: */
- total += 3;
- }
- }
- /* For the last of the binray log files, also add
- the length of the GTID (+ one character for '\t'): */
- if (with_gtid) {
- total += strlen(gtid) + 1;
- }
-
- buffer = static_cast<char*>(malloc(total));
- if (!buffer) {
- msg("Failed to allocate memory for temporary buffer");
- result = false;
- goto cleanup;
- }
-
- mysql_data_seek(mysql_result, start);
-
- buf = buffer;
- current = start;
- while ((row = mysql_fetch_row(mysql_result))) {
- const char *binlog_name = row[0];
- char filepath[FN_REFLEN];
- snprintf(filepath, sizeof(filepath), "%s%c%s",
- log_bin_dir, FN_LIBCHAR, binlog_name);
- current++;
- if (file_exists(filepath)) {
- /* The position in the current binlog is taken from
- the global variable, but for the previous ones it is
- determined by their length: */
- char *binlog_pos =
- current == n_rows ? position : row[1];
- int bytes;
- if (with_gtid) {
- bytes = snprintf(buf, total, "%s\t%s\t%s\n",
- binlog_name, binlog_pos,
- current == n_rows ? gtid : "[]");
- } else {
- bytes = snprintf(buf, total, "%s\t%s\n",
- binlog_name, binlog_pos);
- }
- if (bytes <= 0) {
- goto buffer_overflow;
- }
- buf += bytes;
- total -= bytes;
- }
- }
-
- if (buf != buffer) {
- result = backup_file_printf(XTRABACKUP_BINLOG_INFO, "%s", buffer);
- }
-
-cleanup2:
- free(buffer);
-
cleanup:
- free_mysql_variables(vars);
free_mysql_variables(status);
+ free_mysql_variables(vars);
return(result);
-
-buffer_overflow:
- msg("Internal error: buffer overflow in the write_binlog_info()");
- result = false;
- goto cleanup2;
}
struct escape_and_quote
@@ -2075,6 +1930,7 @@ backup_cleanup()
{
free(mysql_slave_position);
free(mysql_binlog_position);
+ free(buffer_pool_filename);
if (mysql_connection) {
mysql_close(mysql_connection);
diff --git a/extra/mariabackup/backup_mysql.h b/extra/mariabackup/backup_mysql.h
index 5e78281e1cb..b61fa2362c6 100644
--- a/extra/mariabackup/backup_mysql.h
+++ b/extra/mariabackup/backup_mysql.h
@@ -28,6 +28,7 @@ extern time_t history_lock_time;
extern bool sql_thread_started;
extern char *mysql_slave_position;
extern char *mysql_binlog_position;
+extern char *buffer_pool_filename;
/** connection to mysql server */
extern MYSQL *mysql_connection;
@@ -61,7 +62,10 @@ void
unlock_all(MYSQL *connection);
bool
-write_current_binlog_file(MYSQL *connection, bool write_binlogs);
+write_current_binlog_file(MYSQL *connection);
+
+bool
+write_binlog_info(MYSQL *connection);
bool
write_xtrabackup_info(MYSQL *connection, const char * filename, bool history,
diff --git a/extra/mariabackup/common.h b/extra/mariabackup/common.h
index beb49524608..1973512ad82 100644
--- a/extra/mariabackup/common.h
+++ b/extra/mariabackup/common.h
@@ -187,14 +187,4 @@ xb_read_full(File fd, uchar *buf, size_t len)
return tlen;
}
-#ifdef _WIN32
-#define IS_TRAILING_SLASH(name, length) \
- ((length) > 1 && \
- (name[(length) - 1] == '/' || \
- name[(length) - 1] == '\\'))
-#else
-#define IS_TRAILING_SLASH(name, length) \
- ((length) > 1 && name[(length) - 1] == FN_LIBCHAR)
-#endif
-
#endif
diff --git a/extra/mariabackup/xtrabackup.cc b/extra/mariabackup/xtrabackup.cc
index 37c80baf32f..da2ae65447b 100644
--- a/extra/mariabackup/xtrabackup.cc
+++ b/extra/mariabackup/xtrabackup.cc
@@ -248,8 +248,7 @@ ulong innobase_read_io_threads = 4;
ulong innobase_write_io_threads = 4;
longlong innobase_page_size = (1LL << 14); /* 16KB */
-char *innobase_buffer_pool_filename = NULL;
-char *buffer_pool_filename = NULL;
+char* innobase_buffer_pool_filename = NULL;
/* The default values for the following char* start-up parameters
are determined in innobase_init below: */
@@ -344,7 +343,6 @@ uint opt_lock_wait_timeout = 0;
uint opt_lock_wait_threshold = 0;
uint opt_debug_sleep_before_unlock = 0;
uint opt_safe_slave_backup_timeout = 0;
-uint opt_max_binlogs = UINT_MAX;
const char *opt_history = NULL;
@@ -1020,8 +1018,7 @@ enum options_xtrabackup
OPT_XTRA_CHECK_PRIVILEGES,
OPT_XTRA_MYSQLD_ARGS,
OPT_XB_IGNORE_INNODB_PAGE_CORRUPTION,
- OPT_INNODB_FORCE_RECOVERY,
- OPT_MAX_BINLOGS
+ OPT_INNODB_FORCE_RECOVERY
};
struct my_option xb_client_options[]= {
@@ -1418,17 +1415,6 @@ struct my_option xb_client_options[]= {
&opt_log_innodb_page_corruption, &opt_log_innodb_page_corruption, 0,
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
- {"sst_max_binlogs", OPT_MAX_BINLOGS,
- "Number of recent binary logs to be included in the backup. "
- "Setting this parameter to zero normally disables transmission "
- "of binary logs to the joiner nodes during SST using Galera. "
- "But sometimes a single current binlog can still be transmitted "
- "to the joiner even with sst_max_binlogs=0, because it is "
- "required for Galera to work properly with GTIDs support.",
- (G_PTR *) &opt_max_binlogs,
- (G_PTR *) &opt_max_binlogs, 0, GET_UINT, OPT_ARG,
- UINT_MAX, 0, UINT_MAX, 0, 1, 0},
-
#define MYSQL_CLIENT
#include "sslopt-longopts.h"
#undef MYSQL_CLIENT
@@ -6247,44 +6233,6 @@ static bool check_all_privileges()
return true;
}
-static
-void
-xb_init_buffer_pool(const char * filename)
-{
- if (filename &&
-#ifdef _WIN32
- (filename[0] == '/' ||
- filename[0] == '\\' ||
- strchr(filename, ':')))
-#else
- filename[0] == FN_LIBCHAR)
-#endif
- {
- buffer_pool_filename = strdup(filename);
- } else {
- char filepath[FN_REFLEN];
- char *dst_dir =
- (innobase_data_home_dir && *innobase_data_home_dir) ?
- innobase_data_home_dir : mysql_data_home;
- size_t dir_length;
- if (dst_dir && *dst_dir) {
- dir_length = strlen(dst_dir);
- while (IS_TRAILING_SLASH(dst_dir, dir_length)) {
- dir_length--;
- }
- memcpy(filepath, dst_dir, dir_length);
- }
- else {
- filepath[0] = '.';
- dir_length = 1;
- }
- snprintf(filepath + dir_length,
- sizeof(filepath) - dir_length, "%c%s", FN_LIBCHAR,
- filename ? filename : "ib_buffer_pool");
- buffer_pool_filename = strdup(filepath);
- }
-}
-
bool
xb_init()
{
@@ -6350,15 +6298,10 @@ xb_init()
return(false);
}
- xb_init_buffer_pool(buffer_pool_filename);
-
if (opt_check_privileges && !check_all_privileges()) {
return(false);
}
-
history_start_time = time(NULL);
- } else {
- xb_init_buffer_pool(innobase_buffer_pool_filename);
}
return(true);
@@ -6746,8 +6689,6 @@ int main(int argc, char **argv)
free_error_messages();
mysql_mutex_destroy(&LOCK_error_log);
- free(buffer_pool_filename);
-
if (status == EXIT_SUCCESS) {
msg("completed OK!");
}
diff --git a/extra/mariabackup/xtrabackup.h b/extra/mariabackup/xtrabackup.h
index a43bca5891c..0d1d3eb5a6b 100644
--- a/extra/mariabackup/xtrabackup.h
+++ b/extra/mariabackup/xtrabackup.h
@@ -71,7 +71,6 @@ extern char *xtrabackup_incremental_dir;
extern char *xtrabackup_incremental_basedir;
extern char *innobase_data_home_dir;
extern char *innobase_buffer_pool_filename;
-extern char *buffer_pool_filename;
extern char *xb_plugin_dir;
extern char *xb_rocksdb_datadir;
extern my_bool xb_backup_rocksdb;
@@ -167,7 +166,6 @@ extern uint opt_lock_wait_timeout;
extern uint opt_lock_wait_threshold;
extern uint opt_debug_sleep_before_unlock;
extern uint opt_safe_slave_backup_timeout;
-extern uint opt_max_binlogs;
extern const char *opt_history;
diff --git a/extra/wolfssl/CMakeLists.txt b/extra/wolfssl/CMakeLists.txt
index 3faddbf49a2..35c3b735bdd 100644
--- a/extra/wolfssl/CMakeLists.txt
+++ b/extra/wolfssl/CMakeLists.txt
@@ -136,7 +136,8 @@ IF(WOLFSSL_FASTMATH)
PROPERTIES COMPILE_FLAGS ${TFM_COMPILE_FLAGS})
ENDIF()
ELSE()
- SET(WOLFCRYPT_SOURCES ${WOLFCRYPT_SOURCES} ${WOLFCRYPT_SRCDIR}/integer.c)
+ SET(WOLFSSL_SP_MATH_ALL 1)
+ SET(WOLFCRYPT_SOURCES ${WOLFCRYPT_SOURCES} ${WOLFCRYPT_SRCDIR}/sp_int.c)
ENDIF()
IF(WOLFSSL_X86_64_BUILD)
diff --git a/extra/wolfssl/user_settings.h.in b/extra/wolfssl/user_settings.h.in
index bbe8c820019..2355fd1691c 100644
--- a/extra/wolfssl/user_settings.h.in
+++ b/extra/wolfssl/user_settings.h.in
@@ -47,6 +47,7 @@
WolfSSL will use more stack space with it, with fastmath
*/
#cmakedefine FP_MAX_BITS 16384
+#define RSA_MAX_SIZE 8192
#cmakedefine WOLFSSL_AESNI
#cmakedefine USE_FAST_MATH
#cmakedefine TFM_TIMING_RESISTANT
@@ -55,5 +56,6 @@
#cmakedefine USE_INTEL_SPEEDUP
#cmakedefine USE_FAST_MATH
#cmakedefine WOLFSSL_X86_64_BUILD
+#cmakedefine WOLFSSL_SP_MATH_ALL
#endif /* WOLFSSL_USER_SETTINGS_H */
diff --git a/extra/wolfssl/wolfssl b/extra/wolfssl/wolfssl
-Subproject e6c07a296d2996e8d5c3cc615dfc50013bbcc79
+Subproject 57aac1c50b45275c7a99eca32ad985998b292dc