From 341c05f9f738a7968a25792e110c5667fecffc41 Mon Sep 17 00:00:00 2001 From: David Garske Date: Mon, 10 Apr 2017 15:55:32 -0700 Subject: [PATCH] Added wolfSSL_accept to TLS server examples, even though its not explicitly required. --- tls/server-tls-callback.c | 10 ++++++++++ tls/server-tls-ecdhe.c | 11 +++++++++-- tls/server-tls-nonblocking.c | 10 +++++++++- tls/server-tls-threaded.c | 12 ++++++++++-- tls/server-tls.c | 10 ++++++++++ 5 files changed, 48 insertions(+), 5 deletions(-) diff --git a/tls/server-tls-callback.c b/tls/server-tls-callback.c index 5f1d346f..56d5633e 100644 --- a/tls/server-tls-callback.c +++ b/tls/server-tls-callback.c @@ -151,6 +151,7 @@ int main() char buff[256]; size_t len; int shutdown = 0; + int ret; /* declare wolfSSL objects */ WOLFSSL_CTX* ctx; @@ -247,6 +248,15 @@ int main() /* Attach wolfSSL to the socket */ wolfSSL_set_fd(ssl, connd); + /* Establish TLS connection */ + ret = wolfSSL_accept(ssl); + if (ret != SSL_SUCCESS) { + fprintf(stderr, "wolfSSL_accept error = %d\n", + wolfSSL_get_error(ssl, ret)); + return -1; + } + + printf("Client connected successfully\n"); diff --git a/tls/server-tls-ecdhe.c b/tls/server-tls-ecdhe.c index f1feaf3f..00bee412 100644 --- a/tls/server-tls-ecdhe.c +++ b/tls/server-tls-ecdhe.c @@ -53,6 +53,7 @@ int main() char buff[256]; size_t len; int shutdown = 0; + int ret; /* declare wolfSSL objects */ WOLFSSL_CTX* ctx; @@ -149,8 +150,15 @@ int main() /* Attach wolfSSL to the socket */ wolfSSL_set_fd(ssl, connd); - printf("Client connected successfully\n"); + /* Establish TLS connection */ + ret = wolfSSL_accept(ssl); + if (ret != SSL_SUCCESS) { + fprintf(stderr, "wolfSSL_accept error = %d\n", + wolfSSL_get_error(ssl, ret)); + return -1; + } + printf("Client connected successfully\n"); /* Read the client data into our buff array */ @@ -170,7 +178,6 @@ int main() } - /* Write our reply into buff */ memset(buff, 0, sizeof(buff)); memcpy(buff, "I hear ya fa shizzle!\n", sizeof(buff)); diff --git a/tls/server-tls-nonblocking.c b/tls/server-tls-nonblocking.c index 3332657e..53926bdc 100644 --- a/tls/server-tls-nonblocking.c +++ b/tls/server-tls-nonblocking.c @@ -52,6 +52,7 @@ int main() char buff[256]; size_t len; int shutdown = 0; + int ret; /* declare wolfSSL objects */ WOLFSSL_CTX* ctx; @@ -152,8 +153,15 @@ int main() /* Attach wolfSSL to the socket */ wolfSSL_set_fd(ssl, connd); - printf("Client connected successfully\n"); + /* Establish TLS connection */ + ret = wolfSSL_accept(ssl); + if (ret != SSL_SUCCESS) { + fprintf(stderr, "wolfSSL_accept error = %d\n", + wolfSSL_get_error(ssl, ret)); + return -1; + } + printf("Client connected successfully\n"); /* Read the client data into our buff array */ diff --git a/tls/server-tls-threaded.c b/tls/server-tls-threaded.c index 182c36c3..3d42d1fa 100644 --- a/tls/server-tls-threaded.c +++ b/tls/server-tls-threaded.c @@ -64,7 +64,7 @@ void* ClientHandler(void* args) WOLFSSL* ssl; char buff[256]; size_t len; - + int ret; /* Create a WOLFSSL object */ @@ -77,8 +77,16 @@ void* ClientHandler(void* args) /* Attach wolfSSL to the socket */ wolfSSL_set_fd(ssl, pkg->connd); - printf("Client %d connected successfully\n", pkg->num); + /* Establish TLS connection */ + ret = wolfSSL_accept(ssl); + if (ret != SSL_SUCCESS) { + fprintf(stderr, "wolfSSL_accept error = %d\n", + wolfSSL_get_error(ssl, ret)); + pkg->open = 1; + pthread_exit(NULL); + } + printf("Client %d connected successfully\n", pkg->num); /* Read the client data into our buff array */ diff --git a/tls/server-tls.c b/tls/server-tls.c index ebab8309..95293d54 100644 --- a/tls/server-tls.c +++ b/tls/server-tls.c @@ -51,6 +51,7 @@ int main() char buff[256]; size_t len; int shutdown = 0; + int ret; /* declare wolfSSL objects */ WOLFSSL_CTX* ctx; @@ -141,6 +142,15 @@ int main() /* Attach wolfSSL to the socket */ wolfSSL_set_fd(ssl, connd); + /* Establish TLS connection */ + ret = wolfSSL_accept(ssl); + if (ret != SSL_SUCCESS) { + fprintf(stderr, "wolfSSL_accept error = %d\n", + wolfSSL_get_error(ssl, ret)); + return -1; + } + + printf("Client connected successfully\n");