Reported by: Phil Pennock <openssl-dev@spodhuis.org>

Make renegotiation work for TLS 1.2, 1.1 by not using a lower record
version client hello workaround if renegotiating.
This commit is contained in:
Dr. Stephen Henson 2012-05-11 13:34:29 +00:00
parent 5762f7778d
commit c3b1303387
2 changed files with 8 additions and 2 deletions

View File

@ -289,8 +289,13 @@
whose return value is often ignored.
[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.

View File

@ -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