client to use non-blocking sockets in resume test if enabled

This commit is contained in:
John Safranek
2012-08-20 17:02:25 -07:00
parent 7a12fb3e6b
commit 501c6a67e7

View File

@ -354,7 +354,7 @@ void client_test(void* args)
#endif #endif
#endif #endif
showPeer(ssl); showPeer(ssl);
if (sendGET) { if (sendGET) {
printf("SSL connect ok, sending GET...\n"); printf("SSL connect ok, sending GET...\n");
msgSz = 28; msgSz = 28;
@ -409,8 +409,20 @@ void client_test(void* args)
CyaSSL_set_fd(sslResume, sockfd); CyaSSL_set_fd(sslResume, sockfd);
CyaSSL_set_session(sslResume, session); CyaSSL_set_session(sslResume, session);
showPeer(sslResume); showPeer(sslResume);
if (CyaSSL_connect(sslResume) != SSL_SUCCESS) err_sys("SSL resume failed"); #ifdef NON_BLOCKING
tcp_set_nonblocking(&sockfd);
NonBlockingSSL_Connect(sslResume);
#else
#ifndef CYASSL_CALLBACKS
if (CyaSSL_connect(sslResume) != SSL_SUCCESS)
err_sys("SSL resume failed");
#else
timeout.tv_sec = 2;
timeout.tv_usec = 0;
NonBlockingSSL_Connect(ssl); /* will keep retrying on timeout */
#endif
#endif
#ifdef OPENSSL_EXTRA #ifdef OPENSSL_EXTRA
if (CyaSSL_session_reused(sslResume)) if (CyaSSL_session_reused(sslResume))
@ -422,6 +434,15 @@ void client_test(void* args)
if (CyaSSL_write(sslResume, resumeMsg, resumeSz) != resumeSz) if (CyaSSL_write(sslResume, resumeMsg, resumeSz) != resumeSz)
err_sys("SSL_write failed"); err_sys("SSL_write failed");
#ifdef NON_BLOCKING
/* need to give server a chance to bounce a message back to client */
#ifdef USE_WINDOWS_API
Sleep(500);
#else
sleep(1);
#endif
#endif
input = CyaSSL_read(sslResume, reply, sizeof(reply)); input = CyaSSL_read(sslResume, reply, sizeof(reply));
if (input > 0) { if (input > 0) {
reply[input] = 0; reply[input] = 0;