summaryrefslogtreecommitdiff
path: root/tests/dtls-rehandshake-cert-2.c
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2018-03-13 15:46:16 +0100
committerNikos Mavrogiannopoulos <nmav@redhat.com>2018-03-19 17:19:18 +0100
commit80f182e8c205d3b25fedbc629d71abcd2483739e (patch)
tree4958e8376546928ee63f8181fcf8a0342b399927 /tests/dtls-rehandshake-cert-2.c
parent671826acc0893f05712266a49dac4851c6523bb7 (diff)
downloadgnutls-80f182e8c205d3b25fedbc629d71abcd2483739e.tar.gz
tests: updated for TLS1.3 inclusion
This moves the test to use a specific version or test multiple TLS versions if applicable. Resolves #413 Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Diffstat (limited to 'tests/dtls-rehandshake-cert-2.c')
-rw-r--r--tests/dtls-rehandshake-cert-2.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/tests/dtls-rehandshake-cert-2.c b/tests/dtls-rehandshake-cert-2.c
index dad82ee6bf..e16372b5ef 100644
--- a/tests/dtls-rehandshake-cert-2.c
+++ b/tests/dtls-rehandshake-cert-2.c
@@ -80,7 +80,7 @@ static ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
return send(fd, data, len, 0);
}
-static void client(int fd, int server_init)
+static void client(int fd, int server_init, const char *prio)
{
int ret;
char buffer[MAX_BUF + 1];
@@ -103,8 +103,9 @@ static void client(int fd, int server_init)
gnutls_init(&session, GNUTLS_CLIENT | GNUTLS_DATAGRAM);
gnutls_dtls_set_mtu(session, 1500);
+ snprintf(buffer, sizeof(buffer), "%s:+ANON-ECDH", prio);
assert(gnutls_priority_set_direct(session,
- "NONE:+VERS-DTLS-ALL:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ANON-ECDH:+CURVE-ALL",
+ buffer,
NULL) >= 0);
gnutls_credentials_set(session, GNUTLS_CRD_ANON, anoncred);
@@ -135,8 +136,9 @@ static void client(int fd, int server_init)
(gnutls_protocol_get_version(session)));
/* update priorities to allow cert auth */
+ snprintf(buffer, sizeof(buffer), "%s:+ECDHE-RSA", prio);
assert(gnutls_priority_set_direct(session,
- "NONE:+VERS-DTLS-ALL:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ECDHE-RSA:+CURVE-ALL",
+ buffer,
NULL) >= 0);
if (!server_init) {
@@ -209,7 +211,7 @@ static void terminate(void)
exit(1);
}
-static void server(int fd, int server_init)
+static void server(int fd, int server_init, const char *prio)
{
int ret;
char buffer[MAX_BUF + 1];
@@ -237,8 +239,9 @@ static void server(int fd, int server_init)
/* avoid calling all the priority functions, since the defaults
* are adequate.
*/
+ snprintf(buffer, sizeof(buffer), "%s:+ECDHE-RSA:+ANON-ECDH", prio);
assert(gnutls_priority_set_direct(session,
- "NONE:+VERS-DTLS-ALL:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+ECDHE-RSA:+ANON-ECDH:+CURVE-ALL",
+ buffer,
NULL) >= 0);
gnutls_credentials_set(session, GNUTLS_CRD_ANON, anoncred);
@@ -356,7 +359,7 @@ static void server(int fd, int server_init)
success("server: finished\n");
}
-static void start(int server_initiated)
+static void start(int server_initiated, const char *prio)
{
int fd[2];
int ret;
@@ -378,20 +381,20 @@ static void start(int server_initiated)
int status = 0;
/* parent */
- server(fd[0], server_initiated);
+ server(fd[0], server_initiated, prio);
wait(&status);
check_wait_status(status);
} else {
close(fd[0]);
- client(fd[1], server_initiated);
+ client(fd[1], server_initiated, prio);
exit(0);
}
}
void doit(void)
{
- start(0);
- start(1);
+ start(0, "NONE:+VERS-DTLS1.2:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+CURVE-ALL");
+ start(1, "NONE:+VERS-DTLS1.2:+CIPHER-ALL:+MAC-ALL:+SIGN-ALL:+COMP-ALL:+CURVE-ALL");
}
#endif /* _WIN32 */