summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2017-03-03 15:58:19 +0100
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2017-03-07 22:06:46 +0100
commit24525a35386d184e56f27ff29740eb8a60022c52 (patch)
tree64d77ddb350538be9a9b917d2f45deac31055cd3
parent919ceb7bb47ce7545d0b0f275844929fc5e7523b (diff)
downloadgnutls-24525a35386d184e56f27ff29740eb8a60022c52.tar.gz
gnutls_record_recv: do not accept a client hello while handshake is in progress
That is, do not return GNUTLS_E_REHANDSHAKE, while we are within a handshake process. Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
-rw-r--r--lib/record.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/record.c b/lib/record.c
index 59b5ee114c..161db622bb 100644
--- a/lib/record.c
+++ b/lib/record.c
@@ -894,6 +894,7 @@ record_add_to_buffers(gnutls_session_t session,
*/
if (session->security_parameters.entity ==
GNUTLS_SERVER
+ && session->internals.handshake_in_progress == 0
&& bufel->htype ==
GNUTLS_HANDSHAKE_CLIENT_HELLO) {
gnutls_assert();