diff options
-rw-r--r-- | bdb/include/rpc_server_ext.h | 21 | ||||
-rw-r--r-- | client/Makefile.am | 2 | ||||
-rw-r--r-- | include/mysql_com.h | 7 | ||||
-rw-r--r-- | include/vio.h | 278 | ||||
-rw-r--r-- | libmysql/net.c | 1 | ||||
-rw-r--r-- | sql/mini_client.cc | 1 | ||||
-rw-r--r-- | sql/mysql_priv.h | 2 | ||||
-rw-r--r-- | sql/net_serv.cc | 1 |
8 files changed, 9 insertions, 304 deletions
diff --git a/bdb/include/rpc_server_ext.h b/bdb/include/rpc_server_ext.h deleted file mode 100644 index 4abb0768134..00000000000 --- a/bdb/include/rpc_server_ext.h +++ /dev/null @@ -1,21 +0,0 @@ -/* DO NOT EDIT: automatically built by dist/s_include. */ -#ifndef _rpc_server_ext_h_ -#define _rpc_server_ext_h_ -#if defined(__cplusplus) -extern "C" { -#endif -void __db_stats_freelist __P((__db_stat_statsreplist **)); -void __dbsrv_settimeout __P((ct_entry *, u_int32_t)); -void __dbsrv_timeout __P((int)); -void __dbclear_ctp __P((ct_entry *)); -void __dbdel_ctp __P((ct_entry *)); -ct_entry *new_ct_ent __P((u_int32_t *)); -ct_entry *get_tableent __P((long)); -void __dbsrv_active __P((ct_entry *)); -int __dbc_close_int __P((ct_entry *)); -int __dbenv_close_int __P((long, int)); -char *get_home __P((char *)); -#if defined(__cplusplus) -} -#endif -#endif /* _rpc_server_ext_h_ */ diff --git a/client/Makefile.am b/client/Makefile.am index 24221dcab74..408fa360e67 100644 --- a/client/Makefile.am +++ b/client/Makefile.am @@ -20,7 +20,7 @@ INCLUDES = -I$(srcdir)/../include \ -I../include -I$(srcdir)/.. -I$(top_srcdir) \ -I.. LIBS = @CLIENT_LIBS@ -LDADD = @CLIENT_EXTRA_LDFLAGS@ ../libmysql/libmysqlclient.la +LDADD = @CLIENT_EXTRA_LDFLAGS@ ../libmysql/libmysqlclient.la ../vio/libvio.a bin_PROGRAMS = mysql mysqladmin mysqlcheck mysqlshow mysqldump mysqlimport mysqltest noinst_PROGRAMS = insert_test select_test thread_test noinst_HEADERS = sql_string.h completion_hash.h my_readline.h diff --git a/include/mysql_com.h b/include/mysql_com.h index bb6a966fb25..67a483705ee 100644 --- a/include/mysql_com.h +++ b/include/mysql_com.h @@ -220,9 +220,6 @@ my_bool check_scramble(const char *, const char *message, unsigned long *salt,my_bool old_ver); char *get_tty_password(char *opt_message); void hash_password(unsigned long *result, const char *password); -#ifdef __cplusplus -} -#endif /* Some other useful functions */ @@ -230,6 +227,10 @@ void my_init(void); void load_defaults(const char *conf_file, const char **groups, int *argc, char ***argv); +#ifdef __cplusplus +} +#endif + #define NULL_LENGTH ((unsigned long) ~0) /* For net_store_length */ #ifdef __WIN__ diff --git a/include/vio.h b/include/vio.h deleted file mode 100644 index acea6280f45..00000000000 --- a/include/vio.h +++ /dev/null @@ -1,278 +0,0 @@ -/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ - -/* We implement virtual IO by trapping needed vio_* calls and mapping - * them to different function pointers by type - */ - - - - -/* - * Purpose: include file for st_vio that will work with C and C++ - */ - -#ifndef vio_violite_h_ -#define vio_violite_h_ - -#include "my_net.h" /* needed because of struct in_addr */ - - -/* Simple vio interface in C; The functions are implemented in violite.c */ - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - -enum enum_vio_type { VIO_CLOSED, VIO_TYPE_TCPIP, VIO_TYPE_SOCKET, - VIO_TYPE_NAMEDPIPE, VIO_TYPE_SSL}; -#ifndef st_vio_defined -#define st_vio_defined -struct st_vio; /* Only C */ -typedef struct st_vio st_vio; -#endif - -st_vio* vio_new(my_socket sd, - enum enum_vio_type type, - my_bool localhost); -#ifdef __WIN__ -st_vio* vio_new_win32pipe(HANDLE hPipe); -#endif -void vio_delete(st_vio* vio); - -#ifdef EMBEDDED_LIBRARY -void vio_reset(st_vio *vio); -#endif - -/* - * vio_read and vio_write should have the same semantics - * as read(2) and write(2). - */ -int vio_read( st_vio* vio, - gptr buf, int size); -int vio_write( st_vio* vio, - const gptr buf, - int size); -/* - * Whenever the socket is set to blocking mode or not. - */ -int vio_blocking( st_vio* vio, - my_bool onoff); -my_bool vio_is_blocking( st_vio* vio); -/* - * setsockopt TCP_NODELAY at IPPROTO_TCP level, when possible. - */ - int vio_fastsend( st_vio* vio); -/* - * setsockopt SO_KEEPALIVE at SOL_SOCKET level, when possible. - */ -int vio_keepalive( st_vio* vio, - my_bool onoff); -/* - * Whenever we should retry the last read/write operation. - */ -my_bool vio_should_retry( st_vio* vio); -/* - * When the workday is over... - */ -int vio_close(st_vio* vio); -/* - * Short text description of the socket for those, who are curious.. - */ -const char* vio_description( st_vio* vio); - -/* Return the type of the connection */ - enum enum_vio_type vio_type(st_vio* vio); - -/* Return last error number */ -int vio_errno(st_vio *vio); - -/* Get socket number */ -my_socket vio_fd(st_vio *vio); - -/* - * Remote peer's address and name in text form. - */ -my_bool vio_peer_addr(st_vio * vio, char *buf); - -/* Remotes in_addr */ - -void vio_in_addr(st_vio *vio, struct in_addr *in); - - /* Return 1 if there is data to be read */ -my_bool vio_poll_read(st_vio *vio,uint timeout); - -#ifdef __cplusplus -} -#endif -#endif /* vio_violite_h_ */ -#ifdef HAVE_VIO -#ifndef DONT_MAP_VIO -#define vio_delete(vio) (vio)->viodelete(vio) -#define vio_errno(vio) (vio)->vioerrno(vio) -#define vio_read(vio, buf, size) (vio)->read(vio,buf,size) -#define vio_write(vio, buf, size) (vio)->write(vio, buf, size) -#define vio_blocking(vio, set_blocking_mode) (vio)->vioblocking(vio, set_blocking_mode) -#define vio_is_blocking(vio) (vio)->is_blocking(vio) -#define vio_fastsend(vio) (vio)->fastsend(vio) -#define vio_keepalive(vio, set_keep_alive) (vio)->viokeepalive(vio, set_keep_alive) -#define vio_should_retry(vio) (vio)->should_retry(vio) -#define vio_close(vio) ((vio)->vioclose)(vio) -#define vio_peer_addr(vio, buf) (vio)->peer_addr(vio, buf) -#define vio_in_addr(vio, in) (vio)->in_addr(vio, in) -#define vio_poll_read(vio,timeout) (vio)->poll_read(vio,timeout) -#endif /* !DONT_MAP_VIO */ -#endif /* HAVE_VIO */ - - -#ifdef HAVE_OPENSSL -#include <openssl/x509.h> -#include <openssl/ssl.h> -#include <openssl/err.h> -#include <openssl/pem.h> -#include <openssl/asn1.h> -#include "my_net.h" /* needed because of struct in_addr */ - - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - -#ifndef st_vio_defined -#define st_vio_defined -struct st_vio; /* Only C */ -typedef struct st_vio st_vio; -#endif - -void vio_ssl_delete(st_vio* vio); - -#ifdef EMBEDDED_LIBRARY -void vio_reset(st_vio *vio); -#endif - -int vio_ssl_read(st_vio* vio,gptr buf, int size); -int vio_ssl_write(st_vio* vio,const gptr buf,int size); -int vio_ssl_blocking(st_vio* vio,my_bool onoff); -my_bool vio_ssl_is_blocking(st_vio* vio); - -/* setsockopt TCP_NODELAY at IPPROTO_TCP level, when possible. */ - int vio_ssl_fastsend(st_vio* vio); -/* setsockopt SO_KEEPALIVE at SOL_SOCKET level, when possible. */ -int vio_ssl_keepalive(st_vio* vio, my_bool onoff); -/* Whenever we should retry the last read/write operation. */ -my_bool vio_ssl_should_retry(st_vio* vio); -/* When the workday is over... */ -int vio_ssl_close(st_vio* vio); -/* Return last error number */ -int vio_ssl_errno(st_vio *vio); -my_bool vio_ssl_peer_addr(st_vio * vio, char *buf); -void vio_ssl_in_addr(st_vio *vio, struct in_addr *in); - -/* Return 1 if there is data to be read */ -my_bool vio_ssl_poll_read(st_vio *vio,uint timeout); - -#ifdef HAVE_OPENSSL - -/* Single copy for server */ -struct st_VioSSLAcceptorFd -{ - SSL_CTX* ssl_context_; - SSL_METHOD* ssl_method_; - struct st_VioSSLAcceptorFd* session_id_context_; - enum { - state_connect = 1, - state_accept = 2 - }; - BIO* bio_; - char *ssl_cip_; - char desc_[100]; - st_vio* sd_; - - /* function pointers which are only once for SSL server */ -// struct st_vio *(*sslaccept)(struct st_VioSSLAcceptorFd*,st_vio*); -}; - -/* One copy for client */ -struct st_VioSSLConnectorFd -{ - BIO* bio_; - gptr ssl_; - SSL_CTX* ssl_context_; - SSL_METHOD* ssl_method_; - /* function pointers which are only once for SSL client */ -}; -struct st_vio *sslaccept(struct st_VioSSLAcceptorFd*, struct st_vio*); -struct st_vio *sslconnect(struct st_VioSSLConnectorFd*, struct st_vio*); - -#else /* HAVE_OPENSSL */ -/* This dummy is required to maintain proper size of st_mysql in mysql.h */ -struct st_VioSSLConnectorFd {}; -#endif /* HAVE_OPENSSL */ -struct st_VioSSLConnectorFd *new_VioSSLConnectorFd( - const char* key_file,const char* cert_file,const char* ca_file,const char* ca_path); -struct st_VioSSLAcceptorFd *new_VioSSLAcceptorFd( - const char* key_file,const char* cert_file,const char* ca_file,const char* ca_path); -struct st_vio* new_VioSSL(struct st_VioSSLAcceptorFd* fd, struct st_vio * sd,int state); -static int -init_bio_(struct st_VioSSLAcceptorFd* fd, struct st_vio* sd, int state, int bio_flags); -static void -report_errors(); - -#ifdef __cplusplus -} -#endif -#endif /* HAVE_OPENSSL */ - -#ifndef __WIN__ -#define HANDLE void * -#endif - -/* This structure is for every connection on both sides */ -struct st_vio -{ - my_socket sd; /* my_socket - real or imaginary */ - HANDLE hPipe; - my_bool localhost; /* Are we from localhost? */ - int fcntl_mode; /* Buffered fcntl(sd,F_GETFL) */ - struct sockaddr_in local; /* Local internet address */ - struct sockaddr_in remote; /* Remote internet address */ - enum enum_vio_type type; /* Type of connection */ - char desc[30]; /* String description */ -#ifdef HAVE_VIO - /* function pointers. They are similar for socket/SSL/whatever */ - void (*viodelete)(st_vio *); - int(*vioerrno)(st_vio*); - int(*read)(st_vio*, gptr, int); - int(*write)(st_vio*, gptr, int); - int(*vioblocking)(st_vio*, my_bool); - my_bool(*is_blocking)(st_vio*); - int(*viokeepalive)(st_vio *, my_bool); - int(*fastsend)(st_vio *); - my_bool(*peer_addr)(st_vio*, gptr); - void(*in_addr)(st_vio*, struct in_addr*); - my_bool(*should_retry)(st_vio *); - int(*vioclose)(st_vio *); - my_bool(*poll_read)(st_vio *,uint); - -#ifdef HAVE_OPENSSL - BIO* bio_; - SSL* ssl_; - my_bool open_; -#endif /* HAVE_OPENSSL */ -#endif /* HAVE_VIO */ -}; - - diff --git a/libmysql/net.c b/libmysql/net.c index 809cfb41e83..0fc5cf8b50c 100644 --- a/libmysql/net.c +++ b/libmysql/net.c @@ -31,6 +31,7 @@ #include <winsock.h> #endif #include <global.h> +#include <mysql_com.h> #include <violite.h> #include <my_sys.h> #include <m_string.h> diff --git a/sql/mini_client.cc b/sql/mini_client.cc index 28119cc33fd..8966b303000 100644 --- a/sql/mini_client.cc +++ b/sql/mini_client.cc @@ -28,6 +28,7 @@ #include <odbcinst.h> #endif #include <global.h> +#include <mysql_com.h> #include <violite.h> #include <my_sys.h> #include <mysys_err.h> diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h index aaf1d4200df..ef8f4efbb6c 100644 --- a/sql/mysql_priv.h +++ b/sql/mysql_priv.h @@ -26,7 +26,6 @@ #include <thr_lock.h> #include <my_base.h> /* Needed by field.h */ #include <my_bitmap.h> -#include <violite.h> #undef write // remove pthread.h macro definition for EMX @@ -35,6 +34,7 @@ typedef ulong key_map; /* Used for finding keys */ typedef ulong key_part_map; /* Used for finding key parts */ #include "mysql_com.h" +#include <violite.h> #include "unireg.h" void init_sql_alloc(MEM_ROOT *root, uint block_size, uint pre_alloc_size); diff --git a/sql/net_serv.cc b/sql/net_serv.cc index f03d8f31760..cde27d4933a 100644 --- a/sql/net_serv.cc +++ b/sql/net_serv.cc @@ -31,6 +31,7 @@ #include <winsock.h> #endif #include <global.h> +#include <mysql_com.h> #include <violite.h> #include <my_sys.h> #include <m_string.h> |