diff options
author | delphij <delphij@FreeBSD.org> | 2014-06-05 12:32:38 +0000 |
---|---|---|
committer | delphij <delphij@FreeBSD.org> | 2014-06-05 12:32:38 +0000 |
commit | 4eacd73a8c1dd9939188b309ac413bfb904e3970 (patch) | |
tree | 2465417b8ae089f4a53a7861be98e958c8995007 /crypto/openssl/ssl/s3_srvr.c | |
parent | 36860d519d0a34db28a9bbdb19607cfc38dd778b (diff) | |
download | FreeBSD-src-4eacd73a8c1dd9939188b309ac413bfb904e3970.zip FreeBSD-src-4eacd73a8c1dd9939188b309ac413bfb904e3970.tar.gz |
Fix OpenSSL multiple vulnerabilities.
Security: CVE-2014-0195, CVE-2014-0221, CVE-2014-0224,
CVE-2014-3470
Security: SA-14:14.openssl
Diffstat (limited to 'crypto/openssl/ssl/s3_srvr.c')
-rw-r--r-- | crypto/openssl/ssl/s3_srvr.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/crypto/openssl/ssl/s3_srvr.c b/crypto/openssl/ssl/s3_srvr.c index 9ac19c0..0eb8b28 100644 --- a/crypto/openssl/ssl/s3_srvr.c +++ b/crypto/openssl/ssl/s3_srvr.c @@ -673,6 +673,7 @@ int ssl3_accept(SSL *s) case SSL3_ST_SR_CERT_VRFY_A: case SSL3_ST_SR_CERT_VRFY_B: + s->s3->flags |= SSL3_FLAGS_CCS_OK; /* we should decide if we expected this one */ ret=ssl3_get_cert_verify(s); if (ret <= 0) goto end; @@ -700,6 +701,7 @@ int ssl3_accept(SSL *s) case SSL3_ST_SR_FINISHED_A: case SSL3_ST_SR_FINISHED_B: + s->s3->flags |= SSL3_FLAGS_CCS_OK; ret=ssl3_get_finished(s,SSL3_ST_SR_FINISHED_A, SSL3_ST_SR_FINISHED_B); if (ret <= 0) goto end; @@ -770,7 +772,10 @@ int ssl3_accept(SSL *s) s->s3->tmp.next_state=SSL3_ST_SR_FINISHED_A; #else if (s->s3->next_proto_neg_seen) + { + s->s3->flags |= SSL3_FLAGS_CCS_OK; s->s3->tmp.next_state=SSL3_ST_SR_NEXT_PROTO_A; + } else s->s3->tmp.next_state=SSL3_ST_SR_FINISHED_A; #endif |