From 20d04c924b824de637e18750687dccbb28eb650c Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 31 May 2001 17:18:25 +0300 Subject: Support for VIO library Makefile.am: Added vio include/mysql_com.h: Removed ancient defines from Vio++ times include/violite.h: Added vio libmysql/Makefile.shared: Removed sqlobject line with violite.lo libmysql/libmysql.c: Openssl stuff & sons sql/Makefile.am: Added vio sql/mini_client.cc: Added vio sql/mysqld.cc: Added vio sql/net_serv.cc: Added vio sql/sql_parse.cc: Added vio vio/Makefile.am: Removed C++ stuff vio/vio.c: st_vio -> Vio vio/viosocket.c: st_vio -> Vio vio/viossl.c: st_vio -> Vio vio/viosslfactories.c: vio.h-> violite.h --- libmysql/Makefile.shared | 3 --- libmysql/libmysql.c | 26 +++++++++++++------------- 2 files changed, 13 insertions(+), 16 deletions(-) (limited to 'libmysql') diff --git a/libmysql/Makefile.shared b/libmysql/Makefile.shared index 7b220e12346..e1ae1fa1ea6 100644 --- a/libmysql/Makefile.shared +++ b/libmysql/Makefile.shared @@ -34,9 +34,6 @@ LTCHARSET_OBJS= ${CHARSET_OBJS:.o=.lo} target_sources = libmysql.c net.c password.c \ get_password.c errmsg.c -#quick easy dirty hack to make it work after Tonu's changes -#In my opinion, violite.c really belongs into mysys - Sasha -sqlobjects = violite.lo mystringsobjects = strmov.lo strxmov.lo strnmov.lo strmake.lo strend.lo \ strnlen.lo strfill.lo is_prefix.lo \ int2str.lo str2int.lo strinstr.lo strcont.lo \ diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c index 9221812ea65..d9e7b28d468 100644 --- a/libmysql/libmysql.c +++ b/libmysql/libmysql.c @@ -1070,13 +1070,15 @@ mysql_ssl_set(MYSQL *mysql, const char *key, const char *cert, mysql->options.ssl_cert = cert==0 ? 0 : my_strdup(cert,MYF(0)); mysql->options.ssl_ca = ca==0 ? 0 : my_strdup(ca,MYF(0)); mysql->options.ssl_capath = capath==0 ? 0 : my_strdup(capath,MYF(0)); - mysql->options.use_ssl = true; - mysql->connector_fd = new_VioSSLConnectorFd(key, cert, ca, capath); + mysql->options.use_ssl = TRUE; + mysql->connector_fd = (gptr)new_VioSSLConnectorFd(key, cert, ca, capath); + DBUG_PRINT("info",("mysql_ssl_set, context: %p",((struct st_VioSSLConnectorFd *)(mysql->connector_fd))->ssl_context_)); + return 0; } /************************************************************************** -**************************************************************************/ +************************************************************************** char * STDCALL mysql_ssl_cipher(MYSQL *mysql) @@ -1085,10 +1087,10 @@ mysql_ssl_cipher(MYSQL *mysql) } -/************************************************************************** +************************************************************************** ** Free strings in the SSL structure and clear 'use_ssl' flag. ** NB! Errors are not reported until you do mysql_real_connect. -**************************************************************************/ +************************************************************************** int STDCALL mysql_ssl_clear(MYSQL *mysql) @@ -1105,7 +1107,7 @@ mysql_ssl_clear(MYSQL *mysql) mysql->connector_fd->delete(); mysql->connector_fd = 0; return 0; -} +}*/ #endif /* HAVE_OPENSSL */ /************************************************************************** @@ -1496,11 +1498,9 @@ mysql_real_connect(MYSQL *mysql,const char *host, const char *user, goto error; /* Do the SSL layering. */ DBUG_PRINT("info", ("IO layer change in progress...")); - VioSSLConnectorFd* connector_fd = (VioSSLConnectorFd*) - (mysql->connector_fd); - VioSocket* vio_socket = (VioSocket*)(mysql->net.vio); - VioSSL* vio_ssl = connector_fd->connect(vio_socket); - mysql->net.vio = (NetVio*)(vio_ssl); + DBUG_PRINT("info", ("IO context %p",((struct st_VioSSLConnectorFd*)mysql->connector_fd)->ssl_context_)); + mysql->net.vio = sslconnect((struct st_VioSSLConnectorFd*)(mysql->connector_fd),mysql->net.vio); + DBUG_PRINT("info", ("IO layer change done!")); } #endif /* HAVE_OPENSSL */ @@ -1680,8 +1680,8 @@ mysql_close(MYSQL *mysql) bzero((char*) &mysql->options,sizeof(mysql->options)); mysql->net.vio = 0; #ifdef HAVE_OPENSSL - ((VioConnectorFd*)(mysql->connector_fd))->delete(); - mysql->connector_fd = 0; +/* ((VioConnectorFd*)(mysql->connector_fd))->delete(); + mysql->connector_fd = 0;*/ #endif /* HAVE_OPENSSL */ if (mysql->free_me) my_free((gptr) mysql,MYF(0)); -- cgit v1.2.1