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:13:46 +0100 |
commit | 2df0a482e21f3cde692a9009c18a5aba34ca23b4 (patch) | |
tree | 49e5bc3fb8e934e9d022d14b6bd744a8831f92fe /lib/kx.c | |
parent | cd5863bb2c356846fce05056a75d67d0948a9c42 (diff) | |
download | gnutls-2df0a482e21f3cde692a9009c18a5aba34ca23b4.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; } |