Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Side by Side Diff: net/third_party/nss/ssl/ssl3con.c

Issue 10221018: net: don't set NSS options in a callback. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ... Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « net/third_party/nss/patches/falsestartnpn2.patch ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /* 2 /*
3 * SSL3 Protocol 3 * SSL3 Protocol
4 * 4 *
5 * ***** BEGIN LICENSE BLOCK ***** 5 * ***** BEGIN LICENSE BLOCK *****
6 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 6 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
7 * 7 *
8 * The contents of this file are subject to the Mozilla Public License Version 8 * The contents of this file are subject to the Mozilla Public License Version
9 * 1.1 (the "License"); you may not use this file except in compliance with 9 * 1.1 (the "License"); you may not use this file except in compliance with
10 * the License. You may obtain a copy of the License at 10 * the License. You may obtain a copy of the License at
(...skipping 6090 matching lines...) Expand 10 before | Expand all | Expand 10 after
6101 /* XXX: does not take into account whether we are waiting for 6101 /* XXX: does not take into account whether we are waiting for
6102 * SSL_AuthCertificateComplete or SSL_RestartHandshakeAfterCertReq. If/when 6102 * SSL_AuthCertificateComplete or SSL_RestartHandshakeAfterCertReq. If/when
6103 * that is done, this function could return different results each time it 6103 * that is done, this function could return different results each time it
6104 * would be called. 6104 * would be called.
6105 */ 6105 */
6106 6106
6107 ssl_GetSpecReadLock(ss); 6107 ssl_GetSpecReadLock(ss);
6108 rv = ss->opt.enableFalseStart && 6108 rv = ss->opt.enableFalseStart &&
6109 !ss->sec.isServer && 6109 !ss->sec.isServer &&
6110 !ss->ssl3.hs.isResuming && 6110 !ss->ssl3.hs.isResuming &&
6111 /* This check for NPN is performed here because we can't call
6112 * SSL_HandshakeNegotiatedExtension in the auth callback because of
6113 * lock ordering issues. See crbug.com/125299 */
6114 ssl3_ExtensionNegotiated(ss, ssl_next_proto_nego_xtn) &&
6111 ss->ssl3.cwSpec && 6115 ss->ssl3.cwSpec &&
6112 6116
6113 /* An attacker can control the selected ciphersuite so we only wish to 6117 /* An attacker can control the selected ciphersuite so we only wish to
6114 * do False Start in the case that the selected ciphersuite is 6118 * do False Start in the case that the selected ciphersuite is
6115 * sufficiently strong that the attack can gain no advantage. 6119 * sufficiently strong that the attack can gain no advantage.
6116 * Therefore we require an 80-bit cipher and a forward-secret key 6120 * Therefore we require an 80-bit cipher and a forward-secret key
6117 * exchange. */ 6121 * exchange. */
6118 ss->ssl3.cwSpec->cipher_def->secret_key_size >= 10 && 6122 ss->ssl3.cwSpec->cipher_def->secret_key_size >= 10 &&
6119 (ss->ssl3.hs.kea_def->kea == kea_dhe_dss || 6123 (ss->ssl3.hs.kea_def->kea == kea_dhe_dss ||
6120 ss->ssl3.hs.kea_def->kea == kea_dhe_rsa || 6124 ss->ssl3.hs.kea_def->kea == kea_dhe_rsa ||
(...skipping 4339 matching lines...) Expand 10 before | Expand all | Expand 10 after
10460 PORT_Free(ss->ssl3.hs.recvdFragments.buf); 10464 PORT_Free(ss->ssl3.hs.recvdFragments.buf);
10461 } 10465 }
10462 } 10466 }
10463 10467
10464 ss->ssl3.initialized = PR_FALSE; 10468 ss->ssl3.initialized = PR_FALSE;
10465 10469
10466 SECITEM_FreeItem(&ss->ssl3.nextProto, PR_FALSE); 10470 SECITEM_FreeItem(&ss->ssl3.nextProto, PR_FALSE);
10467 } 10471 }
10468 10472
10469 /* End of ssl3con.c */ 10473 /* End of ssl3con.c */
OLDNEW
« no previous file with comments | « net/third_party/nss/patches/falsestartnpn2.patch ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698