From: Tomas Mraz Date: Tue, 15 Aug 2023 18:53:32 +0000 (+0200) Subject: qtest: Run both client and server during connect X-Git-Tag: openssl-3.2.0-alpha1~182 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=608a95f4969202083eccd4c1c7e91dec021ea79b;p=thirdparty%2Fopenssl.git 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) --- 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; + } + } } /*