diff options
author | Ladar Levison <ladar@lavabit.com> | 2019-02-27 07:57:38 +0300 |
---|---|---|
committer | Ladar Levison <ladar@users.noreply.github.com> | 2019-03-07 00:09:38 +0300 |
commit | f2f4c5417f001ac3d18853d80a1eccef4953d696 (patch) | |
tree | 8ee2895dc2b1171cb955f49f758447da04adce86 /lib | |
parent | d8dc9ccd3dd474ae18dbed8efe84be7e54f7a40c (diff) |
Use the SQL connector version (not the daemon).
Diffstat (limited to 'lib')
-rw-r--r-- | lib/check/magma.open.symbols.c | 6 | ||||
-rw-r--r-- | lib/check/magma.open.symbols.h | 3 | ||||
-rw-r--r-- | lib/patches/mariadb/2.3.7_get_connector_info.patch | 29 |
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)) |