Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/lavabit/magma.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorLadar Levison <ladar@lavabit.com>2019-02-27 07:57:38 +0300
committerLadar Levison <ladar@users.noreply.github.com>2019-03-07 00:09:38 +0300
commitf2f4c5417f001ac3d18853d80a1eccef4953d696 (patch)
tree8ee2895dc2b1171cb955f49f758447da04adce86 /lib
parentd8dc9ccd3dd474ae18dbed8efe84be7e54f7a40c (diff)
Use the SQL connector version (not the daemon).
Diffstat (limited to 'lib')
-rw-r--r--lib/check/magma.open.symbols.c6
-rw-r--r--lib/check/magma.open.symbols.h3
-rw-r--r--lib/patches/mariadb/2.3.7_get_connector_info.patch29
3 files changed, 35 insertions, 3 deletions
diff --git a/lib/check/magma.open.symbols.c b/lib/check/magma.open.symbols.c
index a89ba014..f44d8328 100644
--- a/lib/check/magma.open.symbols.c
+++ b/lib/check/magma.open.symbols.c
@@ -85,7 +85,6 @@ void (*mysql_thread_end_d)(void) = NULL;
int (*mysql_ping_d)(MYSQL *mysql) = NULL;
void (*mysql_close_d)(MYSQL *mysql) = NULL;
my_bool (*mysql_thread_init_d)(void) = NULL;
-const char * (*mysql_get_server_info_d)(MYSQL *mysql) = NULL;
MYSQL * (*mysql_init_d)(MYSQL *mysql) = NULL;
unsigned int (*mysql_thread_safe_d)(void) = NULL;
int (*mysql_stmt_fetch_d)(MYSQL_STMT *stmt) = NULL;
@@ -93,6 +92,7 @@ my_bool (*mysql_stmt_close_d)(MYSQL_STMT *) = NULL;
unsigned int (*mysql_errno_d)(MYSQL *mysql) = NULL;
const char * (*mysql_error_d)(MYSQL *mysql) = NULL;
int (*mysql_stmt_execute_d)(MYSQL_STMT *stmt) = NULL;
+my_bool (*mariadb_connection_d)(MYSQL *mysql) = NULL;
void (*mysql_free_result_d)(MYSQL_RES *result) = NULL;
my_bool (*mysql_stmt_reset_d)(MYSQL_STMT *stmt) = NULL;
my_ulonglong (*mysql_insert_id_d)(MYSQL *mysql) = NULL;
@@ -105,6 +105,7 @@ int (*mysql_stmt_store_result_d)(MYSQL_STMT *stmt) = NULL;
my_ulonglong (*mysql_affected_rows_d)(MYSQL *mysql) = NULL;
my_ulonglong (*mysql_num_rows_d)(MYSQL_RES *result) = NULL;
unsigned int (*mysql_stmt_errno_d)(MYSQL_STMT *stmt) = NULL;
+const char * (*mysql_get_server_info_d)(MYSQL *mysql) = NULL;
const char * (*mysql_stmt_error_d)(MYSQL_STMT * stmt) = NULL;
my_bool (*mysql_stmt_free_result_d)(MYSQL_STMT *stmt) = NULL;
unsigned int (*mysql_num_fields_d)(MYSQL_RES *result) = NULL;
@@ -634,7 +635,6 @@ if ((*(void **)&(mysql_thread_end_d) = dlsym(magma, "mysql_thread_end")) == NULL
if ((*(void **)&(mysql_ping_d) = dlsym(magma, "mysql_ping")) == NULL) return "mysql_ping";
if ((*(void **)&(mysql_close_d) = dlsym(magma, "mysql_close")) == NULL) return "mysql_close";
if ((*(void **)&(mysql_thread_init_d) = dlsym(magma, "mysql_thread_init")) == NULL) return "mysql_thread_init";
-if ((*(void **)&(mysql_get_server_info_d) = dlsym(magma, "mysql_get_server_info")) == NULL) return "mysql_get_server_info";
if ((*(void **)&(mysql_init_d) = dlsym(magma, "mysql_init")) == NULL) return "mysql_init";
if ((*(void **)&(mysql_thread_safe_d) = dlsym(magma, "mysql_thread_safe")) == NULL) return "mysql_thread_safe";
if ((*(void **)&(mysql_stmt_fetch_d) = dlsym(magma, "mysql_stmt_fetch")) == NULL) return "mysql_stmt_fetch";
@@ -642,6 +642,7 @@ if ((*(void **)&(mysql_stmt_close_d) = dlsym(magma, "mysql_stmt_close")) == NULL
if ((*(void **)&(mysql_errno_d) = dlsym(magma, "mysql_errno")) == NULL) return "mysql_errno";
if ((*(void **)&(mysql_error_d) = dlsym(magma, "mysql_error")) == NULL) return "mysql_error";
if ((*(void **)&(mysql_stmt_execute_d) = dlsym(magma, "mysql_stmt_execute")) == NULL) return "mysql_stmt_execute";
+if ((*(void **)&(mariadb_connection_d) = dlsym(magma, "mariadb_connection")) == NULL) return "mariadb_connection";
if ((*(void **)&(mysql_free_result_d) = dlsym(magma, "mysql_free_result")) == NULL) return "mysql_free_result";
if ((*(void **)&(mysql_stmt_reset_d) = dlsym(magma, "mysql_stmt_reset")) == NULL) return "mysql_stmt_reset";
if ((*(void **)&(mysql_insert_id_d) = dlsym(magma, "mysql_insert_id")) == NULL) return "mysql_insert_id";
@@ -654,6 +655,7 @@ if ((*(void **)&(mysql_stmt_store_result_d) = dlsym(magma, "mysql_stmt_store_res
if ((*(void **)&(mysql_affected_rows_d) = dlsym(magma, "mysql_affected_rows")) == NULL) return "mysql_affected_rows";
if ((*(void **)&(mysql_num_rows_d) = dlsym(magma, "mysql_num_rows")) == NULL) return "mysql_num_rows";
if ((*(void **)&(mysql_stmt_errno_d) = dlsym(magma, "mysql_stmt_errno")) == NULL) return "mysql_stmt_errno";
+if ((*(void **)&(mysql_get_server_info_d) = dlsym(magma, "mysql_get_server_info")) == NULL) return "mysql_get_server_info";
if ((*(void **)&(mysql_stmt_error_d) = dlsym(magma, "mysql_stmt_error")) == NULL) return "mysql_stmt_error";
if ((*(void **)&(mysql_stmt_free_result_d) = dlsym(magma, "mysql_stmt_free_result")) == NULL) return "mysql_stmt_free_result";
if ((*(void **)&(mysql_num_fields_d) = dlsym(magma, "mysql_num_fields")) == NULL) return "mysql_num_fields";
diff --git a/lib/check/magma.open.symbols.h b/lib/check/magma.open.symbols.h
index a3be9fd5..ee093e37 100644
--- a/lib/check/magma.open.symbols.h
+++ b/lib/check/magma.open.symbols.h
@@ -211,7 +211,6 @@ extern void (*mysql_thread_end_d)(void);
extern int (*mysql_ping_d)(MYSQL *mysql);
extern void (*mysql_close_d)(MYSQL *mysql);
extern my_bool (*mysql_thread_init_d)(void);
-extern const char * (*mysql_get_server_info_d)(MYSQL *mysql);
extern MYSQL * (*mysql_init_d)(MYSQL *mysql);
extern unsigned int (*mysql_thread_safe_d)(void);
extern int (*mysql_stmt_fetch_d)(MYSQL_STMT *stmt);
@@ -219,6 +218,7 @@ extern my_bool (*mysql_stmt_close_d)(MYSQL_STMT *);
extern unsigned int (*mysql_errno_d)(MYSQL *mysql);
extern const char * (*mysql_error_d)(MYSQL *mysql);
extern int (*mysql_stmt_execute_d)(MYSQL_STMT *stmt);
+extern my_bool (*mariadb_connection_d)(MYSQL *mysql);
extern void (*mysql_free_result_d)(MYSQL_RES *result);
extern my_bool (*mysql_stmt_reset_d)(MYSQL_STMT *stmt);
extern my_ulonglong (*mysql_insert_id_d)(MYSQL *mysql);
@@ -231,6 +231,7 @@ extern int (*mysql_stmt_store_result_d)(MYSQL_STMT *stmt);
extern my_ulonglong (*mysql_affected_rows_d)(MYSQL *mysql);
extern my_ulonglong (*mysql_num_rows_d)(MYSQL_RES *result);
extern unsigned int (*mysql_stmt_errno_d)(MYSQL_STMT *stmt);
+extern const char * (*mysql_get_server_info_d)(MYSQL *mysql);
extern const char * (*mysql_stmt_error_d)(MYSQL_STMT * stmt);
extern my_bool (*mysql_stmt_free_result_d)(MYSQL_STMT *stmt);
extern unsigned int (*mysql_num_fields_d)(MYSQL_RES *result);
diff --git a/lib/patches/mariadb/2.3.7_get_connector_info.patch b/lib/patches/mariadb/2.3.7_get_connector_info.patch
new file mode 100644
index 00000000..028264a6
--- /dev/null
+++ b/lib/patches/mariadb/2.3.7_get_connector_info.patch
@@ -0,0 +1,29 @@
+diff --git a/include/mysql.h b/include/mysql.h
+index d930b2c..9a209bd 100644
+--- a/include/mysql.h
++++ b/include/mysql.h
+@@ -482,6 +482,7 @@ int STDCALL mysql_set_server_option(MYSQL *mysql,
+ enum enum_mysql_set_option option);
+ const char * STDCALL mysql_get_client_info(void);
+ unsigned long STDCALL mysql_get_client_version(void);
++const char * STDCALL mysql_get_connector_info(void);
+ my_bool STDCALL mariadb_connection(MYSQL *mysql);
+ const char * STDCALL mysql_get_server_name(MYSQL *mysql);
+ CHARSET_INFO * STDCALL mysql_get_charset_by_name(const char *csname);
+diff --git a/libmariadb/libmariadb.c b/libmariadb/libmariadb.c
+index 2f0953f..0e10c10 100644
+--- a/libmariadb/libmariadb.c
++++ b/libmariadb/libmariadb.c
+@@ -2955,6 +2955,12 @@ mysql_get_client_info(void)
+ return (char*) MYSQL_CLIENT_VERSION;
+ }
+
++const char * STDCALL
++mysql_get_connector_info(void)
++{
++ return (char*) MARIADB_PACKAGE_VERSION;
++}
++
+ static size_t get_store_length(size_t length)
+ {
+ if (length < (size_t) L64(251))