Display errors if a test TLS connection fails

If a connection fails it is useful during debugging to have any errors
that are on the OpenSSL error stack at the time of the failure.

Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Ben Kaduk <kaduk@mit.edu>
(Merged from https://github.com/openssl/openssl/pull/11406)
This commit is contained in:
Matt Caswell 2020-03-20 11:58:34 +00:00
parent 20c98cd453
commit e737adb42a

View File

@ -938,6 +938,8 @@ int create_bare_ssl_connection(SSL *serverssl, SSL *clientssl, int want,
if (!clienterr && retc <= 0 && err != SSL_ERROR_WANT_READ) { if (!clienterr && retc <= 0 && err != SSL_ERROR_WANT_READ) {
TEST_info("SSL_connect() failed %d, %d", retc, err); TEST_info("SSL_connect() failed %d, %d", retc, err);
if (want != SSL_ERROR_SSL)
TEST_openssl_errors();
clienterr = 1; clienterr = 1;
} }
if (want != SSL_ERROR_NONE && err == want) if (want != SSL_ERROR_NONE && err == want)
@ -954,6 +956,8 @@ int create_bare_ssl_connection(SSL *serverssl, SSL *clientssl, int want,
&& err != SSL_ERROR_WANT_READ && err != SSL_ERROR_WANT_READ
&& err != SSL_ERROR_WANT_X509_LOOKUP) { && err != SSL_ERROR_WANT_X509_LOOKUP) {
TEST_info("SSL_accept() failed %d, %d", rets, err); TEST_info("SSL_accept() failed %d, %d", rets, err);
if (want != SSL_ERROR_SSL)
TEST_openssl_errors();
servererr = 1; servererr = 1;
} }
if (want != SSL_ERROR_NONE && err == want) if (want != SSL_ERROR_NONE && err == want)