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

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

Issue 111853013: Update net/third_party/nss to NSS 3.15.4. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Add CT TLS extension bug number Created 6 years, 11 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
OLDNEW
1 /* 1 /*
2 * SSL v2 handshake functions, and functions common to SSL2 and SSL3. 2 * SSL v2 handshake functions, and functions common to SSL2 and SSL3.
3 * 3 *
4 * This Source Code Form is subject to the terms of the Mozilla Public 4 * This Source Code Form is subject to the terms of the Mozilla Public
5 * License, v. 2.0. If a copy of the MPL was not distributed with this 5 * License, v. 2.0. If a copy of the MPL was not distributed with this
6 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 6 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 7
8 #include "nssrenam.h" 8 #include "nssrenam.h"
9 #include "cert.h" 9 #include "cert.h"
10 #include "secitem.h" 10 #include "secitem.h"
11 #include "sechash.h" 11 #include "sechash.h"
12 #include "cryptohi.h" /* for SGN_ funcs */ 12 #include "cryptohi.h" /* for SGN_ funcs */
13 #include "keyhi.h" /* for SECKEY_ high level functions. */ 13 #include "keyhi.h" /* for SECKEY_ high level functions. */
14 #include "ssl.h" 14 #include "ssl.h"
15 #include "sslimpl.h" 15 #include "sslimpl.h"
16 #include "sslproto.h" 16 #include "sslproto.h"
17 #include "ssl3prot.h" 17 #include "ssl3prot.h"
18 #include "sslerr.h" 18 #include "sslerr.h"
19 #include "pk11func.h" 19 #include "pk11func.h"
20 #include "prinit.h" 20 #include "prinit.h"
21 #include "prtime.h" /* for PR_Now() */ 21 #include "prtime.h" /* for PR_Now() */
22 22
23 #define XXX
24 static PRBool policyWasSet; 23 static PRBool policyWasSet;
25 24
26 /* This ordered list is indexed by (SSL_CK_xx * 3) */ 25 /* This ordered list is indexed by (SSL_CK_xx * 3) */
27 /* Second and third bytes are MSB and LSB of master key length. */ 26 /* Second and third bytes are MSB and LSB of master key length. */
28 static const PRUint8 allCipherSuites[] = { 27 static const PRUint8 allCipherSuites[] = {
29 0, 0, 0, 28 0, 0, 0,
30 SSL_CK_RC4_128_WITH_MD5, 0x00, 0x80, 29 SSL_CK_RC4_128_WITH_MD5, 0x00, 0x80,
31 SSL_CK_RC4_128_EXPORT40_WITH_MD5, 0x00, 0x80, 30 SSL_CK_RC4_128_EXPORT40_WITH_MD5, 0x00, 0x80,
32 SSL_CK_RC2_128_CBC_WITH_MD5, 0x00, 0x80, 31 SSL_CK_RC2_128_CBC_WITH_MD5, 0x00, 0x80,
33 SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5, 0x00, 0x80, 32 SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5, 0x00, 0x80,
(...skipping 587 matching lines...) Expand 10 before | Expand all | Expand 10 after
621 620
622 DUMP_MSG(29, (ss, msg, sendLen)); 621 DUMP_MSG(29, (ss, msg, sendLen));
623 sent = (*ss->sec.send)(ss, msg, sendLen, 0); 622 sent = (*ss->sec.send)(ss, msg, sendLen, 0);
624 623
625 if (sent < 0) { 624 if (sent < 0) {
626 /* If send failed, it is now a bogus session-id */ 625 /* If send failed, it is now a bogus session-id */
627 if (ss->sec.uncache) 626 if (ss->sec.uncache)
628 (*ss->sec.uncache)(sid); 627 (*ss->sec.uncache)(sid);
629 rv = (SECStatus)sent; 628 rv = (SECStatus)sent;
630 } else if (!ss->opt.noCache) { 629 } else if (!ss->opt.noCache) {
631 » /* Put the sid in session-id cache, (may already be there) */ 630 » if (sid->cached == never_cached) {
632 » (*ss->sec.cache)(sid); 631 » » (*ss->sec.cache)(sid);
632 » }
633 rv = SECSuccess; 633 rv = SECSuccess;
634 } 634 }
635 ssl_FreeSID(sid); 635 ssl_FreeSID(sid);
636 ss->sec.ci.sid = 0; 636 ss->sec.ci.sid = 0;
637 } 637 }
638 done: 638 done:
639 ssl_ReleaseXmitBufLock(ss); /***************************************/ 639 ssl_ReleaseXmitBufLock(ss); /***************************************/
640 return rv; 640 return rv;
641 } 641 }
642 642
(...skipping 1521 matching lines...) Expand 10 before | Expand all | Expand 10 after
2164 ssl2_ClientRegSessionID(sslSocket *ss, PRUint8 *s) 2164 ssl2_ClientRegSessionID(sslSocket *ss, PRUint8 *s)
2165 { 2165 {
2166 sslSessionID *sid = ss->sec.ci.sid; 2166 sslSessionID *sid = ss->sec.ci.sid;
2167 2167
2168 /* Record entry in nonce cache */ 2168 /* Record entry in nonce cache */
2169 if (sid->peerCert == NULL) { 2169 if (sid->peerCert == NULL) {
2170 PORT_Memcpy(sid->u.ssl2.sessionID, s, sizeof(sid->u.ssl2.sessionID)); 2170 PORT_Memcpy(sid->u.ssl2.sessionID, s, sizeof(sid->u.ssl2.sessionID));
2171 sid->peerCert = CERT_DupCertificate(ss->sec.peerCert); 2171 sid->peerCert = CERT_DupCertificate(ss->sec.peerCert);
2172 2172
2173 } 2173 }
2174 if (!ss->opt.noCache) 2174 if (!ss->opt.noCache && sid->cached == never_cached)
2175 (*ss->sec.cache)(sid); 2175 (*ss->sec.cache)(sid);
2176 } 2176 }
2177 2177
2178 /* Called from ssl2_HandleMessage() */ 2178 /* Called from ssl2_HandleMessage() */
2179 static SECStatus 2179 static SECStatus
2180 ssl2_TriggerNextMessage(sslSocket *ss) 2180 ssl2_TriggerNextMessage(sslSocket *ss)
2181 { 2181 {
2182 SECStatus rv; 2182 SECStatus rv;
2183 2183
2184 PORT_Assert( ss->opt.noLocks || ssl_Have1stHandshakeLock(ss) ); 2184 PORT_Assert( ss->opt.noLocks || ssl_Have1stHandshakeLock(ss) );
(...skipping 1502 matching lines...) Expand 10 before | Expand all | Expand 10 after
3687 3687
3688 c = __nss_ssl_rcsid[0] + __nss_ssl_sccsid[0]; 3688 c = __nss_ssl_rcsid[0] + __nss_ssl_sccsid[0];
3689 return NSS_VersionCheck(importedVersion); 3689 return NSS_VersionCheck(importedVersion);
3690 } 3690 }
3691 3691
3692 const char * 3692 const char *
3693 NSSSSL_GetVersion(void) 3693 NSSSSL_GetVersion(void)
3694 { 3694 {
3695 return NSS_VERSION; 3695 return NSS_VERSION;
3696 } 3696 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698