According to TLSv1.3 draft-24 the record version for ClientHello2 should
be TLS1.2, and not TLS1.0 as it is now.
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5377)
* and record version number > TLS 1.0
*/
if (SSL_get_state(s) == TLS_ST_CW_CLNT_HELLO
- && !s->renegotiate && TLS1_get_version(s) > TLS1_VERSION)
+ && !s->renegotiate
+ && TLS1_get_version(s) > TLS1_VERSION
+ && s->hello_retry_request == SSL_HRR_NONE)
version = TLS1_VERSION;
maxcomplen = pipelens[j];
return 0;
if (msgtype == SSL3_MT_CLIENT_HELLO) {
chseen++;
- expectedrecvers = TLS1_VERSION;
+
/*
* Skip legacy_version (2 bytes) and Random (32 bytes) to read
* session_id.
return 0;
if (chseen == 1) {
+ expectedrecvers = TLS1_VERSION;
+
/* Save the session id for later */
chsessidlen = PACKET_remaining(&sessionid);
if (!PACKET_copy_bytes(&sessionid, chsessid, chsessidlen))