summaryrefslogtreecommitdiff
path: root/lib/gnutls_int.h
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2018-07-02 09:56:35 +0200
committerNikos Mavrogiannopoulos <nmav@redhat.com>2018-07-12 11:57:02 +0200
commitdf738136a71b545c61e639edee7bad4f68271bcc (patch)
tree70faf951e14ba13755755c2ae7c0f51650fd1997 /lib/gnutls_int.h
parente9ca732cd9d6e98131bff4b6cebcbf3885dacba0 (diff)
downloadgnutls-tmp-fix-multi-async-msg.tar.gz
_gnutls13_recv_async_handshake: process multiple and split handshake messagestmp-fix-multi-async-msg
It is permitted to concatenate multiple async handshake messages in a single record message as well as split large messages (NST) into multiple records. Modified _gnutls13_recv_async_handshake() to process them correctly, instead of assuming that they are formatted as one message per record. Resolves #510 Resolves #504 Relates #511 Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Diffstat (limited to 'lib/gnutls_int.h')
-rw-r--r--lib/gnutls_int.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/gnutls_int.h b/lib/gnutls_int.h
index 99287b3726..6525282a69 100644
--- a/lib/gnutls_int.h
+++ b/lib/gnutls_int.h
@@ -300,7 +300,8 @@ typedef enum recv_state_t {
RECV_STATE_0 = 0,
RECV_STATE_DTLS_RETRANSMIT,
RECV_STATE_FALSE_START_HANDLING, /* we are calling gnutls_handshake() within record_recv() */
- RECV_STATE_FALSE_START /* gnutls_record_recv() should complete the handshake */
+ RECV_STATE_FALSE_START, /* gnutls_record_recv() should complete the handshake */
+ RECV_STATE_ASYNC_HANDSHAKE /* an incomplete async handshake message was seen */
} recv_state_t;
#include "str.h"