diff options
author | Tomas Mraz <tomas@openssl.org> | 2023-08-15 20:53:32 +0200 |
---|---|---|
committer | Tomas Mraz <tomas@openssl.org> | 2023-08-22 12:31:46 +0200 |
commit | 608a95f4969202083eccd4c1c7e91dec021ea79b (patch) | |
tree | 48c9d93f56d23aa1118a96e5449442da168f9899 | |
parent | 8fd32a0eda994527668a1e19a29ca9c85b4a35d8 (diff) |
qtest: Run both client and server during connect
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21713)
-rw-r--r-- | test/helpers/quictestlib.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/test/helpers/quictestlib.c b/test/helpers/quictestlib.c index c956296330..be98e205ff 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; + } + } } /* |