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

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

Issue 23621040: Make SSL False Start work with asynchronous certificate validation (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Update the patch file Created 7 years, 2 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/ssl/ssl3gthr.c ('k') | net/third_party/nss/ssl/sslimpl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* This Source Code Form is subject to the terms of the Mozilla Public 1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this 2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4 #include "cert.h" 4 #include "cert.h"
5 #include "secitem.h" 5 #include "secitem.h"
6 #include "ssl.h" 6 #include "ssl.h"
7 #include "sslimpl.h" 7 #include "sslimpl.h"
8 #include "sslproto.h" 8 #include "sslproto.h"
9 #include "pk11func.h" 9 #include "pk11func.h"
10 #include "ocsp.h" 10 #include "ocsp.h"
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 93
94 94
95 /* NEED LOCKS IN HERE. */ 95 /* NEED LOCKS IN HERE. */
96 SECStatus 96 SECStatus
97 SSL_SecurityStatus(PRFileDesc *fd, int *op, char **cp, int *kp0, int *kp1, 97 SSL_SecurityStatus(PRFileDesc *fd, int *op, char **cp, int *kp0, int *kp1,
98 char **ip, char **sp) 98 char **ip, char **sp)
99 { 99 {
100 sslSocket *ss; 100 sslSocket *ss;
101 const char *cipherName; 101 const char *cipherName;
102 PRBool isDes = PR_FALSE; 102 PRBool isDes = PR_FALSE;
103 PRBool enoughFirstHsDone = PR_FALSE;
104 103
105 ss = ssl_FindSocket(fd); 104 ss = ssl_FindSocket(fd);
106 if (!ss) { 105 if (!ss) {
107 SSL_DBG(("%d: SSL[%d]: bad socket in SecurityStatus", 106 SSL_DBG(("%d: SSL[%d]: bad socket in SecurityStatus",
108 SSL_GETPID(), fd)); 107 SSL_GETPID(), fd));
109 return SECFailure; 108 return SECFailure;
110 } 109 }
111 110
112 if (cp) *cp = 0; 111 if (cp) *cp = 0;
113 if (kp0) *kp0 = 0; 112 if (kp0) *kp0 = 0;
114 if (kp1) *kp1 = 0; 113 if (kp1) *kp1 = 0;
115 if (ip) *ip = 0; 114 if (ip) *ip = 0;
116 if (sp) *sp = 0; 115 if (sp) *sp = 0;
117 if (op) { 116 if (op) {
118 *op = SSL_SECURITY_STATUS_OFF; 117 *op = SSL_SECURITY_STATUS_OFF;
119 } 118 }
120 119
121 if (ss->firstHsDone) { 120 if (ss->opt.useSecurity && ss->enoughFirstHsDone) {
122 » enoughFirstHsDone = PR_TRUE;
123 } else if (ss->version >= SSL_LIBRARY_VERSION_3_0 &&
124 » ssl3_CanFalseStart(ss)) {
125 » enoughFirstHsDone = PR_TRUE;
126 }
127
128 if (ss->opt.useSecurity && enoughFirstHsDone) {
129 if (ss->version < SSL_LIBRARY_VERSION_3_0) { 121 if (ss->version < SSL_LIBRARY_VERSION_3_0) {
130 cipherName = ssl_cipherName[ss->sec.cipherType]; 122 cipherName = ssl_cipherName[ss->sec.cipherType];
131 } else { 123 } else {
132 cipherName = ssl3_cipherName[ss->sec.cipherType]; 124 cipherName = ssl3_cipherName[ss->sec.cipherType];
133 } 125 }
134 PORT_Assert(cipherName); 126 PORT_Assert(cipherName);
135 if (cipherName) { 127 if (cipherName) {
136 if (PORT_Strstr(cipherName, "DES")) isDes = PR_TRUE; 128 if (PORT_Strstr(cipherName, "DES")) isDes = PR_TRUE;
137 129
138 if (cp) { 130 if (cp) {
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 hostname = ss->url; 320 hostname = ss->url;
329 if (hostname && hostname[0]) 321 if (hostname && hostname[0])
330 rv = CERT_VerifyCertName(ss->sec.peerCert, hostname); 322 rv = CERT_VerifyCertName(ss->sec.peerCert, hostname);
331 else 323 else
332 rv = SECFailure; 324 rv = SECFailure;
333 if (rv != SECSuccess) 325 if (rv != SECSuccess)
334 PORT_SetError(SSL_ERROR_BAD_CERT_DOMAIN); 326 PORT_SetError(SSL_ERROR_BAD_CERT_DOMAIN);
335 327
336 return rv; 328 return rv;
337 } 329 }
OLDNEW
« no previous file with comments | « net/third_party/nss/ssl/ssl3gthr.c ('k') | net/third_party/nss/ssl/sslimpl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698