[Pkg-openssl-changes] r671 - openssl/branches/squeeze/debian/patches
Kurt Roeckx
kroeckx at moszumanska.debian.org
Thu Jun 5 19:15:27 UTC 2014
Author: kroeckx
Date: 2014-06-05 19:15:27 +0000 (Thu, 05 Jun 2014)
New Revision: 671
Modified:
openssl/branches/squeeze/debian/patches/CVE-2014-0195.patch
Log:
Use correct patch.
Modified: openssl/branches/squeeze/debian/patches/CVE-2014-0195.patch
===================================================================
--- openssl/branches/squeeze/debian/patches/CVE-2014-0195.patch 2014-06-05 19:03:40 UTC (rev 670)
+++ openssl/branches/squeeze/debian/patches/CVE-2014-0195.patch 2014-06-05 19:15:27 UTC (rev 671)
@@ -1,83 +1,21 @@
-diff --git a/ssl/s3_clnt.c b/ssl/s3_clnt.c
-index a6b3c01..c99a4c4 100644
---- a/ssl/s3_clnt.c
-+++ b/ssl/s3_clnt.c
-@@ -559,6 +559,7 @@ int ssl3_connect(SSL *s)
- case SSL3_ST_CR_FINISHED_A:
- case SSL3_ST_CR_FINISHED_B:
-
-+ s->s3->flags |= SSL3_FLAGS_CCS_OK;
- ret=ssl3_get_finished(s,SSL3_ST_CR_FINISHED_A,
- SSL3_ST_CR_FINISHED_B);
- if (ret <= 0) goto end;
-@@ -915,6 +916,7 @@ int ssl3_get_server_hello(SSL *s)
- SSLerr(SSL_F_SSL3_GET_SERVER_HELLO,SSL_R_ATTEMPT_TO_REUSE_SESSION_IN_DIFFERENT_CONTEXT);
- goto f_err;
+diff --git a/ssl/d1_both.c b/ssl/d1_both.c
+index 01d7242..3426a0a 100644
+--- a/ssl/d1_both.c
++++ b/ssl/d1_both.c
+@@ -621,7 +621,16 @@ dtls1_reassemble_fragment(SSL *s, struct hm_header_st* msg_hdr, int *ok)
+ frag->msg_header.frag_off = 0;
}
-+ s->s3->flags |= SSL3_FLAGS_CCS_OK;
- s->hit=1;
- }
- else /* a miss or crap from the other end */
-diff --git a/ssl/s3_pkt.c b/ssl/s3_pkt.c
-index 6bc8bf9..98c36e6 100644
---- a/ssl/s3_pkt.c
-+++ b/ssl/s3_pkt.c
-@@ -1316,6 +1316,15 @@ start:
- goto f_err;
- }
-
-+ if (!(s->s3->flags & SSL3_FLAGS_CCS_OK))
+ else
++ {
+ frag = (hm_fragment*) item->data;
++ if (frag->msg_header.msg_len != msg_hdr->msg_len)
+ {
-+ al=SSL_AD_UNEXPECTED_MESSAGE;
-+ SSLerr(SSL_F_SSL3_READ_BYTES,SSL_R_CCS_RECEIVED_EARLY);
-+ goto f_err;
++ item = NULL;
++ frag = NULL;
++ goto err;
+ }
++ }
+
-+ s->s3->flags &= ~SSL3_FLAGS_CCS_OK;
-+
- rr->length=0;
- if (s->msg_callback)
-diff --git a/ssl/s3_srvr.c b/ssl/s3_srvr.c
-index 5ac4119..503bed3 100644
---- a/ssl/s3_srvr.c
-+++ b/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
-diff --git a/ssl/ssl3.h b/ssl/ssl3.h
-index cb8b249..37f19e3 100644
---- a/ssl/ssl3.h
-+++ b/ssl/ssl3.h
-@@ -388,6 +388,7 @@ typedef struct ssl3_buffer_st
- #define TLS1_FLAGS_TLS_PADDING_BUG 0x0008
- #define TLS1_FLAGS_SKIP_CERT_VERIFY 0x0010
- #define TLS1_FLAGS_KEEP_HANDSHAKE 0x0020
-+#define SSL3_FLAGS_CCS_OK 0x0080
-
- /* SSL3_FLAGS_SGC_RESTART_DONE is set when we
- * restart a handshake because of MS SGC and so prevents us
+ /* If message is already reassembled, this must be a
+ * retransmit and can be dropped.
More information about the Pkg-openssl-changes
mailing list