Stop client from sending Certificate message when not requested
authorMatt Caswell <matt@openssl.org>
Tue, 22 Nov 2016 16:39:27 +0000 (16:39 +0000)
committerMatt Caswell <matt@openssl.org>
Mon, 23 Jan 2017 14:04:44 +0000 (14:04 +0000)
In a non client-auth renegotiation where the original handshake *was*
client auth, then the client will send a Certificate message anyway
resulting in a connection failure.

Fixes #1920

Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1982)

ssl/statem/statem.c

index a1da2a4418d112eac0f88beb28b6428065bbc0f6..f39a52946304ed5c5f1bc148ff7368ff24d5f56f 100644 (file)
@@ -355,6 +355,7 @@ static int state_machine(SSL *s, int server)
             s->hit = 0;
 
             s->s3->tmp.cert_request = 0;
+            s->s3->tmp.cert_req = 0;
 
             if (SSL_IS_DTLS(s)) {
                 st->use_timer = 1;