diff options
author | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2017-03-21 09:36:18 +0100 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2017-03-21 12:11:19 +0100 |
commit | 47ba3b7b0f60ed0796250178d6cb847d8907c9c6 (patch) | |
tree | e5df81dbeaef6feb0511b543c0c35e036eb193fa /lib/kx.c | |
parent | 80253f81c86383cc14ff092550bce35eccd40b89 (diff) | |
download | gnutls-47ba3b7b0f60ed0796250178d6cb847d8907c9c6.tar.gz |
handshake: reset cert request state on handshake init
That addresses a bug which on client side on case of an initial
handshake with a client certificate, we continue to send this
certificate even if on rehandshake we were not requested with on.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Diffstat (limited to 'lib/kx.c')
-rw-r--r-- | lib/kx.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -348,7 +348,7 @@ _gnutls_send_client_certificate_verify(gnutls_session_t session, int again) /* if certificate verify is not needed just exit */ - if (session->key.crt_requested == 0) + if (session->internals.crt_requested == 0) return 0; @@ -394,7 +394,7 @@ int _gnutls_send_client_certificate(gnutls_session_t session, int again) int ret = 0; - if (session->key.crt_requested == 0) + if (session->internals.crt_requested == 0) return 0; if (session->internals.auth_struct-> @@ -663,7 +663,7 @@ int _gnutls_recv_client_certificate(gnutls_session_t session) if (ret == GNUTLS_E_NO_CERTIFICATE_FOUND && optional != 0) ret = 0; else - session->key.crt_requested = 1; + session->internals.crt_requested = 1; cleanup: _gnutls_buffer_clear(&buf); @@ -717,7 +717,7 @@ _gnutls_recv_client_certificate_verify_message(gnutls_session_t session) return 0; if (session->internals.send_cert_req == 0 || - session->key.crt_requested == 0) { + session->internals.crt_requested == 0) { return 0; } |