diff options
author | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2017-09-15 13:54:25 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2018-02-19 15:29:34 +0100 |
commit | 3e796a094e68e12bc05d4959dfb6abe46293d47a (patch) | |
tree | 408050a7870315e95e849aa7f60f00fbcc2bfc80 /lib/record.c | |
parent | e2c71dbca74f0ad4ac20a214536f25b1bc6b059e (diff) | |
download | gnutls-3e796a094e68e12bc05d4959dfb6abe46293d47a.tar.gz |
handshake: parse new session ticket message
That does not include extension handling.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Diffstat (limited to 'lib/record.c')
-rw-r--r-- | lib/record.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/record.c b/lib/record.c index 5be4ba3094..44585078f9 100644 --- a/lib/record.c +++ b/lib/record.c @@ -756,6 +756,7 @@ record_add_to_buffers(gnutls_session_t session, { int ret; + const version_entry_st *ver = get_version(session); if ((recv->type == type) && (type == GNUTLS_APPLICATION_DATA || @@ -912,6 +913,22 @@ record_add_to_buffers(gnutls_session_t session, } } + /* retrieve async handshake messages */ + if (ver->tls13_sem) { + gnutls_buffer_st buf; + + _gnutls_ro_buffer_from_datum(&buf, &bufel->msg); + ret = _gnutls13_recv_async_handshake(session, + &buf); + if (ret < 0) { + gnutls_assert(); + } else { + ret = GNUTLS_E_AGAIN; + } + + goto cleanup; + } + /* This is legal if HELLO_REQUEST is received - and we are a client. * If we are a server, a client may initiate a renegotiation at any time. */ |