Bug 937976: Use a random value for the gmt_unix_time field in ClientHello and ServerHello random fields, r=agl
authorBrian Smith <brian@briansmith.org>
Wed, 13 Nov 2013 18:00:24 -0800
changeset 10929 99b8adde480ec3c6d2395bee9f5a622538d0e784
parent 10928 e4a168fd75eece8df084d30fd028bc1c946d108f
child 10930 8adcf844964d34a3fe6b376d662a07b76e5dcff4
push id214
push userbrian@briansmith.org
push dateThu, 14 Nov 2013 05:07:23 +0000
reviewersagl
bugs937976
Bug 937976: Use a random value for the gmt_unix_time field in ClientHello and ServerHello random fields, r=agl
lib/ssl/ssl3con.c
--- a/lib/ssl/ssl3con.c
+++ b/lib/ssl/ssl3con.c
@@ -860,26 +860,20 @@ ssl3_NegotiateVersion(sslSocket *ss, SSL
     PORT_Assert(ssl3_VersionIsSupported(ss->protocolVariant, ss->version));
 
     return SECSuccess;
 }
 
 static SECStatus
 ssl3_GetNewRandom(SSL3Random *random)
 {
-    PRUint32 gmt = ssl_Time();
     SECStatus rv;
 
-    random->rand[0] = (unsigned char)(gmt >> 24);
-    random->rand[1] = (unsigned char)(gmt >> 16);
-    random->rand[2] = (unsigned char)(gmt >>  8);
-    random->rand[3] = (unsigned char)(gmt);
-
     /* first 4 bytes are reserverd for time */
-    rv = PK11_GenerateRandom(&random->rand[4], SSL3_RANDOM_LENGTH - 4);
+    rv = PK11_GenerateRandom(random->rand, SSL3_RANDOM_LENGTH);
     if (rv != SECSuccess) {
 	ssl_MapLowLevelError(SSL_ERROR_GENERATE_RANDOM_FAILURE);
     }
     return rv;
 }
 
 /* Called by ssl3_SendServerKeyExchange and ssl3_SendCertificateVerify */
 SECStatus