提交 c4666bfa 编写于 作者: M Matt Caswell

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: NRichard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3286)
上级 dcf88c5b
......@@ -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));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册