diff options
author | Matt Caswell <matt@openssl.org> | 2016-11-22 16:54:28 +0000 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2017-01-23 14:04:44 +0000 |
commit | 23573051a57ec68fe53f7fd0c3aa75ac6033c496 (patch) | |
tree | 05d822835f5ea35acb7b094fdfdb0686bf670169 /ssl | |
parent | 10305baf26f1a43348e855266ed1f21840ec3d7d (diff) |
Stop server from expecting Certificate message when not requested
In a non client-auth renegotiation where the original handshake *was*
client auth, then the server will expect the client to send a Certificate
message anyway resulting in a connection failure.
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1982)
Diffstat (limited to 'ssl')
-rw-r--r-- | ssl/statem/statem.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/ssl/statem/statem.c b/ssl/statem/statem.c index f39a529463..51a9266e42 100644 --- a/ssl/statem/statem.c +++ b/ssl/statem/statem.c @@ -347,6 +347,8 @@ static int state_machine(SSL *s, int server) */ s->ctx->stats.sess_accept_renegotiate++; } + + s->s3->tmp.cert_request = 0; } else { s->ctx->stats.sess_connect++; @@ -354,7 +356,6 @@ static int state_machine(SSL *s, int server) memset(s->s3->client_random, 0, sizeof(s->s3->client_random)); s->hit = 0; - s->s3->tmp.cert_request = 0; s->s3->tmp.cert_req = 0; if (SSL_IS_DTLS(s)) { |