summaryrefslogtreecommitdiff
path: root/tests/resume.c
diff options
context:
space:
mode:
authorDaiki Ueno <dueno@redhat.com>2018-04-17 13:32:18 +0200
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2018-05-26 04:12:04 +0000
commit4d2c44d049cd360d8cb925d8e40645d4c6b44cfc (patch)
tree3131f611b73a1033dbc5dfaa5234e8296297752c /tests/resume.c
parentf6b1a99b05c590d4f9d43a0891e6ddb70886926e (diff)
downloadgnutls-4d2c44d049cd360d8cb925d8e40645d4c6b44cfc.tar.gz
tests: exercise TLS 1.3 session resumption
This requires a few changes to the resume.c test: because NewSessionTicket is a post-handshake message, gnutls_session_get_data2() needs to be called after sending the first application data. Also, when GNUTLS_E_AGAIN, gnutls_record_recv() needs to retry. Signed-off-by: Daiki Ueno <dueno@redhat.com>
Diffstat (limited to 'tests/resume.c')
-rw-r--r--tests/resume.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/tests/resume.c b/tests/resume.c
index cc46e294ef..b23dbe1a28 100644
--- a/tests/resume.c
+++ b/tests/resume.c
@@ -83,6 +83,7 @@ struct params_res {
pid_t child;
struct params_res resume_tests[] = {
+#ifndef TLS13
{.desc = "try to resume from db",
.enable_db = 1,
.enable_session_ticket_server = 0,
@@ -114,6 +115,7 @@ struct params_res resume_tests[] = {
.expect_resume = 0,
.first_no_ext_master = 1,
.second_no_ext_master = 0},
+#endif
{.desc = "try to resume from session ticket",
.enable_db = 0,
.enable_session_ticket_server = 1,
@@ -125,6 +127,7 @@ struct params_res resume_tests[] = {
.enable_session_ticket_client = 1,
.try_resumed_data = 1,
.expect_resume = 1},
+#ifndef TLS13
{.desc = "try to resume from session ticket (ext master secret -> none)",
.enable_db = 0,
.enable_session_ticket_server = 1,
@@ -169,6 +172,7 @@ struct params_res resume_tests[] = {
.enable_db = 1,
.try_sni = 1,
.expect_resume = 1},
+#endif
{.desc = "try to resume with ticket and same SNI",
.enable_session_ticket_server = 1,
.enable_session_ticket_client = 1,
@@ -288,6 +292,9 @@ static void verify_group(gnutls_session_t session, gnutls_group_t *group, unsign
#ifdef TLS12
# define VERS_STR "+VERS-TLS1.2"
#endif
+#ifdef TLS13
+# define VERS_STR "-VERS-ALL:+VERS-TLS1.3"
+#endif
static void client(int sds[], struct params_res *params)
{
@@ -454,7 +461,9 @@ static void client(int sds[], struct params_res *params)
gnutls_record_send(session, MSG, strlen(MSG));
- ret = gnutls_record_recv(session, buffer, MAX_BUF);
+ do {
+ ret = gnutls_record_recv(session, buffer, MAX_BUF);
+ } while (ret == GNUTLS_E_AGAIN);
if (ret == 0) {
if (debug)
success