summaryrefslogtreecommitdiff
path: root/vio/test-sslclient.c
diff options
context:
space:
mode:
authorunknown <tonu@x153.internalnet>2001-08-26 00:18:20 +0800
committerunknown <tonu@x153.internalnet>2001-08-26 00:18:20 +0800
commitcc22852e2e916adca848ae0720131d0963bf8a84 (patch)
tree331432870e74ba240b433c254eede371858b486e /vio/test-sslclient.c
parentee5ba7642cb68845a4cb07060b50699a58430b27 (diff)
downloadmariadb-git-cc22852e2e916adca848ae0720131d0963bf8a84.tar.gz
Some warning fixes and some SSL testprograms check-in
extra/resolveip.c: Removed warnings about implicit declarations myisam/mi_open.c: Removed warning about unused symbol mysys/my_compress.c: Removed warnings about implicit declaration mysys/string.c: Removed warning about uninitialized variable strings/ctype.c: Removed warning about implicit declaration vio/test-sslclient.c: Testprogram heavy modify vio/test-sslserver.c: Testprogram heavy modify
Diffstat (limited to 'vio/test-sslclient.c')
-rw-r--r--vio/test-sslclient.c52
1 files changed, 32 insertions, 20 deletions
diff --git a/vio/test-sslclient.c b/vio/test-sslclient.c
index 86542dec2f9..7abac7dad9f 100644
--- a/vio/test-sslclient.c
+++ b/vio/test-sslclient.c
@@ -28,45 +28,57 @@ fatal_error( const char* r)
}
int
-main( int argc,
+main( int argc __attribute__((unused)),
char** argv)
{
- char* client_key = 0, *client_cert = 0;
- char* ca_file = 0, *ca_path = 0;
+ char client_key[] = "../SSL/client-key.pem", client_cert[] = "../SSL/client-cert.pem";
+ char ca_file[] = "../SSL/cacert.pem", *ca_path = 0;
struct st_VioSSLConnectorFd* ssl_connector=0;
+ struct sockaddr_in sa;
Vio* client_vio=0;
+ int err;
+ char xbuf[100]="Ohohhhhoh1234";
MY_INIT(argv[0]);
DBUG_PROCESS(argv[0]);
DBUG_PUSH(default_dbug_option);
- client_key = "../SSL/client-key.pem";
- client_cert = "../SSL/client-cert.pem";
- ca_file = "../SSL/cacert.pem";
printf("Client key/cert : %s/%s\n", client_key, client_cert);
if (ca_file!=0)
printf("CAfile : %s\n", ca_file);
if (ca_path!=0)
printf("CApath : %s\n", ca_path);
-
ssl_connector = new_VioSSLConnectorFd(client_key, client_cert, ca_file, ca_path);
+ if(!ssl_connector) {
+ fatal_error("client:new_VioSSLConnectorFd failed");
+ }
- client_vio = (struct st_vio*)my_malloc(sizeof(struct st_vio),MYF(0));
- client_vio->vioblocking(client_vio,0);
- sslconnect(ssl_connector,client_vio);
+ /* ----------------------------------------------- */
+ /* Create a socket and connect to server using normal socket calls. */
+
+ client_vio = vio_new(socket (AF_INET, SOCK_STREAM, 0), VIO_TYPE_TCPIP, TRUE);
+
+ memset (&sa, '\0', sizeof(sa));
+ sa.sin_family = AF_INET;
+ sa.sin_addr.s_addr = inet_addr ("127.0.0.1"); /* Server IP */
+ sa.sin_port = htons (1111); /* Server Port number */
+
+ err = connect(client_vio->sd, (struct sockaddr*) &sa,
+ sizeof(sa));
- {
- char xbuf[100];
- int r = client_vio->read(client_vio,xbuf, sizeof(xbuf));
- if (r<=0) {
- my_free((gptr)ssl_connector,MYF(0));
- fatal_error("client:SSL_read");
- }
- xbuf[r] = 0;
- printf("client:got %s\n", xbuf);
- my_free((gptr)client_vio,MYF(0));
+ /* ----------------------------------------------- */
+ /* Now we have TCP conncetion. Start SSL negotiation. */
+ read(client_vio->sd,xbuf, sizeof(xbuf));
+ sslconnect(ssl_connector,client_vio);
+ err = client_vio->read(client_vio,xbuf, sizeof(xbuf));
+ if (err<=0) {
my_free((gptr)ssl_connector,MYF(0));
+ fatal_error("client:SSL_read");
}
+ xbuf[err] = 0;
+ printf("client:got %s\n", xbuf);
+ my_free((gptr)client_vio,MYF(0));
+ my_free((gptr)ssl_connector,MYF(0));
return 0;
}
#else /* HAVE_OPENSSL */