summaryrefslogtreecommitdiff
path: root/test/helpers
diff options
context:
space:
mode:
authorTomas Mraz <tomas@openssl.org>2022-06-20 17:11:28 +0200
committerHugo Landau <hlandau@openssl.org>2022-07-28 10:04:28 +0100
commit38b051a1fedc79ebf24a96de2e9a326ad3665baf (patch)
treee32fa2a0a5cf8572b48b3cb8a1aac2a20d0b439f /test/helpers
parentce602bb0a20589e5a84c48a55ce13219ab881e84 (diff)
downloadopenssl-new-38b051a1fedc79ebf24a96de2e9a326ad3665baf.tar.gz
SSL object refactoring using SSL_CONNECTION object
Make the SSL object polymorphic based on whether this is a traditional SSL connection, QUIC connection, or later to be implemented a QUIC stream. It requires adding if after every SSL_CONNECTION_FROM_SSL() call which itself has to be added to almost every public SSL_ API call. Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Hugo Landau <hlandau@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/18612)
Diffstat (limited to 'test/helpers')
-rw-r--r--test/helpers/handshake.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/test/helpers/handshake.c b/test/helpers/handshake.c
index 7b2798b353..fc7f026300 100644
--- a/test/helpers/handshake.c
+++ b/test/helpers/handshake.c
@@ -978,9 +978,15 @@ static void do_reneg_setup_step(const SSL_TEST_CTX *test_ctx, PEER *peer)
return;
} else if (test_ctx->handshake_mode == SSL_TEST_HANDSHAKE_POST_HANDSHAKE_AUTH) {
if (SSL_is_server(peer->ssl)) {
+ SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL_ONLY(peer->ssl);
+
+ if (sc == NULL) {
+ peer->status = PEER_ERROR;
+ return;
+ }
/* Make the server believe it's received the extension */
if (test_ctx->extra.server.force_pha)
- peer->ssl->post_handshake_auth = SSL_PHA_EXT_RECEIVED;
+ sc->post_handshake_auth = SSL_PHA_EXT_RECEIVED;
ret = SSL_verify_client_post_handshake(peer->ssl);
if (!ret) {
peer->status = PEER_ERROR;