From 608a95f4969202083eccd4c1c7e91dec021ea79b Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Tue, 15 Aug 2023 20:53:32 +0200 Subject: [PATCH] qtest: Run both client and server during connect Reviewed-by: Matt Caswell Reviewed-by: Hugo Landau (Merged from https://github.com/openssl/openssl/pull/21713) --- test/helpers/quictestlib.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/test/helpers/quictestlib.c b/test/helpers/quictestlib.c index c9562963300..be98e205ffc 100644 --- a/test/helpers/quictestlib.c +++ b/test/helpers/quictestlib.c @@ -251,7 +251,7 @@ static void run_server_thread(void) int qtest_create_quic_connection(QUIC_TSERVER *qtserv, SSL *clientssl) { - int retc = -1, rets = 0, err, abortctr = 0, ret = 0; + int retc = -1, rets = 0, abortctr = 0, ret = 0; int clienterr = 0, servererr = 0; #if defined(OPENSSL_THREADS) && !defined(CRYPTO_TDEBUG) /* @@ -284,17 +284,19 @@ int qtest_create_quic_connection(QUIC_TSERVER *qtserv, SSL *clientssl) } do { - err = SSL_ERROR_WANT_WRITE; - while (!clienterr && retc <= 0 && err == SSL_ERROR_WANT_WRITE) { + if (!clienterr && retc <= 0) { + int err; + retc = SSL_connect(clientssl); - if (retc <= 0) + if (retc <= 0) { err = SSL_get_error(clientssl, retc); - } - if (!clienterr && retc <= 0 && err != SSL_ERROR_WANT_READ) { - TEST_info("SSL_connect() failed %d, %d", retc, err); - TEST_openssl_errors(); - clienterr = 1; + if (err != SSL_ERROR_WANT_READ && err != SSL_ERROR_WANT_WRITE) { + TEST_info("SSL_connect() failed %d, %d", retc, err); + TEST_openssl_errors(); + clienterr = 1; + } + } } /* -- 2.47.2