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

Side by Side Diff: chrome/browser/renderer_host/resource_dispatcher_host.cc

Issue 6804032: Add TLS-SRP (RFC 5054) support Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: remove "httpsv" scheme, minor NSS/OpenSSL changes Created 9 years, 8 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 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // See http://dev.chromium.org/developers/design-documents/multi-process-resourc e-loading 5 // See http://dev.chromium.org/developers/design-documents/multi-process-resourc e-loading
6 6
7 #include "chrome/browser/renderer_host/resource_dispatcher_host.h" 7 #include "chrome/browser/renderer_host/resource_dispatcher_host.h"
8 8
9 #include <set> 9 #include <set>
10 #include <vector> 10 #include <vector>
(...skipping 1056 matching lines...) Expand 10 before | Expand all | Expand 10 after
1067 } 1067 }
1068 1068
1069 void ResourceDispatcherHost::OnSSLCertificateError( 1069 void ResourceDispatcherHost::OnSSLCertificateError(
1070 net::URLRequest* request, 1070 net::URLRequest* request,
1071 int cert_error, 1071 int cert_error,
1072 net::X509Certificate* cert) { 1072 net::X509Certificate* cert) {
1073 DCHECK(request); 1073 DCHECK(request);
1074 SSLManager::OnSSLCertificateError(this, request, cert_error, cert); 1074 SSLManager::OnSSLCertificateError(this, request, cert_error, cert);
1075 } 1075 }
1076 1076
1077 void ResourceDispatcherHost::OnTLSLoginRequired(
1078 net::URLRequest* request,
1079 net::AuthChallengeInfo* auth_info) {
1080 DCHECK(request);
1081
1082 LOG(INFO) << "OnTLSLoginRequired";
1083 ResourceDispatcherHostRequestInfo* info = InfoForRequest(request);
1084 DCHECK(!info->login_handler()) <<
1085 "OnTLSLoginRequired called with login_handler pending";
1086 info->set_login_handler(CreateLoginPrompt(auth_info, request));
1087 }
1088
1077 void ResourceDispatcherHost::OnGetCookies( 1089 void ResourceDispatcherHost::OnGetCookies(
1078 net::URLRequest* request, 1090 net::URLRequest* request,
1079 bool blocked_by_policy) { 1091 bool blocked_by_policy) {
1080 VLOG(1) << "OnGetCookies: " << request->url().spec(); 1092 VLOG(1) << "OnGetCookies: " << request->url().spec();
1081 1093
1082 int render_process_id, render_view_id; 1094 int render_process_id, render_view_id;
1083 if (!RenderViewForRequest(request, &render_process_id, &render_view_id)) 1095 if (!RenderViewForRequest(request, &render_process_id, &render_view_id))
1084 return; 1096 return;
1085 1097
1086 net::URLRequestContext* context = request->context(); 1098 net::URLRequestContext* context = request->context();
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
1150 info->replace_extension_localization_templates(), response); 1162 info->replace_extension_localization_templates(), response);
1151 1163
1152 if (request->ssl_info().cert) { 1164 if (request->ssl_info().cert) {
1153 int cert_id = 1165 int cert_id =
1154 CertStore::GetInstance()->StoreCert(request->ssl_info().cert, 1166 CertStore::GetInstance()->StoreCert(request->ssl_info().cert,
1155 info->child_id()); 1167 info->child_id());
1156 response->response_head.security_info = 1168 response->response_head.security_info =
1157 SSLManager::SerializeSecurityInfo( 1169 SSLManager::SerializeSecurityInfo(
1158 cert_id, request->ssl_info().cert_status, 1170 cert_id, request->ssl_info().cert_status,
1159 request->ssl_info().security_bits, 1171 request->ssl_info().security_bits,
1160 request->ssl_info().connection_status); 1172 request->ssl_info().connection_status,
1173 request->ssl_info().tls_username);
1174 } else if (!request->ssl_info().tls_username.empty()) {
1175 response->response_head.security_info =
1176 SSLManager::SerializeSecurityInfo(
1177 0, 0,
1178 request->ssl_info().security_bits,
1179 request->ssl_info().connection_status,
1180 request->ssl_info().tls_username);
1161 } else { 1181 } else {
1162 // We should not have any SSL state. 1182 // We should not have any SSL state.
1163 DCHECK(!request->ssl_info().cert_status && 1183 DCHECK(!request->ssl_info().cert_status &&
1164 request->ssl_info().security_bits == -1 && 1184 request->ssl_info().security_bits == -1 &&
1165 !request->ssl_info().connection_status); 1185 !request->ssl_info().connection_status);
1166 } 1186 }
1167 1187
1168 NotifyResponseStarted(request, info->child_id()); 1188 NotifyResponseStarted(request, info->child_id());
1169 info->set_called_on_response_started(true); 1189 info->set_called_on_response_started(true);
1170 return info->resource_handler()->OnResponseStarted(info->request_id(), 1190 return info->resource_handler()->OnResponseStarted(info->request_id(),
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after
1489 GetAllNetErrorCodes()); 1509 GetAllNetErrorCodes());
1490 } 1510 }
1491 1511
1492 std::string security_info; 1512 std::string security_info;
1493 const net::SSLInfo& ssl_info = request->ssl_info(); 1513 const net::SSLInfo& ssl_info = request->ssl_info();
1494 if (ssl_info.cert != NULL) { 1514 if (ssl_info.cert != NULL) {
1495 int cert_id = CertStore::GetInstance()->StoreCert(ssl_info.cert, 1515 int cert_id = CertStore::GetInstance()->StoreCert(ssl_info.cert,
1496 info->child_id()); 1516 info->child_id());
1497 security_info = SSLManager::SerializeSecurityInfo( 1517 security_info = SSLManager::SerializeSecurityInfo(
1498 cert_id, ssl_info.cert_status, ssl_info.security_bits, 1518 cert_id, ssl_info.cert_status, ssl_info.security_bits,
1499 ssl_info.connection_status); 1519 ssl_info.connection_status, ssl_info.tls_username);
1520 } else if (!ssl_info.tls_username.empty()) {
1521 security_info = SSLManager::SerializeSecurityInfo(
1522 0, 0,
1523 ssl_info.security_bits, ssl_info.connection_status,
1524 ssl_info.tls_username);
1500 } 1525 }
1501 1526
1502 if (info->resource_handler()->OnResponseCompleted(info->request_id(), 1527 if (info->resource_handler()->OnResponseCompleted(info->request_id(),
1503 request->status(), 1528 request->status(),
1504 security_info)) { 1529 security_info)) {
1505 NotifyResponseCompleted(request, info->child_id()); 1530 NotifyResponseCompleted(request, info->child_id());
1506 1531
1507 // The request is complete so we can remove it. 1532 // The request is complete so we can remove it.
1508 RemovePendingRequest(info->child_id(), info->request_id()); 1533 RemovePendingRequest(info->child_id(), info->request_id());
1509 } 1534 }
(...skipping 428 matching lines...) Expand 10 before | Expand all | Expand 10 after
1938 return is_prefetch_enabled_; 1963 return is_prefetch_enabled_;
1939 } 1964 }
1940 1965
1941 // static 1966 // static
1942 void ResourceDispatcherHost::set_is_prefetch_enabled(bool value) { 1967 void ResourceDispatcherHost::set_is_prefetch_enabled(bool value) {
1943 is_prefetch_enabled_ = value; 1968 is_prefetch_enabled_ = value;
1944 } 1969 }
1945 1970
1946 // static 1971 // static
1947 bool ResourceDispatcherHost::is_prefetch_enabled_ = false; 1972 bool ResourceDispatcherHost::is_prefetch_enabled_ = false;
OLDNEW
« no previous file with comments | « chrome/browser/renderer_host/resource_dispatcher_host.h ('k') | chrome/browser/renderer_host/resource_request_details.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698