diff options
author | Matt Caswell <matt@openssl.org> | 2017-04-20 14:45:33 +0100 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2017-04-25 11:13:39 +0100 |
commit | c4666bfa13480c1e700a0d487300da2a56e889af (patch) | |
tree | 7d89b2cede300dbf3c34ec416e9f1da393f9b5ab /apps | |
parent | dcf88c5b79cbd433ee37276cdf63cdb5d49673cd (diff) | |
download | openssl-c4666bfa13480c1e700a0d487300da2a56e889af.tar.gz |
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 <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3286)
Diffstat (limited to 'apps')
-rw-r--r-- | apps/s_server.c | 6 |
1 files 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)); |