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:11:19 +0100
commit47ba3b7b0f60ed0796250178d6cb847d8907c9c6 (patch)
treee5df81dbeaef6feb0511b543c0c35e036eb193fa /lib/kx.c
parent80253f81c86383cc14ff092550bce35eccd40b89 (diff)
downloadgnutls-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.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;
}