summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2017-09-25 16:28:38 +0200
committerNikos Mavrogiannopoulos <nmav@redhat.com>2017-11-14 15:00:32 +0100
commitaacda69c2684c8ba3b9c5339577740fc70bcae89 (patch)
tree6e2e5d534e5166ee9c6483d5689ffad85f13eed9
parent00a267acd3030a7685907890ec87927426c0a9ad (diff)
downloadgnutls-aacda69c2684c8ba3b9c5339577740fc70bcae89.tar.gz
tests: added tests for TLS1.3 record generation / parsing
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
-rw-r--r--tests/mini-record-2.c33
1 files changed, 19 insertions, 14 deletions
diff --git a/tests/mini-record-2.c b/tests/mini-record-2.c
index a586d14336..578766b208 100644
--- a/tests/mini-record-2.c
+++ b/tests/mini-record-2.c
@@ -201,7 +201,7 @@ static void client(int fd, const char *prio, int ign)
exit(1);
}
- ret = gnutls_alert_send(session, GNUTLS_AL_WARNING, GNUTLS_A_USER_CANCELED);
+ ret = gnutls_bye(session, GNUTLS_SHUT_WR);
if (ret < 0) {
fail("server (%s): Error sending alert\n", prio);
exit(1);
@@ -230,8 +230,6 @@ static void client(int fd, const char *prio, int ign)
}
}
- gnutls_bye(session, GNUTLS_SHUT_WR);
-
end:
close(fd);
@@ -327,16 +325,14 @@ static void server(int fd, const char *prio, int ign)
} while (ret == GNUTLS_E_AGAIN
|| ret == GNUTLS_E_INTERRUPTED);
} while (ret > 0);
-
- if (ret != GNUTLS_E_WARNING_ALERT_RECEIVED ||
- gnutls_alert_get(session) != GNUTLS_A_USER_CANCELED) {
-
- if (ret <= 0) {
- if (ret != 0) {
- fail("client: Error: %s\n", gnutls_strerror(ret));
- exit(1);
- }
- }
+
+ if (ret < 0) {
+ fail("client: Error: %s\n", gnutls_strerror(ret));
+ exit(1);
+ }
+
+ if (ret != 0) {
+ fail("expected closure alert! Got: %d\n", ret);
}
/* Test sending */
@@ -369,7 +365,7 @@ static void server(int fd, const char *prio, int ign)
/* do not wait for the peer to close the connection.
*/
- gnutls_bye(session, GNUTLS_SHUT_RDWR);
+ gnutls_bye(session, GNUTLS_SHUT_WR);
close(fd);
gnutls_deinit(session);
@@ -429,6 +425,10 @@ static void start(const char *name, const char *prio, int ign)
#define CHACHA_POLY1305 "NONE:+VERS-TLS1.2:-CIPHER-ALL:+RSA:+CHACHA20-POLY1305:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ECDHE-RSA:+CURVE-ALL"
+#define TLS13_AES_GCM "NONE:+VERS-TLS1.3:-CIPHER-ALL:+RSA:+AES-128-GCM:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+GROUP-ALL"
+#define TLS13_AES_CCM "NONE:+VERS-TLS1.3:-CIPHER-ALL:+RSA:+AES-128-CCM:+MAC-ALL:+SIGN-ALL:+COMP-NULL:+GROUP-ALL"
+#define TLS13_CHACHA_POLY1305 "NONE:+VERS-TLS1.3:-CIPHER-ALL:+RSA:+CHACHA20-POLY1305:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+GROUP-ALL"
+
static void ch_handler(int sig)
{
return;
@@ -450,7 +450,12 @@ void doit(void)
start("arcfour-sha1", ARCFOUR_SHA1, 0);
start("arcfour-md5", ARCFOUR_MD5, 0);
start("chacha20-poly1305", CHACHA_POLY1305, 0);
+ start("tls13-chacha20-poly1305", TLS13_CHACHA_POLY1305, 0);
}
+
+ start("tls13-aes-gcm", TLS13_AES_GCM, 0);
+ start("tls13-aes-ccm", TLS13_AES_CCM, 0);
+
}
#endif /* _WIN32 */