1
0
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:
Georg Richter
2015-12-19 17:07:10 +01:00
parent 1eca44a07a
commit d68c7dae95
19 changed files with 77 additions and 102 deletions

View File

@@ -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

View File

@@ -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.

View File

@@ -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 */

View File

@@ -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
}; };

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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)

View File

@@ -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;

View File

@@ -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:

View File

@@ -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;

View File

@@ -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

View File

@@ -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

View File

@@ -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;
} }

View File

@@ -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");

View File

@@ -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");

View File

@@ -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';

View File

@@ -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)))

View File

@@ -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)