diff options
author | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2017-09-29 10:10:48 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2018-02-19 15:29:35 +0100 |
commit | 0acb5e17686fb6261f6129391aa7f81cc959114a (patch) | |
tree | bf5f8da7b0de35ad2d1c7a7cc8372c52dd294f28 /lib/record.c | |
parent | 344633626c9c497a61d975f22f83f227934b4c21 (diff) | |
download | gnutls-0acb5e17686fb6261f6129391aa7f81cc959114a.tar.gz |
handshake: accept hello retry request in client side
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Diffstat (limited to 'lib/record.c')
-rw-r--r-- | lib/record.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/record.c b/lib/record.c index 039ce0f140..83c8427c41 100644 --- a/lib/record.c +++ b/lib/record.c @@ -685,6 +685,7 @@ record_check_version(gnutls_session_t session, if (!IS_DTLS(session)) { if (htype == GNUTLS_HANDSHAKE_CLIENT_HELLO || + htype == GNUTLS_HANDSHAKE_HELLO_RETRY_REQUEST || htype == GNUTLS_HANDSHAKE_SERVER_HELLO) { if (version[0] != 3) { gnutls_assert(); @@ -853,7 +854,9 @@ record_add_to_buffers(gnutls_session_t session, * reasons). Otherwise it is an unexpected packet */ if (type == GNUTLS_ALERT - || ((htype == GNUTLS_HANDSHAKE_SERVER_HELLO || htype == GNUTLS_HANDSHAKE_CLIENT_HELLO) + || ((htype == GNUTLS_HANDSHAKE_SERVER_HELLO || + htype == GNUTLS_HANDSHAKE_CLIENT_HELLO || + htype == GNUTLS_HANDSHAKE_HELLO_RETRY_REQUEST) && type == GNUTLS_HANDSHAKE)) { /* even if data is unexpected put it into the buffer */ _gnutls_record_buffer_put(session, recv->type, |