OLD | NEW |
| (Empty) |
1 diff -pu -r a/net/third_party/nss/ssl/ssl3con.c b/net/third_party/nss/ssl/ssl3co
n.c | |
2 --- a/net/third_party/nss/ssl/ssl3con.c 2012-11-09 15:53:13.884846338 -0800 | |
3 +++ b/net/third_party/nss/ssl/ssl3con.c 2012-11-09 15:54:18.975797410 -0800 | |
4 @@ -6244,10 +6244,17 @@ ssl3_CanFalseStart(sslSocket *ss) { | |
5 !ss->sec.isServer && | |
6 !ss->ssl3.hs.isResuming && | |
7 ss->ssl3.cwSpec && | |
8 + | |
9 + /* An attacker can control the selected ciphersuite so we only wish to | |
10 + * do False Start in the case that the selected ciphersuite is | |
11 + * sufficiently strong that the attack can gain no advantage. | |
12 + * Therefore we require an 80-bit cipher and a forward-secret key | |
13 + * exchange. */ | |
14 ss->ssl3.cwSpec->cipher_def->secret_key_size >= 10 && | |
15 - (ss->ssl3.hs.kea_def->exchKeyType == ssl_kea_rsa || | |
16 - ss->ssl3.hs.kea_def->exchKeyType == ssl_kea_dh || | |
17 - ss->ssl3.hs.kea_def->exchKeyType == ssl_kea_ecdh); | |
18 + (ss->ssl3.hs.kea_def->kea == kea_dhe_dss || | |
19 + ss->ssl3.hs.kea_def->kea == kea_dhe_rsa || | |
20 + ss->ssl3.hs.kea_def->kea == kea_ecdhe_ecdsa || | |
21 + ss->ssl3.hs.kea_def->kea == kea_ecdhe_rsa); | |
22 ssl_ReleaseSpecReadLock(ss); | |
23 return rv; | |
24 } | |
25 diff -pu -r a/net/third_party/nss/ssl/ssl3ext.c b/net/third_party/nss/ssl/ssl3ex
t.c | |
26 --- a/net/third_party/nss/ssl/ssl3ext.c 2012-11-09 15:39:36.842891686 -0800 | |
27 +++ b/net/third_party/nss/ssl/ssl3ext.c 2012-11-09 15:56:10.157421377 -0800 | |
28 @@ -537,6 +537,12 @@ ssl3_ServerHandleNextProtoNegoXtn(sslSoc | |
29 return SECFailure; | |
30 } | |
31 | |
32 + ss->xtnData.negotiated[ss->xtnData.numNegotiated++] = ex_type; | |
33 + | |
34 + /* TODO: server side NPN support would require calling | |
35 + * ssl3_RegisterServerHelloExtensionSender here in order to echo the | |
36 + * extension back to the client. */ | |
37 + | |
38 return SECSuccess; | |
39 } | |
40 | |
41 @@ -605,6 +611,8 @@ ssl3_ClientHandleNextProtoNegoXtn(sslSoc | |
42 return SECFailure; | |
43 } | |
44 | |
45 + ss->xtnData.negotiated[ss->xtnData.numNegotiated++] = ex_type; | |
46 + | |
47 SECITEM_FreeItem(&ss->ssl3.nextProto, PR_FALSE); | |
48 return SECITEM_CopyItem(NULL, &ss->ssl3.nextProto, &result); | |
49 } | |
OLD | NEW |