Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package mariadb-connector-c for
openSUSE:Factory checked in at 2021-10-23 23:13:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mariadb-connector-c (Old)
and /work/SRC/openSUSE:Factory/.mariadb-connector-c.new.1890 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mariadb-connector-c"
Sat Oct 23 23:13:49 2021 rev:34 rq:926960 version:3.2.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/mariadb-connector-c/mariadb-connector-c.changes
2021-09-04 22:32:18.847909735 +0200
+++
/work/SRC/openSUSE:Factory/.mariadb-connector-c.new.1890/mariadb-connector-c.changes
2021-10-23 23:13:58.800981204 +0200
@@ -1,0 +2,8 @@
+Fri Oct 22 11:02:06 UTC 2021 - Danilo Spinella <[email protected]>
+
+- Update to 3.2.4:
+ * release notes and changelog:
+ https://mariadb.com/kb/en/library/mariadb-connector-c-324-release-notes
+ https://mariadb.com/kb/en/library/mariadb-connector-c-324-changelog
+
+-------------------------------------------------------------------
Old:
----
mariadb-connector-c-3.2.3-src.tar.gz
mariadb-connector-c-3.2.3-src.tar.gz.asc
New:
----
mariadb-connector-c-3.2.4-src.tar.gz
mariadb-connector-c-3.2.4-src.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mariadb-connector-c.spec ++++++
--- /var/tmp/diff_new_pack.ggQFuR/_old 2021-10-23 23:13:59.216981408 +0200
+++ /var/tmp/diff_new_pack.ggQFuR/_new 2021-10-23 23:13:59.220981410 +0200
@@ -25,7 +25,7 @@
%endif
%bcond_with sqlite3
Name: mariadb-connector-c
-Version: 3.2.3
+Version: 3.2.4
Release: 0
Summary: MariaDB connector in C
License: LGPL-2.1-or-later
++++++ mariadb-connector-c-3.2.3-src.tar.gz ->
mariadb-connector-c-3.2.4-src.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mariadb-connector-c-3.2.3-src/CMakeLists.txt
new/mariadb-connector-c-3.2.4-src/CMakeLists.txt
--- old/mariadb-connector-c-3.2.3-src/CMakeLists.txt 2021-07-05
12:43:06.000000000 +0200
+++ new/mariadb-connector-c-3.2.4-src/CMakeLists.txt 2021-07-28
06:06:11.000000000 +0200
@@ -36,7 +36,7 @@
SET(CPACK_PACKAGE_VERSION_MAJOR 3)
SET(CPACK_PACKAGE_VERSION_MINOR 2)
-SET(CPACK_PACKAGE_VERSION_PATCH 3)
+SET(CPACK_PACKAGE_VERSION_PATCH 4)
SET(CPACK_PACKAGE_VERSION
"${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
MATH(EXPR MARIADB_PACKAGE_VERSION_ID "${CPACK_PACKAGE_VERSION_MAJOR} * 10000 +
${CPACK_PACKAGE_VERSION_MINOR} * 100 +
@@ -164,8 +164,8 @@
SET(MARIADB_CLIENT_VERSION_EXTRA ${EXTRA_VERSION})
ELSE()
SET(MARIADB_CLIENT_VERSION_MAJOR "10")
- SET(MARIADB_CLIENT_VERSION_MINOR "5")
- SET(MARIADB_CLIENT_VERSION_PATCH "5")
+ SET(MARIADB_CLIENT_VERSION_MINOR "6")
+ SET(MARIADB_CLIENT_VERSION_PATCH "4")
SET(MARIADB_CLIENT_VERSION_EXTRA "")
ENDIF()
SET(MARIADB_CLIENT_VERSION
"${MARIADB_CLIENT_VERSION_MAJOR}.${MARIADB_CLIENT_VERSION_MINOR}.${MARIADB_CLIENT_VERSION_PATCH}${MARIADB_CLIENT_VERSION_EXTRA}")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mariadb-connector-c-3.2.3-src/include/mariadb_stmt.h
new/mariadb-connector-c-3.2.4-src/include/mariadb_stmt.h
--- old/mariadb-connector-c-3.2.3-src/include/mariadb_stmt.h 2021-07-05
12:43:06.000000000 +0200
+++ new/mariadb-connector-c-3.2.4-src/include/mariadb_stmt.h 2021-07-28
06:06:11.000000000 +0200
@@ -161,46 +161,6 @@
char sqlstate[SQLSTATE_LENGTH + 1];
} mysql_error_info;
-
-struct st_mysqlnd_stmt_methods
-{
- my_bool (*prepare)(const MYSQL_STMT * stmt, const char * const query, size_t
query_len);
- my_bool (*execute)(const MYSQL_STMT * stmt);
- MYSQL_RES * (*use_result)(const MYSQL_STMT * stmt);
- MYSQL_RES * (*store_result)(const MYSQL_STMT * stmt);
- MYSQL_RES * (*get_result)(const MYSQL_STMT * stmt);
- my_bool (*free_result)(const MYSQL_STMT * stmt);
- my_bool (*seek_data)(const MYSQL_STMT * stmt, unsigned long long row);
- my_bool (*reset)(const MYSQL_STMT * stmt);
- my_bool (*close)(const MYSQL_STMT * stmt); /* private */
- my_bool (*dtor)(const MYSQL_STMT * stmt); /* use this for mysqlnd_stmt_close
*/
-
- my_bool (*fetch)(const MYSQL_STMT * stmt, my_bool * const fetched_anything);
-
- my_bool (*bind_param)(const MYSQL_STMT * stmt, const MYSQL_BIND bind);
- my_bool (*refresh_bind_param)(const MYSQL_STMT * stmt);
- my_bool (*bind_result)(const MYSQL_STMT * stmt, const MYSQL_BIND *bind);
- my_bool (*send_long_data)(const MYSQL_STMT * stmt, unsigned int param_num,
- const char * const data, size_t length);
- MYSQL_RES *(*get_parameter_metadata)(const MYSQL_STMT * stmt);
- MYSQL_RES *(*get_result_metadata)(const MYSQL_STMT * stmt);
- unsigned long long (*get_last_insert_id)(const MYSQL_STMT * stmt);
- unsigned long long (*get_affected_rows)(const MYSQL_STMT * stmt);
- unsigned long long (*get_num_rows)(const MYSQL_STMT * stmt);
-
- unsigned int (*get_param_count)(const MYSQL_STMT * stmt);
- unsigned int (*get_field_count)(const MYSQL_STMT * stmt);
- unsigned int (*get_warning_count)(const MYSQL_STMT * stmt);
-
- unsigned int (*get_error_no)(const MYSQL_STMT * stmt);
- const char * (*get_error_str)(const MYSQL_STMT * stmt);
- const char * (*get_sqlstate)(const MYSQL_STMT * stmt);
-
- my_bool (*get_attribute)(const MYSQL_STMT * stmt, enum enum_stmt_attr_type
attr_type, const void * value);
- my_bool (*set_attribute)(const MYSQL_STMT * stmt, enum enum_stmt_attr_type
attr_type, const void * value);
- void (*set_error)(MYSQL_STMT *stmt, unsigned int error_nr, const char
*sqlstate, const char *format, ...);
-};
-
typedef int (*mysql_stmt_fetch_row_func)(MYSQL_STMT *stmt, unsigned char
**row);
typedef void (*ps_result_callback)(void *data, unsigned int column, unsigned
char **row);
typedef my_bool *(*ps_param_callback)(void *data, MYSQL_BIND *bind, unsigned
int row_nr);
@@ -239,13 +199,14 @@
mysql_stmt_fetch_row_func fetch_row_func;
unsigned int execute_count;/* count how many times the stmt was
executed */
mysql_stmt_use_or_store_func default_rset_handler;
- struct st_mysqlnd_stmt_methods *m;
+ unsigned char *request_buffer;
unsigned int array_size;
size_t row_size;
unsigned int prebind_params;
void *user_data;
ps_result_callback result_callback;
ps_param_callback param_callback;
+ size_t request_length;
};
typedef void (*ps_field_fetch_func)(MYSQL_BIND *r_param, const MYSQL_FIELD *
field, unsigned char **row);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mariadb-connector-c-3.2.3-src/include/mysql.h
new/mariadb-connector-c-3.2.4-src/include/mysql.h
--- old/mariadb-connector-c-3.2.3-src/include/mysql.h 2021-07-05
12:43:06.000000000 +0200
+++ new/mariadb-connector-c-3.2.4-src/include/mysql.h 2021-07-28
06:06:11.000000000 +0200
@@ -874,6 +874,7 @@
void (*invalidate_stmts)(MYSQL *mysql, const char *function_name);
struct st_mariadb_api *api;
int (*db_read_execute_response)(MYSQL_STMT *stmt);
+ unsigned char* (*db_execute_generate_request)(MYSQL_STMT *stmt, size_t
*request_len, my_bool internal);
};
/* synonyms/aliases functions */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/mariadb-connector-c-3.2.3-src/include/mysqld_error.h
new/mariadb-connector-c-3.2.4-src/include/mysqld_error.h
--- old/mariadb-connector-c-3.2.3-src/include/mysqld_error.h 2021-07-05
12:43:06.000000000 +0200
+++ new/mariadb-connector-c-3.2.4-src/include/mysqld_error.h 2021-07-28
06:06:11.000000000 +0200
@@ -727,7 +727,7 @@
#define ER_BINLOG_UNSAFE_WRITE_AUTOINC_SELECT 1722
#define ER_BINLOG_UNSAFE_CREATE_SELECT_AUTOINC 1723
#define ER_BINLOG_UNSAFE_INSERT_TWO_KEYS 1724
-#define ER_TABLE_IN_FK_CHECK 1725
+#define ER_UNUSED_28 1725
#define ER_UNUSED_1 1726
#define ER_BINLOG_UNSAFE_AUTOINC_NOT_FIRST 1727
#define ER_CANNOT_LOAD_FROM_TABLE_V2 1728
@@ -1047,8 +1047,8 @@
/* New section */
#define ER_ERROR_FIRST_SECTION_5 4000
-#define ER_COMMULTI_BADCONTEXT 4000
-#define ER_BAD_COMMAND_IN_MULTI 4001
+#define ER_UNUSED_26 4000
+#define ER_UNUSED_27 4001
#define ER_WITH_COL_WRONG_LIST 4002
#define ER_TOO_MANY_DEFINITIONS_IN_WITH_CLAUSE 4003
#define ER_DUP_QUERY_NAME 4004
@@ -1094,7 +1094,7 @@
#define ER_JSON_PATH_NO_WILDCARD 4044
#define ER_JSON_PATH_ARRAY 4045
#define ER_JSON_ONE_OR_ALL 4046
-#define ER_UNSUPPORT_COMPRESSED_TEMPORARY_TABLE 4047
+#define ER_UNSUPPORTED_COMPRESSED_TABLE 4047
#define ER_GEOJSON_INCORRECT 4048
#define ER_GEOJSON_TOO_FEW_POINTS 4049
#define ER_GEOJSON_NOT_CLOSED 4050
@@ -1221,5 +1221,14 @@
#define ER_KEY_CANT_HAVE_WITHOUT_OVERLAPS 4171
#define ER_NOT_ALLOWED_IN_THIS_CONTEXT 4172
#define ER_DATA_WAS_COMMITED_UNDER_ROLLBACK 4173
-#define ER_ERROR_LAST 4173
+#define ER_PK_INDEX_CANT_BE_IGNORED 4174
+#define ER_BINLOG_UNSAFE_SKIP_LOCKED 4175
+#define ER_JSON_TABLE_ERROR_ON_FIELD 4176
+#define ER_JSON_TABLE_ALIAS_REQUIRED 4177
+#define ER_JSON_TABLE_SCALAR_EXPECTED 4178
+#define ER_JSON_TABLE_MULTIPLE_MATCHES 4179
+#define ER_WITH_TIES_NEEDS_ORDER 4180
+#define ER_REMOVED_ORPHAN_TRIGGER 4181
+#define ER_STORAGE_ENGINE_DISABLED 4182
+#define ER_ERROR_LAST 4182
#endif /* ER_ERROR_FIRST */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mariadb-connector-c-3.2.3-src/libmariadb/ma_stmt_codec.c
new/mariadb-connector-c-3.2.4-src/libmariadb/ma_stmt_codec.c
--- old/mariadb-connector-c-3.2.3-src/libmariadb/ma_stmt_codec.c
2021-07-05 12:43:06.000000000 +0200
+++ new/mariadb-connector-c-3.2.4-src/libmariadb/ma_stmt_codec.c
2021-07-28 06:06:11.000000000 +0200
@@ -1240,27 +1240,27 @@
mysql_ps_fetch_functions[MYSQL_TYPE_TINY].func = ps_fetch_int8;
mysql_ps_fetch_functions[MYSQL_TYPE_TINY].pack_len = 1;
- mysql_ps_fetch_functions[MYSQL_TYPE_TINY].max_len = 4;
+ mysql_ps_fetch_functions[MYSQL_TYPE_TINY].max_len = 3;
mysql_ps_fetch_functions[MYSQL_TYPE_SHORT].func = ps_fetch_int16;
mysql_ps_fetch_functions[MYSQL_TYPE_SHORT].pack_len = 2;
- mysql_ps_fetch_functions[MYSQL_TYPE_SHORT].max_len = 6;
+ mysql_ps_fetch_functions[MYSQL_TYPE_SHORT].max_len = 5;
mysql_ps_fetch_functions[MYSQL_TYPE_YEAR].func = ps_fetch_int16;
mysql_ps_fetch_functions[MYSQL_TYPE_YEAR].pack_len = 2;
- mysql_ps_fetch_functions[MYSQL_TYPE_YEAR].max_len = 6;
+ mysql_ps_fetch_functions[MYSQL_TYPE_YEAR].max_len = 4;
mysql_ps_fetch_functions[MYSQL_TYPE_INT24].func = ps_fetch_int32;
mysql_ps_fetch_functions[MYSQL_TYPE_INT24].pack_len = 4;
- mysql_ps_fetch_functions[MYSQL_TYPE_INT24].max_len = 9;
+ mysql_ps_fetch_functions[MYSQL_TYPE_INT24].max_len = 8;
mysql_ps_fetch_functions[MYSQL_TYPE_LONG].func = ps_fetch_int32;
mysql_ps_fetch_functions[MYSQL_TYPE_LONG].pack_len = 4;
- mysql_ps_fetch_functions[MYSQL_TYPE_LONG].max_len = 11;
+ mysql_ps_fetch_functions[MYSQL_TYPE_LONG].max_len = 10;
mysql_ps_fetch_functions[MYSQL_TYPE_LONGLONG].func = ps_fetch_int64;
mysql_ps_fetch_functions[MYSQL_TYPE_LONGLONG].pack_len= 8;
- mysql_ps_fetch_functions[MYSQL_TYPE_LONGLONG].max_len = 21;
+ mysql_ps_fetch_functions[MYSQL_TYPE_LONGLONG].max_len = 20;
mysql_ps_fetch_functions[MYSQL_TYPE_FLOAT].func = ps_fetch_float;
mysql_ps_fetch_functions[MYSQL_TYPE_FLOAT].pack_len = 4;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mariadb-connector-c-3.2.3-src/libmariadb/mariadb_lib.c
new/mariadb-connector-c-3.2.4-src/libmariadb/mariadb_lib.c
--- old/mariadb-connector-c-3.2.3-src/libmariadb/mariadb_lib.c 2021-07-05
12:43:06.000000000 +0200
+++ new/mariadb-connector-c-3.2.4-src/libmariadb/mariadb_lib.c 2021-07-28
06:06:11.000000000 +0200
@@ -104,6 +104,7 @@
const char *data_plugin, const char *db);
extern int net_add_multi_command(NET *net, uchar command, const uchar *packet,
size_t length);
+extern unsigned char* ma_stmt_execute_generate_request(MYSQL_STMT *stmt,
size_t *request_len, my_bool internal);
extern LIST *pvio_callback;
@@ -117,7 +118,7 @@
extern int mthd_stmt_fetch_to_bind(MYSQL_STMT *stmt, unsigned char *row);
extern int mthd_stmt_read_all_rows(MYSQL_STMT *stmt);
extern void mthd_stmt_flush_unbuffered(MYSQL_STMT *stmt);
-extern my_bool _mariadb_read_options(MYSQL *mysql, const char *dir, const char
*config_file, char *group, unsigned int recursion);
+extern my_bool _mariadb_read_options(MYSQL *mysql, const char *dir, const char
*config_file, const char *group, unsigned int recursion);
extern unsigned char *mysql_net_store_length(unsigned char *packet, size_t
length);
extern void
@@ -4518,5 +4519,7 @@
/* API functions */
&MARIADB_API,
/* read execute response */
- mthd_stmt_read_execute_response
+ mthd_stmt_read_execute_response,
+ /* generate execute request */
+ ma_stmt_execute_generate_request,
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mariadb-connector-c-3.2.3-src/libmariadb/mariadb_stmt.c
new/mariadb-connector-c-3.2.4-src/libmariadb/mariadb_stmt.c
--- old/mariadb-connector-c-3.2.3-src/libmariadb/mariadb_stmt.c 2021-07-05
12:43:06.000000000 +0200
+++ new/mariadb-connector-c-3.2.4-src/libmariadb/mariadb_stmt.c 2021-07-28
06:06:11.000000000 +0200
@@ -673,8 +673,8 @@
return 0;
}
-/* {{{ mysqlnd_stmt_execute_generate_simple_request */
-unsigned char* mysql_stmt_execute_generate_simple_request(MYSQL_STMT *stmt,
size_t *request_len)
+/* {{{ ma_stmt_execute_generate_simple_request */
+unsigned char* ma_stmt_execute_generate_simple_request(MYSQL_STMT *stmt,
size_t *request_len)
{
/* execute packet has the following format:
Offset Length Description
@@ -854,8 +854,8 @@
}
/* }}} */
-/* {{{ mysql_stmt_execute_generate_bulk_request */
-unsigned char* mysql_stmt_execute_generate_bulk_request(MYSQL_STMT *stmt,
size_t *request_len)
+/* {{{ ma_stmt_execute_generate_bulk_request */
+unsigned char* ma_stmt_execute_generate_bulk_request(MYSQL_STMT *stmt, size_t
*request_len)
{
/* execute packet has the following format:
Offset Length Description
@@ -1046,6 +1046,40 @@
return NULL;
}
/* }}} */
+
+
+unsigned char* ma_stmt_execute_generate_request(MYSQL_STMT *stmt, size_t
*request_len, my_bool internal)
+{
+ unsigned char *buf;
+
+
+ if (stmt->request_buffer)
+ {
+ *request_len= stmt->request_length;
+ buf= stmt->request_buffer;
+ /* store actual stmt id */
+ int4store(buf, stmt->stmt_id);
+ /* clear buffer, memory will be freed in execute */
+ stmt->request_buffer= NULL;
+ stmt->request_length= 0;
+ return buf;
+ }
+ if (stmt->array_size > 0)
+ buf= ma_stmt_execute_generate_bulk_request(stmt, request_len);
+ else
+ buf= ma_stmt_execute_generate_simple_request(stmt, request_len);
+
+ if (internal)
+ {
+ if (stmt->request_buffer)
+ free(stmt->request_buffer);
+ stmt->request_buffer= buf;
+ stmt->request_length= *request_len;
+ }
+ return buf;
+}
+
+
/*!
*******************************************************************************
@@ -1122,7 +1156,7 @@
stmt->state= MYSQL_STMT_INITTED;
stmt->params= 0;
}
- stmt->prebind_params= *(unsigned int *)value;
+ stmt->prebind_params= stmt->param_count= *(unsigned int *)value;
break;
case STMT_ATTR_ARRAY_SIZE:
stmt->array_size= *(unsigned int *)value;
@@ -2056,11 +2090,8 @@
}
/* CONC-344: set row count to zero */
stmt->result.rows= 0;
- if (stmt->array_size > 0)
- request= (char *)mysql_stmt_execute_generate_bulk_request(stmt,
&request_len);
- else
- request= (char *)mysql_stmt_execute_generate_simple_request(stmt,
&request_len);
+ request= (char *)ma_stmt_execute_generate_request(stmt, &request_len, 0);
if (!request)
return 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mariadb-connector-c-3.2.3-src/libmariadb/win32_errmsg.c
new/mariadb-connector-c-3.2.4-src/libmariadb/win32_errmsg.c
--- old/mariadb-connector-c-3.2.3-src/libmariadb/win32_errmsg.c 2021-07-05
12:43:06.000000000 +0200
+++ new/mariadb-connector-c-3.2.4-src/libmariadb/win32_errmsg.c 2021-07-28
06:06:11.000000000 +0200
@@ -117,7 +117,7 @@
return;
if (entry)
{
- sprintf_s(cur, end - cur, "%s. Error 0x%08lX(%s)", entry->msg, code,
entry->sym);
+ snprintf(cur, end - cur, "%s. Error 0x%08lX(%s)", entry->msg, code,
entry->sym);
}
else
{
@@ -131,7 +131,8 @@
cur++;
*cur = 0;
}
- sprintf_s(cur, end - cur, ". Error %lu/0x%08lX", code, code);
+ snprintf(cur, end - cur, ". Error %lu/0x%08lX", code, code);
}
+ end[-1] = 0;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mariadb-connector-c-3.2.3-src/plugins/auth/caching_sha2_pw.c
new/mariadb-connector-c-3.2.4-src/plugins/auth/caching_sha2_pw.c
--- old/mariadb-connector-c-3.2.3-src/plugins/auth/caching_sha2_pw.c
2021-07-05 12:43:06.000000000 +0200
+++ new/mariadb-connector-c-3.2.4-src/plugins/auth/caching_sha2_pw.c
2021-07-28 06:06:11.000000000 +0200
@@ -1,5 +1,5 @@
/************************************************************************************
- Copyright (C) 2017 MariaDB Corporation AB
+ Copyright (C) 2017, 2021, MariaDB Corporation AB
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
@@ -340,16 +340,15 @@
#if defined(HAVE_OPENSSL)
bio= BIO_new_mem_buf(filebuffer ? (unsigned char *)filebuffer : packet,
packet_length);
- if ((pubkey= PEM_read_bio_PUBKEY(bio, NULL, NULL, NULL)))
- {
- if (!(ctx= EVP_PKEY_CTX_new(pubkey, NULL)))
- goto error;
- if (EVP_PKEY_encrypt_init(ctx) <= 0)
- goto error;
- if (EVP_PKEY_CTX_set_rsa_padding(ctx, RSA_PKCS1_OAEP_PADDING) <= 0)
- goto error;
- rsa_size= EVP_PKEY_size(pubkey);
- }
+ if (!(pubkey= PEM_read_bio_PUBKEY(bio, NULL, NULL, NULL)))
+ goto error;
+ if (!(ctx= EVP_PKEY_CTX_new(pubkey, NULL)))
+ goto error;
+ if (EVP_PKEY_encrypt_init(ctx) <= 0)
+ goto error;
+ if (EVP_PKEY_CTX_set_rsa_padding(ctx, RSA_PKCS1_OAEP_PADDING) <= 0)
+ goto error;
+ rsa_size= EVP_PKEY_size(pubkey);
BIO_free(bio);
bio= NULL;
ERR_clear_error();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mariadb-connector-c-3.2.3-src/plugins/auth/sha256_pw.c
new/mariadb-connector-c-3.2.4-src/plugins/auth/sha256_pw.c
--- old/mariadb-connector-c-3.2.3-src/plugins/auth/sha256_pw.c 2021-07-05
12:43:06.000000000 +0200
+++ new/mariadb-connector-c-3.2.4-src/plugins/auth/sha256_pw.c 2021-07-28
06:06:11.000000000 +0200
@@ -1,5 +1,5 @@
/************************************************************************************
- Copyright (C) 2017 MariaDB Corporation AB
+ Copyright (C) 2017, 2021, MariaDB Corporation AB
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
@@ -232,16 +232,15 @@
#if defined(HAVE_OPENSSL)
bio= BIO_new_mem_buf(filebuffer ? (unsigned char *)filebuffer : packet,
packet_length);
- if ((pubkey= PEM_read_bio_PUBKEY(bio, NULL, NULL, NULL)))
- {
- if (!(ctx= EVP_PKEY_CTX_new(pubkey, NULL)))
- goto error;
- if (EVP_PKEY_encrypt_init(ctx) <= 0)
- goto error;
- if (EVP_PKEY_CTX_set_rsa_padding(ctx, RSA_PKCS1_OAEP_PADDING) <= 0)
- goto error;
- rsa_size= EVP_PKEY_size(pubkey);
- }
+ if (!(pubkey= PEM_read_bio_PUBKEY(bio, NULL, NULL, NULL)))
+ goto error;
+ if (!(ctx= EVP_PKEY_CTX_new(pubkey, NULL)))
+ goto error;
+ if (EVP_PKEY_encrypt_init(ctx) <= 0)
+ goto error;
+ if (EVP_PKEY_CTX_set_rsa_padding(ctx, RSA_PKCS1_OAEP_PADDING) <= 0)
+ goto error;
+ rsa_size= EVP_PKEY_size(pubkey);
BIO_free(bio);
bio= NULL;
ERR_clear_error();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mariadb-connector-c-3.2.3-src/unittest/libmariadb/CMakeLists.txt
new/mariadb-connector-c-3.2.4-src/unittest/libmariadb/CMakeLists.txt
--- old/mariadb-connector-c-3.2.3-src/unittest/libmariadb/CMakeLists.txt
2021-07-05 12:43:06.000000000 +0200
+++ new/mariadb-connector-c-3.2.4-src/unittest/libmariadb/CMakeLists.txt
2021-07-28 06:06:11.000000000 +0200
@@ -34,7 +34,7 @@
SET(API_TESTS ${API_TESTS} "async")
#exclude following tests from ctests, since we need to run them maually with
different credentials
-SET(MANUAL_TESTS "t_aurora" "t_conc173" "rpl_api")
+SET(MANUAL_TESTS "t_conc173" "rpl_api")
# Get finger print from server certificate
IF(WITH_SSL)
IF(CERT_PATH AND NOT DEFINED ENV{TRAVIS})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mariadb-connector-c-3.2.3-src/unittest/libmariadb/cursor.c
new/mariadb-connector-c-3.2.4-src/unittest/libmariadb/cursor.c
--- old/mariadb-connector-c-3.2.3-src/unittest/libmariadb/cursor.c
2021-07-05 12:43:06.000000000 +0200
+++ new/mariadb-connector-c-3.2.4-src/unittest/libmariadb/cursor.c
2021-07-28 06:06:11.000000000 +0200
@@ -1494,10 +1494,7 @@
int rc;
unsigned long type= CURSOR_TYPE_READ_ONLY;
- rc= mysql_query(mysql, "DROP TABLE IF EXISTS t10");
- check_mysql_rc(rc, mysql);
-
- rc= mysql_query(mysql, "CREATE TABLE t10 (a INT)");
+ rc= mysql_query(mysql, "CREATE TEMPORARY TABLE t10 (a INT)");
check_mysql_rc(rc, mysql);
stmt= mysql_stmt_init(mysql);
@@ -1510,6 +1507,9 @@
check_stmt_rc(rc, stmt);
mysql_stmt_close(stmt);
+ rc= mysql_query(mysql, "DROP TABLE t10");
+ check_mysql_rc(rc, mysql);
+
return OK;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mariadb-connector-c-3.2.3-src/unittest/libmariadb/misc.c
new/mariadb-connector-c-3.2.4-src/unittest/libmariadb/misc.c
--- old/mariadb-connector-c-3.2.3-src/unittest/libmariadb/misc.c
2021-07-05 12:43:06.000000000 +0200
+++ new/mariadb-connector-c-3.2.4-src/unittest/libmariadb/misc.c
2021-07-28 06:06:11.000000000 +0200
@@ -846,10 +846,14 @@
check_mysql_rc(rc, mysql);
res= mysql_store_result(mysql);
row= mysql_fetch_row(res);
- if (atol(row[0]) == 0) {
+
+ i= !atol(row[0]);
+ if (i) {
diag("Load local infile disable");
+ mysql_free_result(res);
return SKIP;
}
+ mysql_free_result(res);
fp= fopen("./sample.csv", "w");
for (i=1; i < 4; i++)
@@ -1067,6 +1071,7 @@
int rc;
MYSQL_RES *res;
MYSQL_ROW row;
+ SKIP_SKYSQL;
SKIP_SKYSQL;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mariadb-connector-c-3.2.3-src/unittest/libmariadb/ps.c
new/mariadb-connector-c-3.2.4-src/unittest/libmariadb/ps.c
--- old/mariadb-connector-c-3.2.3-src/unittest/libmariadb/ps.c 2021-07-05
12:43:06.000000000 +0200
+++ new/mariadb-connector-c-3.2.4-src/unittest/libmariadb/ps.c 2021-07-28
06:06:11.000000000 +0200
@@ -5118,7 +5118,60 @@
return OK;
}
+static int test_conc565(MYSQL *mysql)
+{
+ MYSQL_STMT *stmt= mysql_stmt_init(mysql);
+ MYSQL_FIELD *fields_binary, *fields_text;
+ MYSQL_RES *result;
+ int rc;
+ unsigned int i;
+ my_bool x=1;
+ my_bool error= 0;
+
+ rc= mysql_query(mysql, "CREATE TEMPORARY TABLE t1 (a year, b tinyint
unsigned, c smallint unsigned, d mediumint unsigned, e int unsigned, f bigint
unsigned)");
+ check_mysql_rc(rc, mysql);
+
+ rc= mysql_query(mysql, "INSERT INTO t1 VALUES (2020, 127, 0xFFFF, 0xFFFFFF,
0xFFFFFFFF, 0xFFFFFFFFFFFFFFFF)");
+ check_mysql_rc(rc, mysql);
+
+ rc= mysql_stmt_prepare(stmt, "select a,b,c,d,e,f from t1", -1);
+ check_stmt_rc(rc, stmt);
+
+ rc= mysql_stmt_attr_set(stmt, STMT_ATTR_UPDATE_MAX_LENGTH, (void *)&x);
+ check_stmt_rc(rc, stmt);
+
+ rc= mysql_stmt_execute(stmt);
+ check_stmt_rc(rc, stmt);
+
+ mysql_stmt_store_result(stmt);
+ fields_binary= mariadb_stmt_fetch_fields(stmt);
+
+ rc= mysql_query(mysql, "SELECT a,b,c,d,e,f FROM t1");
+ result= mysql_store_result(mysql);
+ fields_text= mysql_fetch_fields(result);
+
+ for (i=0; i < mysql_field_count(mysql); i++)
+ {
+ if (fields_binary[i].length != fields_text[i].length ||
+ fields_binary[i].max_length != fields_text[i].max_length)
+ {
+ diag("Sizes differ for column %d (type= %d)", i, fields_binary[i].type);
+ diag("Binary (length=%ld max_length=%ld) != Text(length=%ld
max_length=%ld",
+ fields_binary[i].length, fields_binary[i].max_length,
+ fields_text[i].length, fields_text[i].max_length);
+ error= 1;
+ goto end;
+ }
+ }
+end:
+ mysql_free_result(result);
+ mysql_stmt_close(stmt);
+
+ return error ? FAIL : OK;
+}
+
struct my_tests_st my_tests[] = {
+ {"test_conc565", test_conc565, TEST_CONNECTION_DEFAULT, 0, NULL, NULL},
{"test_conc349", test_conc349, TEST_CONNECTION_DEFAULT, 0, NULL, NULL},
{"test_prepare_error", test_prepare_error, TEST_CONNECTION_NEW, 0, NULL,
NULL},
{"test_reexecute", test_reexecute, TEST_CONNECTION_NEW, 0, NULL, NULL},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/mariadb-connector-c-3.2.3-src/unittest/libmariadb/t_aurora.c
new/mariadb-connector-c-3.2.4-src/unittest/libmariadb/t_aurora.c
--- old/mariadb-connector-c-3.2.3-src/unittest/libmariadb/t_aurora.c
2021-07-05 12:43:06.000000000 +0200
+++ new/mariadb-connector-c-3.2.4-src/unittest/libmariadb/t_aurora.c
1970-01-01 01:00:00.000000000 +0100
@@ -1,164 +0,0 @@
-/*
-*/
-
-#include "my_test.h"
-#include "ma_pvio.h"
-
-static int aurora1(MYSQL *unused __attribute__((unused)))
-{
- int rc;
- my_bool read_only= 1;
- char *primary, *my_schema;
- MYSQL_RES *res;
- MYSQL *mysql= mysql_init(NULL);
-
- if (!mysql_real_connect(mysql, hostname, username, password, schema, port,
NULL, 0))
- {
- diag("Error: %s", mysql_error(mysql));
- mysql_close(mysql);
- return FAIL;
- }
-
- rc= mysql_query(mysql, "DROP TABLE IF EXISTS t1");
- check_mysql_rc(rc, mysql);
-
- rc= mysql_query(mysql, "CREATE TABLE t1 (a int, b varchar(20))");
- check_mysql_rc(rc, mysql);
-
- rc= mysql_query(mysql, "INSERT INTO t1 VALUES (1, 'foo'), (2, 'bar')");
- check_mysql_rc(rc, mysql);
-
- mariadb_get_infov(mysql, MARIADB_CONNECTION_HOST, &primary);
- diag("primary: %s", primary);
-
- mysql_options(mysql, MARIADB_OPT_CONNECTION_READ_ONLY, &read_only);
-
- /* ensure, that this is a replica, so INSERT should fail */
- rc= mysql_query(mysql, "INSERT INTO t1 VALUES (3, 'error')");
- if (rc)
- diag("Expected error: %s", mysql_error(mysql));
-
- rc= mysql_query(mysql, "SELECT a, b FROM t1");
- check_mysql_rc(rc, mysql);
-
- res= mysql_store_result(mysql);
-
- diag("Num_rows: %lld", mysql_num_rows(res));
- mysql_free_result(res);
-
- mariadb_get_infov(mysql, MARIADB_CONNECTION_SCHEMA, &my_schema);
- diag("db: %s", my_schema);
-
- mysql_close(mysql);
-
- return OK;
-}
-
-static int test_wrong_user(MYSQL *unused __attribute__((unused)))
-{
- MYSQL *mysql= mysql_init(NULL);
-
- if (mysql_real_connect(mysql, hostname, "wrong_user", NULL, NULL, 0, NULL,
0))
- {
- diag("Error expected");
- mysql_close(mysql);
- return FAIL;
- }
- mysql_close(mysql);
- return OK;
-}
-
-static int test_reconnect(MYSQL *unused __attribute__((unused)))
-{
- MYSQL *mysql= mysql_init(NULL);
- MYSQL_RES *res;
- my_bool read_only= 1;
- int rc;
- my_bool reconnect= 1;
- char *aurora_host;
-
- mysql_options(mysql, MYSQL_OPT_RECONNECT, &reconnect);
-
- if (!mysql_real_connect(mysql, hostname, username, password, schema, port,
NULL, 0))
- {
- diag("Error: %s", mysql_error(mysql));
- mysql_close(mysql);
- return FAIL;
- }
-
- mariadb_get_infov(mysql, MARIADB_CONNECTION_HOST, &aurora_host);
- diag("host: %s", aurora_host);
-
- rc= mysql_query(mysql, "DROP TABLE IF EXISTS tx01");
- check_mysql_rc(rc, mysql);
- rc= mysql_query(mysql, "CREATE TABLE tx01 (a int)");
- check_mysql_rc(rc, mysql);
-
- /* we force cluster restart and promoting new primary:
- * we wait for 50 seconds - however there is no guarantee that
- * cluster was restarted already - so this test might fail */
- rc= system("/usr/local/aws/bin/aws rds failover-db-cluster
--db-cluster-identifier instance-1-cluster");
-
- diag("aws return code: %d", rc);
-
- sleep(50);
- diag("Q1");
- rc= mysql_query(mysql, "INSERT INTO tx01 VALUES (1)");
- if (!rc)
- diag("error expected!");
- diag("Error: %s", mysql_error(mysql));
-
- diag("Q2");
- rc= mysql_query(mysql, "INSERT INTO tx01 VALUES (1)");
- if (rc)
- {
- diag("no error expected!");
- diag("Error: %s", mysql_error(mysql));
- diag("host: %s", mysql->host);
- }
- else
- {
- mariadb_get_infov(mysql, MARIADB_CONNECTION_HOST, &aurora_host);
- diag("host: %s", aurora_host);
- }
-
- mysql_options(mysql, MARIADB_OPT_CONNECTION_READ_ONLY, &read_only);
-
- rc= mysql_query(mysql, "SELECT * from tx01");
- check_mysql_rc(rc, mysql);
-
- if ((res= mysql_store_result(mysql)))
- {
- diag("num_rows: %lld", mysql_num_rows(res));
- mysql_free_result(res);
- }
-
- mariadb_get_infov(mysql, MARIADB_CONNECTION_HOST, &aurora_host);
- diag("host: %s", aurora_host);
-
- mysql_close(mysql);
- return OK;
-}
-
-struct my_tests_st my_tests[] = {
- {"aurora1", aurora1, TEST_CONNECTION_NONE, 0, NULL, NULL},
- {"test_wrong_user", test_wrong_user, TEST_CONNECTION_NONE, 0, NULL, NULL},
- {"test_reconnect", test_reconnect, TEST_CONNECTION_NONE, 0, NULL, NULL},
- {NULL, NULL, 0, 0, NULL, NULL}
-};
-
-
-int main(int argc, char **argv)
-{
- mysql_library_init(0,0,NULL);
-
- if (argc > 1)
- get_options(argc, argv);
-
- get_envvars();
-
- run_tests(my_tests);
-
- mysql_server_end();
- return(exit_status());
-}