From 5e145e54cc6829883851ba911e391cafc70da9f3 Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Fri, 11 May 2012 13:33:34 +0000 Subject: [PATCH] PR: 2811 Reported by: Phil Pennock Make renegotiation work for TLS 1.2, 1.1 by not using a lower record version client hello workaround if renegotiating. --- CHANGES | 8 +++++++- ssl/s3_pkt.c | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index e5802a833f..49c5de5191 100644 --- a/CHANGES +++ b/CHANGES @@ -52,7 +52,13 @@ certificates. [Steve Henson] - Changes between 1.0.1b and 1.0.1c [xx XXX xxxx] + Changes between 1.0.1c and 1.0.1d [xx XXX xxxx] + + *) Don't use TLS 1.0 record version number in initial client hello + if renegotiating. + [Steve Henson] + + Changes between 1.0.1b and 1.0.1c [10 May 2012] *) Sanity check record length before skipping explicit IV in TLS 1.2, 1.1 and DTLS to avoid DoS attack. diff --git a/ssl/s3_pkt.c b/ssl/s3_pkt.c index adf8c387cc..f71c03b58d 100644 --- a/ssl/s3_pkt.c +++ b/ssl/s3_pkt.c @@ -744,6 +744,7 @@ static int do_ssl3_write(SSL *s, int type, const unsigned char *buf, * bytes and record version number > TLS 1.0 */ if (s->state == SSL3_ST_CW_CLNT_HELLO_B + && !s->renegotiate && TLS1_get_version(s) > TLS1_VERSION) *(p++) = 0x1; else -- 2.25.1