From c4666bfa13480c1e700a0d487300da2a56e889af Mon Sep 17 00:00:00 2001 From: Matt Caswell Date: Thu, 20 Apr 2017 14:45:33 +0100 Subject: [PATCH] Ask libssl if we should retry not the socket s_server was asking the underlying socket if it is a retryable error rather than libssl which has more information. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/3286) --- apps/s_server.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/s_server.c b/apps/s_server.c index 81c3973d6f..7fb7772826 100644 --- a/apps/s_server.c +++ b/apps/s_server.c @@ -2646,7 +2646,7 @@ static int init_ssl_connection(SSL *con) i = SSL_accept(con); if (i <= 0) - retry = BIO_sock_should_retry(i); + retry = !SSL_want_nothing(con); #ifdef CERT_CB_TEST_RETRY { while (i <= 0 @@ -2656,7 +2656,7 @@ static int init_ssl_connection(SSL *con) "LOOKUP from certificate callback during accept\n"); i = SSL_accept(con); if (i <= 0) - retry = BIO_sock_should_retry(i); + retry = !SSL_want_nothing(con); } } #endif @@ -2677,7 +2677,7 @@ static int init_ssl_connection(SSL *con) BIO_printf(bio_s_out, "LOOKUP not successful\n"); i = SSL_accept(con); if (i <= 0) - retry = BIO_sock_should_retry(i); + retry = !SSL_want_nothing(con); } #endif } while (i < 0 && SSL_waiting_for_async(con)); -- 2.25.1