summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/cli-debug.c3
-rw-r--r--src/tests.c22
-rw-r--r--src/tests.h1
3 files changed, 26 insertions, 0 deletions
diff --git a/src/cli-debug.c b/src/cli-debug.c
index 2b0f88e2e3..899edd4938 100644
--- a/src/cli-debug.c
+++ b/src/cli-debug.c
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2000-2012 Free Software Foundation, Inc.
+ * Copyright (C) 2017 Red Hat, Inc.
*
* This file is part of GnuTLS.
*
@@ -142,6 +143,8 @@ static const TLS_TEST tls_tests[] = {
#endif
{"for ephemeral Diffie-Hellman support", test_dhe, "yes", "no",
"dunno"},
+ {"for RFC7919 Diffie-Hellman support", test_rfc7919, "yes", "no",
+ "dunno"},
{"ephemeral Diffie-Hellman group info", test_dhe_group, NULL, "N/A",
"N/A"},
{"for ephemeral EC Diffie-Hellman support", test_ecdhe, "yes",
diff --git a/src/tests.c b/src/tests.c
index be5150d2c6..92c1bd20c4 100644
--- a/src/tests.c
+++ b/src/tests.c
@@ -202,6 +202,28 @@ test_code_t test_dhe(gnutls_session_t session)
return TEST_IGNORE;
}
+test_code_t test_rfc7919(gnutls_session_t session)
+{
+#ifdef ENABLE_DHE
+ int ret;
+
+ sprintf(prio_str, INIT_STR
+ ALL_CIPHERS ":" ALL_COMP ":" ALL_CERTTYPES ":%s:" ALL_MACS
+ ":+DHE-RSA:+DHE-DSS:+GROUP-ALL:%s", protocol_str, rest);
+ _gnutls_priority_set_direct(session, prio_str);
+
+ gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
+
+ ret = do_handshake(session);
+
+ if (ret != TEST_FAILED && (gnutls_session_get_flags(session) & GNUTLS_SFLAGS_RFC7919))
+ return TEST_SUCCEED;
+ else
+ return TEST_FAILED;
+#endif
+ return TEST_IGNORE;
+}
+
test_code_t test_ecdhe(gnutls_session_t session)
{
int ret;
diff --git a/src/tests.h b/src/tests.h
index 7f938b86de..78fd842ddb 100644
--- a/src/tests.h
+++ b/src/tests.h
@@ -30,6 +30,7 @@ test_code_t test_heartbeat_extension(gnutls_session_t state);
test_code_t test_small_records(gnutls_session_t state);
test_code_t test_rfc7507(gnutls_session_t state);
test_code_t test_dhe(gnutls_session_t state);
+test_code_t test_rfc7919(gnutls_session_t state);
test_code_t test_dhe_group(gnutls_session_t state);
test_code_t test_ssl3(gnutls_session_t state);
test_code_t test_aes(gnutls_session_t state);