summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2018-03-12 10:37:00 +0100
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2018-03-23 20:51:34 +0100
commit72441365445ee41795710a4685d784d20aef38be (patch)
treea8fbc31cc83893a6922b6d902fbbb762a3124833
parent47c1f6bd32eccf8a752ba8bc6949f5db38d7dd2a (diff)
downloadgnutls-72441365445ee41795710a4685d784d20aef38be.tar.gz
supported_versions: cannot be used to negotiate pre-TLS1.3
This is a requirement of draft-ietf-tls-tls13-26 Resolves #410 Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
-rw-r--r--lib/ext/supported_versions.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/ext/supported_versions.c b/lib/ext/supported_versions.c
index b2eff6be80..e9e0b88337 100644
--- a/lib/ext/supported_versions.c
+++ b/lib/ext/supported_versions.c
@@ -122,6 +122,9 @@ supported_versions_recv_params(gnutls_session_t session,
_gnutls_handshake_log("EXT[%p]: Negotiated version: %d.%d\n",
session, (int)major, (int)minor);
+ if (!vers->tls13_sem)
+ return gnutls_assert_val(GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
+
ret = _gnutls_negotiate_version(session, proto, major, minor);
if (ret < 0) {
gnutls_assert();