summaryrefslogtreecommitdiff
path: root/lib/kx.c
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2017-03-21 09:36:18 +0100
committerNikos Mavrogiannopoulos <nmav@redhat.com>2017-03-21 12:13:46 +0100
commit2df0a482e21f3cde692a9009c18a5aba34ca23b4 (patch)
tree49e5bc3fb8e934e9d022d14b6bd744a8831f92fe /lib/kx.c
parentcd5863bb2c356846fce05056a75d67d0948a9c42 (diff)
downloadgnutls-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.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/kx.c b/lib/kx.c
index 18ce07c2f1..ef19563191 100644
--- a/lib/kx.c
+++ b/lib/kx.c
@@ -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;
}