Don't change client random in Client Hello in its second flight
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
Sun, 8 Oct 2017 14:37:01 +0000 (23:37 +0900)
committerMatt Caswell <matt@openssl.org>
Tue, 10 Oct 2017 08:51:53 +0000 (09:51 +0100)
Reviewed-by: Ben Kaduk <kaduk@mit.edu>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/4490)

ssl/statem/statem_clnt.c

index 2ad33f2e7c8f916719ee71ddf3362d9c9ce69291..88c08890234378f12f4cfac902edc3a9e584ad57 100644 (file)
@@ -1035,8 +1035,9 @@ int tls_construct_client_hello(SSL *s, WPACKET *pkt)
                 break;
             }
         }
-    } else
-        i = 1;
+    } else {
+        i = s->hello_retry_request == 0;
+    }
 
     if (i && ssl_fill_hello_random(s, 0, p, sizeof(s->s3->client_random),
                                    DOWNGRADE_NONE) <= 0)