diff options
author | unknown <tonu@x153.internalnet> | 2001-08-26 00:18:20 +0800 |
---|---|---|
committer | unknown <tonu@x153.internalnet> | 2001-08-26 00:18:20 +0800 |
commit | cc22852e2e916adca848ae0720131d0963bf8a84 (patch) | |
tree | 331432870e74ba240b433c254eede371858b486e /vio/test-sslclient.c | |
parent | ee5ba7642cb68845a4cb07060b50699a58430b27 (diff) | |
download | mariadb-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.c | 52 |
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 */ |