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 <danilo.spine...@suse.com>
+
+- 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());
-}

Reply via email to