diff options
-rw-r--r-- | test/handshake_helper.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/test/handshake_helper.c b/test/handshake_helper.c index 8ad35ce311..509a8f6ede 100644 --- a/test/handshake_helper.c +++ b/test/handshake_helper.c @@ -764,6 +764,17 @@ static void do_reneg_setup_step(const SSL_TEST_CTX *test_ctx, PEER *peer) int ret; char buf; + if (peer->status == PEER_SUCCESS) { + /* + * We are a client that succeeded this step previously, but the server + * wanted to retry. Probably there is a no_renegotiation warning alert + * waiting for us. Attempt to continue the handshake. + */ + peer->status = PEER_RETRY; + do_handshake_step(peer); + return; + } + TEST_check(peer->status == PEER_RETRY); TEST_check(test_ctx->handshake_mode == SSL_TEST_HANDSHAKE_RENEG_SERVER || test_ctx->handshake_mode == SSL_TEST_HANDSHAKE_RENEG_CLIENT |