You've already forked mariadb-connector-c
mirror of
https://github.com/mariadb-corporation/mariadb-connector-c.git
synced 2025-08-07 02:42:49 +03:00
Fixed warning on Windows 64-bit build
This commit is contained in:
29
appveyor.yml
29
appveyor.yml
@@ -6,6 +6,11 @@ os: Visual Studio 2015
|
|||||||
configuration: RelWithDebInfo
|
configuration: RelWithDebInfo
|
||||||
platform: x64
|
platform: x64
|
||||||
clone_folder: c:\projects\mariadb-connector-c
|
clone_folder: c:\projects\mariadb-connector-c
|
||||||
|
environment:
|
||||||
|
MYSQL_TEST_USER: root
|
||||||
|
MYSQL_TEST_HOST: 127.0.0.1
|
||||||
|
MYSQL_TEST_PASSWD: Password12!
|
||||||
|
services: mysql56
|
||||||
before_build:
|
before_build:
|
||||||
- ps: >-
|
- ps: >-
|
||||||
cd c:\projects\mariadb-connector-c
|
cd c:\projects\mariadb-connector-c
|
||||||
@@ -18,27 +23,7 @@ build:
|
|||||||
parallel: true
|
parallel: true
|
||||||
verbosity: minimal
|
verbosity: minimal
|
||||||
test_script:
|
test_script:
|
||||||
- ps: >-
|
- cmd: >-
|
||||||
mkdir c:\tmp
|
cd c:\projects\mariadb-connector-c\unittest\libmariadb
|
||||||
|
|
||||||
(new-object System.Net.WebClient).DownloadFile('https://downloads.mariadb.org/f/mariadb-10.1.8/winx64-packages/mariadb-10.1.8-winx64.zip/from/http%3A/mirrors.n-ix.net/mariadb/?serve','C:\tmp\')
|
|
||||||
|
|
||||||
unzip c:\tmp\mariadb-10.1.8-winx64.zip
|
|
||||||
|
|
||||||
SET BIN_DIR=c:\tmp\mariadb\mariadb-10.1.8-winx64
|
|
||||||
|
|
||||||
SET CERT_DIR=c:\projects\mariadb-connector-c\unittest\libmariadb\certs
|
|
||||||
|
|
||||||
start %BINDIR%\mysqld.exe --console --max_allowed_packet=1G --enable-named-pipe --socket=JDBC-test-socket --ssl-ca=%CERTDIR%\cacert.pem --ssl-cert=%CERTDIR%\server-cert.pem --ssl-key=%CERTDIR%\server-key.pem
|
|
||||||
|
|
||||||
timeout 20
|
|
||||||
|
|
||||||
set MYSQL_TEST_USER=root
|
|
||||||
|
|
||||||
set MYSQL_TEST_HOST=127.0.0.1
|
|
||||||
|
|
||||||
cd \projects\mariadb-connector-c\unittest\libmariadb
|
|
||||||
|
|
||||||
ctest -V
|
ctest -V
|
||||||
|
|
||||||
call %BINDIR%\mysqladmin -uroot shutdown
|
|
||||||
|
@@ -112,6 +112,10 @@ struct my_context {
|
|||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
extern void
|
||||||
|
my_context_install_suspend_resume_hook(struct mysql_async_context *b,
|
||||||
|
void (*hook)(my_bool, void *),
|
||||||
|
void *user_data);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Initialize an asynchroneous context object.
|
Initialize an asynchroneous context object.
|
||||||
|
@@ -633,7 +633,6 @@ struct st_mysql_methods {
|
|||||||
int (*db_stmt_fetch_to_bind)(MYSQL_STMT *stmt, unsigned char *row);
|
int (*db_stmt_fetch_to_bind)(MYSQL_STMT *stmt, unsigned char *row);
|
||||||
void (*db_stmt_flush_unbuffered)(MYSQL_STMT *stmt);
|
void (*db_stmt_flush_unbuffered)(MYSQL_STMT *stmt);
|
||||||
void (*set_error)(MYSQL *mysql, unsigned int error_nr, const char *sqlstate, const char *format, ...);
|
void (*set_error)(MYSQL *mysql, unsigned int error_nr, const char *sqlstate, const char *format, ...);
|
||||||
my_bool (*reconnect)(MYSQL *mysql);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/* synonyms/aliases functions */
|
/* synonyms/aliases functions */
|
||||||
|
@@ -37,6 +37,7 @@
|
|||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
#ifdef HAVE_PWD_H
|
#ifdef HAVE_PWD_H
|
||||||
#include <pwd.h>
|
#include <pwd.h>
|
||||||
#endif
|
#endif
|
||||||
@@ -131,7 +132,7 @@ static void end_server(MYSQL *mysql);
|
|||||||
static void mysql_close_memory(MYSQL *mysql);
|
static void mysql_close_memory(MYSQL *mysql);
|
||||||
void read_user_name(char *name);
|
void read_user_name(char *name);
|
||||||
static void append_wild(char *to,char *end,const char *wild);
|
static void append_wild(char *to,char *end,const char *wild);
|
||||||
my_bool mysql_reconnect(MYSQL *mysql);
|
my_bool STDCALL mysql_reconnect(MYSQL *mysql);
|
||||||
static int cli_report_progress(MYSQL *mysql, uchar *packet, uint length);
|
static int cli_report_progress(MYSQL *mysql, uchar *packet, uint length);
|
||||||
|
|
||||||
extern int mysql_client_plugin_init();
|
extern int mysql_client_plugin_init();
|
||||||
@@ -1228,7 +1229,7 @@ uchar *ma_send_connect_attr(MYSQL *mysql, uchar *buffer)
|
|||||||
size_t len;
|
size_t len;
|
||||||
uchar *p= hash_element(&mysql->options.extension->connect_attrs, i);
|
uchar *p= hash_element(&mysql->options.extension->connect_attrs, i);
|
||||||
|
|
||||||
len= strlen(p);
|
len= strlen((char *)p);
|
||||||
buffer= mysql_net_store_length(buffer, len);
|
buffer= mysql_net_store_length(buffer, len);
|
||||||
memcpy(buffer, p, len);
|
memcpy(buffer, p, len);
|
||||||
buffer+= (len);
|
buffer+= (len);
|
||||||
@@ -2606,7 +2607,7 @@ uchar *ma_get_hash_keyval(const uchar *hash_entry,
|
|||||||
*/
|
*/
|
||||||
uchar *p= (uchar *)hash_entry;
|
uchar *p= (uchar *)hash_entry;
|
||||||
size_t len= strlen(p);
|
size_t len= strlen(p);
|
||||||
*length= len;
|
*length= (unsigned int)len;
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3060,9 +3061,6 @@ mysql_get_optionv(MYSQL *mysql, enum mysql_option option, void *arg, ...)
|
|||||||
void *arg1;
|
void *arg1;
|
||||||
char **val= NULL;
|
char **val= NULL;
|
||||||
|
|
||||||
if (!elements)
|
|
||||||
goto error;
|
|
||||||
|
|
||||||
if (arg)
|
if (arg)
|
||||||
key= *(char ***)arg;
|
key= *(char ***)arg;
|
||||||
|
|
||||||
@@ -3073,6 +3071,9 @@ mysql_get_optionv(MYSQL *mysql, enum mysql_option option, void *arg, ...)
|
|||||||
if (!(elements= va_arg(ap, unsigned int *)))
|
if (!(elements= va_arg(ap, unsigned int *)))
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
|
if (!elements)
|
||||||
|
goto error;
|
||||||
|
|
||||||
*elements= 0;
|
*elements= 0;
|
||||||
|
|
||||||
if (!mysql->options.extension ||
|
if (!mysql->options.extension ||
|
||||||
@@ -3122,7 +3123,7 @@ mysql_get_optionv(MYSQL *mysql, enum mysql_option option, void *arg, ...)
|
|||||||
char *key= (char *)arg;
|
char *key= (char *)arg;
|
||||||
if (key && data && mysql->options.extension && hash_inited(&mysql->options.extension->userdata) &&
|
if (key && data && mysql->options.extension && hash_inited(&mysql->options.extension->userdata) &&
|
||||||
(p= (uchar *)hash_search(&mysql->options.extension->userdata, (uchar *)key,
|
(p= (uchar *)hash_search(&mysql->options.extension->userdata, (uchar *)key,
|
||||||
strlen((char *)key))))
|
(uint)strlen((char *)key))))
|
||||||
{
|
{
|
||||||
p+= strlen(key) + 1;
|
p+= strlen(key) + 1;
|
||||||
*((void **)data)= *((void **)p);
|
*((void **)data)= *((void **)p);
|
||||||
@@ -3580,6 +3581,4 @@ struct st_mysql_methods MARIADB_DEFAULT_METHODS = {
|
|||||||
mthd_stmt_flush_unbuffered,
|
mthd_stmt_flush_unbuffered,
|
||||||
/* set error */
|
/* set error */
|
||||||
my_set_error,
|
my_set_error,
|
||||||
/* reconnect */
|
|
||||||
mysql_reconnect
|
|
||||||
};
|
};
|
||||||
|
@@ -490,7 +490,7 @@ my_bool ma_pvio_has_data(MARIADB_PVIO *pvio, ssize_t *data_len)
|
|||||||
/* check if we still have unread data in cache */
|
/* check if we still have unread data in cache */
|
||||||
if (pvio->cache)
|
if (pvio->cache)
|
||||||
if (pvio->cache_pos > pvio->cache)
|
if (pvio->cache_pos > pvio->cache)
|
||||||
return pvio->cache_pos - pvio->cache;
|
return test(pvio->cache_pos - pvio->cache);
|
||||||
if (pvio && pvio->methods->has_data)
|
if (pvio && pvio->methods->has_data)
|
||||||
return pvio->methods->has_data(pvio, data_len);
|
return pvio->methods->has_data(pvio, data_len);
|
||||||
return 1;
|
return 1;
|
||||||
|
@@ -73,8 +73,6 @@ uint sf_malloc_prehunc=0, /* If you have problem with core- */
|
|||||||
size_t lCurMemory = 0L; /* Current memory usage */
|
size_t lCurMemory = 0L; /* Current memory usage */
|
||||||
size_t lMaxMemory = 0L; /* Maximum memory usage */
|
size_t lMaxMemory = 0L; /* Maximum memory usage */
|
||||||
uint cNewCount = 0; /* Number of times NEW() was called */
|
uint cNewCount = 0; /* Number of times NEW() was called */
|
||||||
unsigned char *sf_min_adress= (unsigned char*) ~(unsigned long) 0L,
|
|
||||||
*sf_max_adress= (unsigned char*) 0L;
|
|
||||||
|
|
||||||
/* Root of the linked list of remembers */
|
/* Root of the linked list of remembers */
|
||||||
struct remember *pRememberRoot = NULL;
|
struct remember *pRememberRoot = NULL;
|
||||||
|
@@ -61,7 +61,6 @@ extern uint my_once_extra;
|
|||||||
extern int _my_tempnam_used;
|
extern int _my_tempnam_used;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
extern unsigned char *sf_min_adress,*sf_max_adress;
|
|
||||||
extern uint cNewCount;
|
extern uint cNewCount;
|
||||||
extern struct remember *pRememberRoot;
|
extern struct remember *pRememberRoot;
|
||||||
|
|
||||||
|
@@ -394,7 +394,7 @@ MK_ASYNC_CONT_BODY(
|
|||||||
struct mysql_real_query_params {
|
struct mysql_real_query_params {
|
||||||
MYSQL *mysql;
|
MYSQL *mysql;
|
||||||
const char *stmt_str;
|
const char *stmt_str;
|
||||||
unsigned long length;
|
size_t length;
|
||||||
};
|
};
|
||||||
static void
|
static void
|
||||||
mysql_real_query_start_internal(void *d)
|
mysql_real_query_start_internal(void *d)
|
||||||
@@ -578,7 +578,7 @@ MK_ASYNC_CONT_BODY(
|
|||||||
struct mysql_send_query_params {
|
struct mysql_send_query_params {
|
||||||
MYSQL *mysql;
|
MYSQL *mysql;
|
||||||
const char *q;
|
const char *q;
|
||||||
unsigned long length;
|
size_t length;
|
||||||
};
|
};
|
||||||
static void
|
static void
|
||||||
mysql_send_query_start_internal(void *d)
|
mysql_send_query_start_internal(void *d)
|
||||||
@@ -1311,7 +1311,7 @@ MK_ASYNC_CONT_BODY(
|
|||||||
struct mysql_stmt_prepare_params {
|
struct mysql_stmt_prepare_params {
|
||||||
MYSQL_STMT *stmt;
|
MYSQL_STMT *stmt;
|
||||||
const char *query;
|
const char *query;
|
||||||
unsigned long length;
|
size_t length;
|
||||||
};
|
};
|
||||||
static void
|
static void
|
||||||
mysql_stmt_prepare_start_internal(void *d)
|
mysql_stmt_prepare_start_internal(void *d)
|
||||||
@@ -1614,7 +1614,7 @@ struct mysql_stmt_send_long_data_params {
|
|||||||
MYSQL_STMT *stmt;
|
MYSQL_STMT *stmt;
|
||||||
unsigned int param_number;
|
unsigned int param_number;
|
||||||
const char *data;
|
const char *data;
|
||||||
unsigned long length;
|
size_t length;
|
||||||
};
|
};
|
||||||
static void
|
static void
|
||||||
mysql_stmt_send_long_data_start_internal(void *d)
|
mysql_stmt_send_long_data_start_internal(void *d)
|
||||||
|
@@ -338,7 +338,7 @@ my_bool ma_schannel_load_private_key(MARIADB_PVIO *pvio, CERT_CONTEXT *ctx, char
|
|||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
/* ... and import the private key */
|
/* ... and import the private key */
|
||||||
if (!CryptImportKey(crypt_prov, priv_key, priv_key_len, NULL, 0, (HCRYPTKEY *)&crypt_key))
|
if (!CryptImportKey(crypt_prov, priv_key, priv_key_len, 0, 0, (HCRYPTKEY *)&crypt_key))
|
||||||
{
|
{
|
||||||
ma_schannel_set_win_error(pvio);
|
ma_schannel_set_win_error(pvio);
|
||||||
goto end;
|
goto end;
|
||||||
@@ -427,7 +427,7 @@ SECURITY_STATUS ma_schannel_handshake_loop(MARIADB_PVIO *pvio, my_bool InitialRe
|
|||||||
{
|
{
|
||||||
if(fDoRead)
|
if(fDoRead)
|
||||||
{
|
{
|
||||||
cbData = pvio->methods->read(pvio, IoBuffer + cbIoBuffer, (size_t)(SC_IO_BUFFER_SIZE - cbIoBuffer));
|
cbData = (DWORD)pvio->methods->read(pvio, IoBuffer + cbIoBuffer, (size_t)(SC_IO_BUFFER_SIZE - cbIoBuffer));
|
||||||
if (cbData == SOCKET_ERROR || cbData == 0)
|
if (cbData == SOCKET_ERROR || cbData == 0)
|
||||||
{
|
{
|
||||||
rc = SEC_E_INTERNAL_ERROR;
|
rc = SEC_E_INTERNAL_ERROR;
|
||||||
@@ -486,7 +486,7 @@ SECURITY_STATUS ma_schannel_handshake_loop(MARIADB_PVIO *pvio, my_bool InitialRe
|
|||||||
{
|
{
|
||||||
if(OutBuffers[0].cbBuffer && OutBuffers[0].pvBuffer)
|
if(OutBuffers[0].cbBuffer && OutBuffers[0].pvBuffer)
|
||||||
{
|
{
|
||||||
cbData= pvio->methods->write(pvio, (uchar *)OutBuffers[0].pvBuffer, (size_t)OutBuffers[0].cbBuffer);
|
cbData= (DWORD)pvio->methods->write(pvio, (uchar *)OutBuffers[0].pvBuffer, (size_t)OutBuffers[0].cbBuffer);
|
||||||
if(cbData == SOCKET_ERROR || cbData == 0)
|
if(cbData == SOCKET_ERROR || cbData == 0)
|
||||||
{
|
{
|
||||||
FreeContextBuffer(OutBuffers[0].pvBuffer);
|
FreeContextBuffer(OutBuffers[0].pvBuffer);
|
||||||
@@ -637,7 +637,7 @@ SECURITY_STATUS ma_schannel_client_handshake(MARIADB_SSL *cssl)
|
|||||||
/* send client hello packaet */
|
/* send client hello packaet */
|
||||||
if(BuffersOut[0].cbBuffer != 0 && BuffersOut[0].pvBuffer != NULL)
|
if(BuffersOut[0].cbBuffer != 0 && BuffersOut[0].pvBuffer != NULL)
|
||||||
{
|
{
|
||||||
r= pvio->methods->write(pvio, (uchar *)BuffersOut[0].pvBuffer, (size_t)BuffersOut[0].cbBuffer);
|
r= (DWORD)pvio->methods->write(pvio, (uchar *)BuffersOut[0].pvBuffer, (size_t)BuffersOut[0].cbBuffer);
|
||||||
if (r <= 0)
|
if (r <= 0)
|
||||||
{
|
{
|
||||||
sRet= SEC_E_INTERNAL_ERROR;
|
sRet= SEC_E_INTERNAL_ERROR;
|
||||||
@@ -697,7 +697,6 @@ SECURITY_STATUS ma_schannel_read_decrypt(MARIADB_PVIO *pvio,
|
|||||||
SECURITY_STATUS sRet= 0;
|
SECURITY_STATUS sRet= 0;
|
||||||
SecBufferDesc Msg;
|
SecBufferDesc Msg;
|
||||||
SecBuffer Buffers[4],
|
SecBuffer Buffers[4],
|
||||||
ExtraBuffer,
|
|
||||||
*pData, *pExtra;
|
*pData, *pExtra;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
@@ -711,18 +710,18 @@ SECURITY_STATUS ma_schannel_read_decrypt(MARIADB_PVIO *pvio,
|
|||||||
{
|
{
|
||||||
if (!dwBytesRead || sRet == SEC_E_INCOMPLETE_MESSAGE)
|
if (!dwBytesRead || sRet == SEC_E_INCOMPLETE_MESSAGE)
|
||||||
{
|
{
|
||||||
dwBytesRead= pvio->methods->read(pvio, sctx->IoBuffer + dwOffset, (size_t)(sctx->IoBufferSize - dwOffset));
|
dwBytesRead= (DWORD)pvio->methods->read(pvio, sctx->IoBuffer + dwOffset, (size_t)(sctx->IoBufferSize - dwOffset));
|
||||||
if (dwBytesRead == 0)
|
if (dwBytesRead == 0)
|
||||||
{
|
{
|
||||||
/* server closed connection */
|
/* server closed connection */
|
||||||
// todo: error
|
// todo: error
|
||||||
return NULL;
|
return SEC_E_INVALID_HANDLE;
|
||||||
}
|
}
|
||||||
if (dwBytesRead < 0)
|
if (dwBytesRead < 0)
|
||||||
{
|
{
|
||||||
/* socket error */
|
/* socket error */
|
||||||
// todo: error
|
// todo: error
|
||||||
return NULL;
|
return SEC_E_INVALID_HANDLE;
|
||||||
}
|
}
|
||||||
dwOffset+= dwBytesRead;
|
dwOffset+= dwBytesRead;
|
||||||
}
|
}
|
||||||
@@ -863,7 +862,7 @@ size_t ma_schannel_write_encrypt(MARIADB_PVIO *pvio,
|
|||||||
SECURITY_STATUS scRet;
|
SECURITY_STATUS scRet;
|
||||||
SecBufferDesc Message;
|
SecBufferDesc Message;
|
||||||
SecBuffer Buffers[4];
|
SecBuffer Buffers[4];
|
||||||
DWORD cbMessage, cbData;
|
DWORD cbMessage;
|
||||||
PBYTE pbMessage;
|
PBYTE pbMessage;
|
||||||
SC_CTX *sctx= (SC_CTX *)pvio->cssl->ssl;
|
SC_CTX *sctx= (SC_CTX *)pvio->cssl->ssl;
|
||||||
size_t payload;
|
size_t payload;
|
||||||
|
@@ -132,7 +132,10 @@ my_bool aurora_switch_connection(MYSQL *mysql, AURORA *aurora, int type)
|
|||||||
aurora->last_instance_type= AURORA_PRIMARY;
|
aurora->last_instance_type= AURORA_PRIMARY;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
/* }}} */
|
/* }}} */
|
||||||
|
|
||||||
@@ -177,7 +180,7 @@ void aurora_close_memory(AURORA *aurora)
|
|||||||
my_bool aurora_parse_url(const char *url, AURORA *aurora)
|
my_bool aurora_parse_url(const char *url, AURORA *aurora)
|
||||||
{
|
{
|
||||||
char *p, *c;
|
char *p, *c;
|
||||||
int i;
|
unsigned int i;
|
||||||
|
|
||||||
if (!url || url[0] == 0)
|
if (!url || url[0] == 0)
|
||||||
return 1;
|
return 1;
|
||||||
@@ -313,7 +316,7 @@ my_bool aurora_get_primary_id(MYSQL *mysql, AURORA *aurora)
|
|||||||
*/
|
*/
|
||||||
static unsigned int aurora_get_valid_instances(AURORA *aurora, AURORA_INSTANCE **instances)
|
static unsigned int aurora_get_valid_instances(AURORA *aurora, AURORA_INSTANCE **instances)
|
||||||
{
|
{
|
||||||
int i, valid_instances= 0;
|
unsigned int i, valid_instances= 0;
|
||||||
|
|
||||||
memset(instances, 0, sizeof(AURORA_INSTANCE *) * AURORA_MAX_INSTANCES);
|
memset(instances, 0, sizeof(AURORA_INSTANCE *) * AURORA_MAX_INSTANCES);
|
||||||
|
|
||||||
@@ -334,7 +337,7 @@ static unsigned int aurora_get_valid_instances(AURORA *aurora, AURORA_INSTANCE *
|
|||||||
/* {{{ void aurora_refresh_blacklist() */
|
/* {{{ void aurora_refresh_blacklist() */
|
||||||
void aurora_refresh_blacklist(AURORA *aurora)
|
void aurora_refresh_blacklist(AURORA *aurora)
|
||||||
{
|
{
|
||||||
int i;
|
unsigned int i;
|
||||||
for (i=0; i < aurora->num_instances; i++)
|
for (i=0; i < aurora->num_instances; i++)
|
||||||
{
|
{
|
||||||
if (aurora->instance[i].blacklisted &&
|
if (aurora->instance[i].blacklisted &&
|
||||||
@@ -475,7 +478,7 @@ my_bool aurora_find_replica(AURORA *aurora)
|
|||||||
/* {{{ AURORA_INSTANCE aurora_get_primary_id_instance() */
|
/* {{{ AURORA_INSTANCE aurora_get_primary_id_instance() */
|
||||||
AURORA_INSTANCE *aurora_get_primary_id_instance(AURORA *aurora)
|
AURORA_INSTANCE *aurora_get_primary_id_instance(AURORA *aurora)
|
||||||
{
|
{
|
||||||
int i;
|
unsigned int i;
|
||||||
|
|
||||||
if (!aurora->primary_id[0])
|
if (!aurora->primary_id[0])
|
||||||
return 0;
|
return 0;
|
||||||
@@ -492,7 +495,7 @@ AURORA_INSTANCE *aurora_get_primary_id_instance(AURORA *aurora)
|
|||||||
/* {{{ my_bool aurora_find_primary() */
|
/* {{{ my_bool aurora_find_primary() */
|
||||||
my_bool aurora_find_primary(AURORA *aurora)
|
my_bool aurora_find_primary(AURORA *aurora)
|
||||||
{
|
{
|
||||||
int i;
|
unsigned int i;
|
||||||
AURORA_INSTANCE *instance= NULL;
|
AURORA_INSTANCE *instance= NULL;
|
||||||
MYSQL mysql;
|
MYSQL mysql;
|
||||||
my_bool check_primary= 1;
|
my_bool check_primary= 1;
|
||||||
@@ -657,11 +660,11 @@ my_bool aurora_reconnect(MYSQL *mysql)
|
|||||||
switch (aurora->last_instance_type)
|
switch (aurora->last_instance_type)
|
||||||
{
|
{
|
||||||
case AURORA_REPLICA:
|
case AURORA_REPLICA:
|
||||||
if (!(rc= mysql->methods->reconnect(aurora->mysql[aurora->last_instance_type])))
|
if (!(rc= mysql_reconnect(aurora->mysql[aurora->last_instance_type])))
|
||||||
aurora_switch_connection(mysql, aurora, AURORA_REPLICA);
|
aurora_switch_connection(mysql, aurora, AURORA_REPLICA);
|
||||||
break;
|
break;
|
||||||
case AURORA_PRIMARY:
|
case AURORA_PRIMARY:
|
||||||
if (!(rc= mysql->methods->reconnect(aurora->mysql[aurora->last_instance_type])))
|
if (!(rc= mysql_reconnect(aurora->mysql[aurora->last_instance_type])))
|
||||||
aurora_switch_connection(mysql, aurora, AURORA_PRIMARY);
|
aurora_switch_connection(mysql, aurora, AURORA_PRIMARY);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@@ -948,7 +948,7 @@ my_bool pvio_socket_is_alive(MARIADB_PVIO *pvio)
|
|||||||
my_bool pvio_socket_has_data(MARIADB_PVIO *pvio, ssize_t *data_len)
|
my_bool pvio_socket_has_data(MARIADB_PVIO *pvio, ssize_t *data_len)
|
||||||
{
|
{
|
||||||
struct st_pvio_socket *csock= NULL;
|
struct st_pvio_socket *csock= NULL;
|
||||||
char tmp_buf[1024];
|
char tmp_buf;
|
||||||
ssize_t len;
|
ssize_t len;
|
||||||
my_bool mode;
|
my_bool mode;
|
||||||
|
|
||||||
|
@@ -32,17 +32,14 @@ IF(WITH_SSL)
|
|||||||
MESSAGE(STATUS "certificates already exist")
|
MESSAGE(STATUS "certificates already exist")
|
||||||
ELSE()
|
ELSE()
|
||||||
MESSAGE(STATUS "creating certificates")
|
MESSAGE(STATUS "creating certificates")
|
||||||
EXECUTE_PROCESS(COMMAND openssl req -x509 -newkey rsa:1024 -keyout server-key-enc.pem -out server-cert.pem -subj "/DC=com/DC=example/CN=server" -passout pass:qwerty OUTPUT_FILE x.1 ERROR_FILE x.2
|
IF(WIN32)
|
||||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/unittest/libmariadb/certs)
|
EXECUTE_PROCESS(COMMAND create_certs.bat
|
||||||
EXECUTE_PROCESS(COMMAND openssl rsa -in server-key-enc.pem -out server-key.pem -passin pass:qwerty -passout pass:
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/unittest/libmariadb/certs
|
||||||
OUTPUT_FILE x.1 ERROR_FILE x.2 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/unittest/libmariadb/certs)
|
OUTPUT_FILE x.1 ERROR_FILE x.2)
|
||||||
EXECUTE_PROCESS(COMMAND openssl req -x509 -newkey rsa:1024 -keyout client-key-enc.pem -out client-cert.pem -subj "/DC=com/DC=example/CN=client" -passout pass:qwerty OUTPUT_FILE x.1 ERROR_FILE x.2
|
ELSE()
|
||||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/unittest/libmariadb/certs)
|
EXECUTE_PROCESS(COMMAND ./create_certs.sh
|
||||||
EXECUTE_PROCESS(COMMAND openssl rsa -in client-key-enc.pem -out client-key.pem -passin pass:qwerty -passout pass:
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/unittest/libmariadb/certs)
|
||||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/unittest/libmariadb/certs OUTPUT_FILE x.1 ERROR_FILE x.2)
|
ENDIF()
|
||||||
FILE(READ ${CMAKE_SOURCE_DIR}/unittest/libmariadb/certs/server-cert.pem F1)
|
|
||||||
FILE(READ ${CMAKE_SOURCE_DIR}/unittest/libmariadb/certs/client-cert.pem F2)
|
|
||||||
FILE(WRITE ${CMAKE_SOURCE_DIR}/unittest/libmariadb/certs/ca-cert.pem ${F1} ${F2})
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
EXECUTE_PROCESS(COMMAND openssl x509 -in server-cert.pem -sha1 -fingerprint -noout
|
EXECUTE_PROCESS(COMMAND openssl x509 -in server-cert.pem -sha1 -fingerprint -noout
|
||||||
|
@@ -1,15 +0,0 @@
|
|||||||
openssl req -x509 -newkey rsa:1024 \
|
|
||||||
-keyout server-key-enc.pem -out server-cert.pem \
|
|
||||||
-subj '/DC=com/DC=example/CN=server' -passout pass:qwerty
|
|
||||||
|
|
||||||
openssl rsa -in server-key-enc.pem -out server-key.pem \
|
|
||||||
-passin pass:qwerty -passout pass:
|
|
||||||
|
|
||||||
openssl req -x509 -newkey rsa:1024 \
|
|
||||||
-keyout client-key-enc.pem -out client-cert.pem \
|
|
||||||
-subj '/DC=com/DC=example/CN=client' -passout pass:qwerty
|
|
||||||
|
|
||||||
openssl rsa -in client-key-enc.pem -out client-key.pem \
|
|
||||||
-passin pass:qwerty -passout pass:
|
|
||||||
|
|
||||||
cat server-cert.pem client-cert.pem > ca-cert.pem
|
|
@@ -59,12 +59,12 @@ MYSQL_STMT *open_cursor(MYSQL *mysql, const char *query)
|
|||||||
fetch buffers.
|
fetch buffers.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int stmt_fetch_init(MYSQL *mysql, Stmt_fetch *fetch, unsigned stmt_no_arg,
|
int stmt_fetch_init(MYSQL *mysql, Stmt_fetch *fetch, unsigned int stmt_no_arg,
|
||||||
const char *query_arg)
|
const char *query_arg)
|
||||||
{
|
{
|
||||||
unsigned long type= CURSOR_TYPE_READ_ONLY;
|
unsigned long type= CURSOR_TYPE_READ_ONLY;
|
||||||
int rc;
|
int rc;
|
||||||
unsigned i;
|
unsigned int i;
|
||||||
MYSQL_RES *metadata;
|
MYSQL_RES *metadata;
|
||||||
|
|
||||||
/* Save query and statement number for error messages */
|
/* Save query and statement number for error messages */
|
||||||
@@ -180,7 +180,7 @@ int fetch_n(MYSQL *mysql, const char **query_list, unsigned query_count,
|
|||||||
|
|
||||||
for (fetch= fetch_array; fetch < fetch_array + query_count; ++fetch)
|
for (fetch= fetch_array; fetch < fetch_array + query_count; ++fetch)
|
||||||
{
|
{
|
||||||
if (stmt_fetch_init(mysql, fetch, fetch - fetch_array,
|
if (stmt_fetch_init(mysql, fetch, (unsigned int)(fetch - fetch_array),
|
||||||
query_list[fetch - fetch_array]))
|
query_list[fetch - fetch_array]))
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
@@ -322,7 +322,7 @@ static int test_bug21206(MYSQL *mysql)
|
|||||||
|
|
||||||
for (fetch= fetch_array; fetch < fetch_array + cursor_count; ++fetch)
|
for (fetch= fetch_array; fetch < fetch_array + cursor_count; ++fetch)
|
||||||
{
|
{
|
||||||
if ((retcode= stmt_fetch_init(mysql, fetch, fetch - fetch_array, query)))
|
if ((retcode= stmt_fetch_init(mysql, fetch, (unsigned int)(fetch - fetch_array), query)))
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -89,7 +89,7 @@ static int test_logs(MYSQL *mysql)
|
|||||||
my_bind[1].buffer_type= MYSQL_TYPE_STRING;
|
my_bind[1].buffer_type= MYSQL_TYPE_STRING;
|
||||||
my_bind[1].buffer= (void *)&data;
|
my_bind[1].buffer= (void *)&data;
|
||||||
my_bind[1].buffer_length= 255;
|
my_bind[1].buffer_length= 255;
|
||||||
my_bind[1].length= &length;
|
my_bind[1].length= (unsigned long *)&length;
|
||||||
|
|
||||||
id= 9876;
|
id= 9876;
|
||||||
strcpy((char *)data, "MySQL - Open Source Database");
|
strcpy((char *)data, "MySQL - Open Source Database");
|
||||||
|
@@ -1386,7 +1386,7 @@ static int test_long_data_str1(MYSQL *mysql)
|
|||||||
|
|
||||||
my_bind[0].buffer= data; /* string data */
|
my_bind[0].buffer= data; /* string data */
|
||||||
my_bind[0].buffer_length= sizeof(data);
|
my_bind[0].buffer_length= sizeof(data);
|
||||||
my_bind[0].length= &length1;
|
my_bind[0].length= (unsigned long *)&length1;
|
||||||
my_bind[0].buffer_type= MYSQL_TYPE_STRING;
|
my_bind[0].buffer_type= MYSQL_TYPE_STRING;
|
||||||
length1= 0;
|
length1= 0;
|
||||||
|
|
||||||
@@ -1485,7 +1485,7 @@ static int test_long_data_str1(MYSQL *mysql)
|
|||||||
my_bind[0].buffer_type= MYSQL_TYPE_BLOB;
|
my_bind[0].buffer_type= MYSQL_TYPE_BLOB;
|
||||||
my_bind[0].buffer= (void *) &data; /* this buffer won't be altered */
|
my_bind[0].buffer= (void *) &data; /* this buffer won't be altered */
|
||||||
my_bind[0].buffer_length= 16;
|
my_bind[0].buffer_length= 16;
|
||||||
my_bind[0].length= &blob_length;
|
my_bind[0].length= (unsigned long *)&blob_length;
|
||||||
my_bind[0].error= &my_bind[0].error_value;
|
my_bind[0].error= &my_bind[0].error_value;
|
||||||
rc= mysql_stmt_bind_result(stmt, my_bind);
|
rc= mysql_stmt_bind_result(stmt, my_bind);
|
||||||
data[16]= 0;
|
data[16]= 0;
|
||||||
@@ -1501,7 +1501,7 @@ static int test_long_data_str1(MYSQL *mysql)
|
|||||||
my_bind[1].buffer_type= MYSQL_TYPE_BLOB;
|
my_bind[1].buffer_type= MYSQL_TYPE_BLOB;
|
||||||
my_bind[1].buffer= (void *) &data; /* this buffer won't be altered */
|
my_bind[1].buffer= (void *) &data; /* this buffer won't be altered */
|
||||||
my_bind[1].buffer_length= sizeof(data);
|
my_bind[1].buffer_length= sizeof(data);
|
||||||
my_bind[1].length= &blob_length;
|
my_bind[1].length= (unsigned long *)&blob_length;
|
||||||
memset(data, '\0', sizeof(data));
|
memset(data, '\0', sizeof(data));
|
||||||
mysql_stmt_fetch_column(stmt, my_bind+1, 0, 0);
|
mysql_stmt_fetch_column(stmt, my_bind+1, 0, 0);
|
||||||
FAIL_UNLESS(strlen(data) == max_blob_length, "strlen(data) != max_blob_length");
|
FAIL_UNLESS(strlen(data) == max_blob_length, "strlen(data) != max_blob_length");
|
||||||
|
@@ -643,7 +643,7 @@ static int test_bug1500(MYSQL *mysql)
|
|||||||
data= "Grave";
|
data= "Grave";
|
||||||
my_bind[0].buffer_type= MYSQL_TYPE_STRING;
|
my_bind[0].buffer_type= MYSQL_TYPE_STRING;
|
||||||
my_bind[0].buffer= (void *) data;
|
my_bind[0].buffer= (void *) data;
|
||||||
my_bind[0].buffer_length= strlen(data);
|
my_bind[0].buffer_length= (unsigned long)strlen(data);
|
||||||
|
|
||||||
rc= mysql_stmt_bind_param(stmt, my_bind);
|
rc= mysql_stmt_bind_param(stmt, my_bind);
|
||||||
check_stmt_rc(rc, stmt);
|
check_stmt_rc(rc, stmt);
|
||||||
@@ -2651,7 +2651,7 @@ static int test_bug5194(MYSQL *mysql)
|
|||||||
for (i= 1; i < COLUMN_COUNT; ++i)
|
for (i= 1; i < COLUMN_COUNT; ++i)
|
||||||
strcat(param_str, "?, ");
|
strcat(param_str, "?, ");
|
||||||
strcat(param_str, "?)");
|
strcat(param_str, "?)");
|
||||||
param_str_length= strlen(param_str);
|
param_str_length= (int)strlen(param_str);
|
||||||
|
|
||||||
/* setup bind array */
|
/* setup bind array */
|
||||||
memset(my_bind, '\0', MAX_PARAM_COUNT * sizeof(MYSQL_BIND));
|
memset(my_bind, '\0', MAX_PARAM_COUNT * sizeof(MYSQL_BIND));
|
||||||
@@ -3229,7 +3229,7 @@ static int test_mem_overun(MYSQL *mysql)
|
|||||||
sprintf(field, "c%d int, ", i);
|
sprintf(field, "c%d int, ", i);
|
||||||
strcat(buffer, field);
|
strcat(buffer, field);
|
||||||
}
|
}
|
||||||
length= strlen(buffer);
|
length= (int)strlen(buffer);
|
||||||
buffer[length-2]= ')';
|
buffer[length-2]= ')';
|
||||||
buffer[--length]= '\0';
|
buffer[--length]= '\0';
|
||||||
|
|
||||||
@@ -3241,7 +3241,7 @@ static int test_mem_overun(MYSQL *mysql)
|
|||||||
{
|
{
|
||||||
strcat(buffer, "1, ");
|
strcat(buffer, "1, ");
|
||||||
}
|
}
|
||||||
length= strlen(buffer);
|
length= (int)strlen(buffer);
|
||||||
buffer[length-2]= ')';
|
buffer[length-2]= ')';
|
||||||
buffer[--length]= '\0';
|
buffer[--length]= '\0';
|
||||||
|
|
||||||
|
@@ -53,10 +53,12 @@ static int check_cipher(MYSQL *mysql)
|
|||||||
return 1;
|
return 1;
|
||||||
#ifdef HAVE_GNUTLS
|
#ifdef HAVE_GNUTLS
|
||||||
return strcmp(cipher, "AES-128-GCM");
|
return strcmp(cipher, "AES-128-GCM");
|
||||||
#endif
|
#elif HAVE_OPENSSL
|
||||||
#ifdef HAVE_OPENSSL
|
|
||||||
return strcmp(cipher, "DHE-RSA-AES256-SHA");
|
return strcmp(cipher, "DHE-RSA-AES256-SHA");
|
||||||
|
#elif HAVE_SCHANNEL
|
||||||
|
return strcmp(cipher, "CALG_AES_256");
|
||||||
#endif
|
#endif
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int create_ssl_user(const char *ssluser, my_bool is_X509)
|
static int create_ssl_user(const char *ssluser, my_bool is_X509)
|
||||||
@@ -268,6 +270,7 @@ DWORD WINAPI ssl_thread(void *dummy)
|
|||||||
mysql_close(mysql);
|
mysql_close(mysql);
|
||||||
mysql_thread_end();
|
mysql_thread_end();
|
||||||
pthread_exit(0);
|
pthread_exit(0);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int test_ssl_threads(MYSQL *mysql)
|
static int test_ssl_threads(MYSQL *mysql)
|
||||||
@@ -291,6 +294,7 @@ static int test_ssl_threads(MYSQL *mysql)
|
|||||||
check_mysql_rc(rc, mysql);
|
check_mysql_rc(rc, mysql);
|
||||||
rc= mysql_query(mysql, "INSERT into ssltest VALUES (0)");
|
rc= mysql_query(mysql, "INSERT into ssltest VALUES (0)");
|
||||||
check_mysql_rc(rc, mysql);
|
check_mysql_rc(rc, mysql);
|
||||||
|
pthread_mutex_init(&LOCK_test, NULL);
|
||||||
|
|
||||||
pthread_mutex_init(&LOCK_test, NULL);
|
pthread_mutex_init(&LOCK_test, NULL);
|
||||||
|
|
||||||
@@ -640,6 +644,9 @@ static int test_conc_102(MYSQL *mysql)
|
|||||||
DWORD threads[50];
|
DWORD threads[50];
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if (check_skip_ssl())
|
||||||
|
return SKIP;
|
||||||
|
|
||||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS t_conc102");
|
rc= mysql_query(mysql, "DROP TABLE IF EXISTS t_conc102");
|
||||||
check_mysql_rc(rc, mysql);
|
check_mysql_rc(rc, mysql);
|
||||||
rc= mysql_query(mysql, "CREATE TABLE t_conc102 ( a int)");
|
rc= mysql_query(mysql, "CREATE TABLE t_conc102 ( a int)");
|
||||||
@@ -701,10 +708,10 @@ static int test_ssl_fp(MYSQL *unused)
|
|||||||
|
|
||||||
FAIL_IF(check_cipher(my) != 0, "Invalid cipher");
|
FAIL_IF(check_cipher(my) != 0, "Invalid cipher");
|
||||||
|
|
||||||
mysql_query(my, "SET @a:=1");
|
rc= mysql_query(my, "SET @a:=1");
|
||||||
check_mysql_rc(rc, my);
|
check_mysql_rc(rc, my);
|
||||||
|
|
||||||
mysql_query(my, "SELECT @a");
|
rc= mysql_query(my, "SELECT @a");
|
||||||
check_mysql_rc(rc, my);
|
check_mysql_rc(rc, my);
|
||||||
|
|
||||||
if ((res= mysql_store_result(my)))
|
if ((res= mysql_store_result(my)))
|
||||||
|
@@ -789,7 +789,7 @@ win_iconv(iconv_t _cd, const char **inbuf, size_t *inbytesleft, char **outbuf, s
|
|||||||
if (outbuf != NULL && *outbuf != NULL && cd->to.flush != NULL)
|
if (outbuf != NULL && *outbuf != NULL && cd->to.flush != NULL)
|
||||||
{
|
{
|
||||||
tomode = cd->to.mode;
|
tomode = cd->to.mode;
|
||||||
outsize = cd->to.flush(&cd->to, (uchar *)*outbuf, *outbytesleft);
|
outsize = cd->to.flush(&cd->to, (uchar *)*outbuf, (int)*outbytesleft);
|
||||||
if (outsize == -1)
|
if (outsize == -1)
|
||||||
{
|
{
|
||||||
if ((cd->to.flags & FLAG_IGNORE) && errno != E2BIG)
|
if ((cd->to.flags & FLAG_IGNORE) && errno != E2BIG)
|
||||||
@@ -816,7 +816,7 @@ win_iconv(iconv_t _cd, const char **inbuf, size_t *inbytesleft, char **outbuf, s
|
|||||||
tomode = cd->to.mode;
|
tomode = cd->to.mode;
|
||||||
wsize = MB_CHAR_MAX;
|
wsize = MB_CHAR_MAX;
|
||||||
|
|
||||||
insize = cd->from.mbtowc(&cd->from, (const uchar *)*inbuf, *inbytesleft, wbuf, &wsize);
|
insize = cd->from.mbtowc(&cd->from, (const uchar *)*inbuf, (int)*inbytesleft, wbuf, &wsize);
|
||||||
if (insize == -1)
|
if (insize == -1)
|
||||||
{
|
{
|
||||||
if (cd->to.flags & FLAG_IGNORE)
|
if (cd->to.flags & FLAG_IGNORE)
|
||||||
@@ -867,7 +867,7 @@ win_iconv(iconv_t _cd, const char **inbuf, size_t *inbytesleft, char **outbuf, s
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
outsize = cd->to.wctomb(&cd->to, wbuf, wsize, (uchar *)*outbuf, *outbytesleft);
|
outsize = cd->to.wctomb(&cd->to, wbuf, wsize, (uchar *)*outbuf, (int)*outbytesleft);
|
||||||
if (outsize == -1)
|
if (outsize == -1)
|
||||||
{
|
{
|
||||||
if ((cd->to.flags & FLAG_IGNORE) && errno != E2BIG)
|
if ((cd->to.flags & FLAG_IGNORE) && errno != E2BIG)
|
||||||
|
Reference in New Issue
Block a user