diff options
author | Emilia Kasper <emilia@openssl.org> | 2016-07-05 19:06:23 +0200 |
---|---|---|
committer | Emilia Kasper <emilia@openssl.org> | 2016-07-20 13:55:53 +0200 |
commit | 590ed3d7ea555b877859f6b491020112588fe1be (patch) | |
tree | 0461027d23e45e0e29fdaed81e92fbe4b324c065 /test/ssl_test_ctx.h | |
parent | 23dd0c9f8dc6f7edf4b872d13e5644dfbbee585b (diff) |
SSL test framework: port resumption tests
Systematically test every server-side version downgrade or upgrade.
Client version upgrade or downgrade could be tested analogously but will
be done in a later change.
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
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|. |