diff options
Diffstat (limited to 'test/ssl_test_ctx.h')
-rw-r--r-- | test/ssl_test_ctx.h | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/test/ssl_test_ctx.h b/test/ssl_test_ctx.h index a96245eec7..d3d86e7fee 100644 --- a/test/ssl_test_ctx.h +++ b/test/ssl_test_ctx.h @@ -17,7 +17,9 @@ typedef enum { SSL_TEST_SUCCESS = 0, /* Default */ SSL_TEST_SERVER_FAIL, SSL_TEST_CLIENT_FAIL, - SSL_TEST_INTERNAL_ERROR + SSL_TEST_INTERNAL_ERROR, + /* Couldn't test resumption/renegotiation: original handshake failed. */ + SSL_TEST_FIRST_HANDSHAKE_FAILED } ssl_test_result_t; typedef enum { @@ -39,7 +41,6 @@ typedef enum { SSL_TEST_SERVERNAME_REJECT_MISMATCH } ssl_servername_callback_t; - typedef enum { SSL_TEST_SESSION_TICKET_IGNORE = 0, /* Default */ SSL_TEST_SESSION_TICKET_YES, @@ -52,6 +53,13 @@ typedef enum { SSL_TEST_METHOD_DTLS } ssl_test_method_t; +typedef enum { + SSL_TEST_HANDSHAKE_SIMPLE = 0, /* Default */ + SSL_TEST_HANDSHAKE_RESUME, + /* Not yet implemented */ + SSL_TEST_HANDSHAKE_RENEGOTIATE +} ssl_handshake_mode_t; + typedef struct ssl_test_ctx { /* Test expectations. */ /* Defaults to SUCCESS. */ @@ -96,6 +104,10 @@ typedef struct ssl_test_ctx { char *server_alpn_protocols; char *server2_alpn_protocols; char *expected_alpn_protocol; + /* Whether to test a resumed/renegotiated handshake. */ + ssl_handshake_mode_t handshake_mode; + /* Whether the second handshake is resumed or a full handshake (boolean). */ + int resumption_expected; } SSL_TEST_CTX; const char *ssl_test_result_name(ssl_test_result_t result); @@ -107,6 +119,7 @@ const char *ssl_servername_callback_name(ssl_servername_callback_t servername_callback); const char *ssl_session_ticket_name(ssl_session_ticket_t server); const char *ssl_test_method_name(ssl_test_method_t method); +const char *ssl_handshake_mode_name(ssl_handshake_mode_t mode); /* * Load the test case context from |conf|. |