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

Side by Side Diff: net/http/http_auth_controller.cc

Issue 1151843002: DO NOT LAND Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: More. Created 5 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include "net/http/http_auth_controller.h" 5 #include "net/http/http_auth_controller.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/metrics/histogram.h" 9 #include "base/metrics/histogram.h"
10 #include "base/strings/string_util.h" 10 #include "base/strings/string_util.h"
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 151
152 } // namespace 152 } // namespace
153 153
154 HttpAuthController::HttpAuthController( 154 HttpAuthController::HttpAuthController(
155 HttpAuth::Target target, 155 HttpAuth::Target target,
156 const GURL& auth_url, 156 const GURL& auth_url,
157 HttpAuthCache* http_auth_cache, 157 HttpAuthCache* http_auth_cache,
158 HttpAuthHandlerFactory* http_auth_handler_factory) 158 HttpAuthHandlerFactory* http_auth_handler_factory)
159 : target_(target), 159 : target_(target),
160 auth_url_(auth_url), 160 auth_url_(auth_url),
161 auth_origin_(auth_url.GetOrigin()), 161 auth_origin_(url::Origin(auth_url)),
162 auth_path_(HttpAuth::AUTH_PROXY ? std::string() : auth_url.path()), 162 auth_path_(HttpAuth::AUTH_PROXY ? std::string() : auth_url.path()),
163 embedded_identity_used_(false), 163 embedded_identity_used_(false),
164 default_credentials_used_(false), 164 default_credentials_used_(false),
165 http_auth_cache_(http_auth_cache), 165 http_auth_cache_(http_auth_cache),
166 http_auth_handler_factory_(http_auth_handler_factory) { 166 http_auth_handler_factory_(http_auth_handler_factory) {
167 } 167 }
168 168
169 HttpAuthController::~HttpAuthController() { 169 HttpAuthController::~HttpAuthController() {
170 DCHECK(CalledOnValidThread()); 170 DCHECK(CalledOnValidThread());
171 } 171 }
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
245 } 245 }
246 } 246 }
247 247
248 int HttpAuthController::HandleAuthChallenge( 248 int HttpAuthController::HandleAuthChallenge(
249 scoped_refptr<HttpResponseHeaders> headers, 249 scoped_refptr<HttpResponseHeaders> headers,
250 bool do_not_send_server_auth, 250 bool do_not_send_server_auth,
251 bool establishing_tunnel, 251 bool establishing_tunnel,
252 const BoundNetLog& net_log) { 252 const BoundNetLog& net_log) {
253 DCHECK(CalledOnValidThread()); 253 DCHECK(CalledOnValidThread());
254 DCHECK(headers.get()); 254 DCHECK(headers.get());
255 DCHECK(auth_origin_.is_valid()); 255 DCHECK(!auth_origin_.unique());
256 VLOG(1) << "The " << HttpAuth::GetAuthTargetString(target_) << " " 256 VLOG(1) << "The " << HttpAuth::GetAuthTargetString(target_) << " "
257 << auth_origin_ << " requested auth " 257 << auth_origin_ << " requested auth "
258 << AuthChallengeLogMessage(headers.get()); 258 << AuthChallengeLogMessage(headers.get());
259 259
260 // Give the existing auth handler first try at the authentication headers. 260 // Give the existing auth handler first try at the authentication headers.
261 // This will also evict the entry in the HttpAuthCache if the previous 261 // This will also evict the entry in the HttpAuthCache if the previous
262 // challenge appeared to be rejected, or is using a stale nonce in the Digest 262 // challenge appeared to be rejected, or is using a stale nonce in the Digest
263 // case. 263 // case.
264 if (HaveAuth()) { 264 if (HaveAuth()) {
265 std::string challenge_used; 265 std::string challenge_used;
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after
502 } 502 }
503 503
504 void HttpAuthController::PopulateAuthChallenge() { 504 void HttpAuthController::PopulateAuthChallenge() {
505 DCHECK(CalledOnValidThread()); 505 DCHECK(CalledOnValidThread());
506 506
507 // Populates response_.auth_challenge with the authentication challenge info. 507 // Populates response_.auth_challenge with the authentication challenge info.
508 // This info is consumed by URLRequestHttpJob::GetAuthChallengeInfo(). 508 // This info is consumed by URLRequestHttpJob::GetAuthChallengeInfo().
509 509
510 auth_info_ = new AuthChallengeInfo; 510 auth_info_ = new AuthChallengeInfo;
511 auth_info_->is_proxy = (target_ == HttpAuth::AUTH_PROXY); 511 auth_info_->is_proxy = (target_ == HttpAuth::AUTH_PROXY);
512 auth_info_->challenger = HostPortPair::FromURL(auth_origin_); 512 auth_info_->challenger = HostPortPair::FromOrigin(auth_origin_);
513 auth_info_->scheme = HttpAuth::SchemeToString(handler_->auth_scheme()); 513 auth_info_->scheme = HttpAuth::SchemeToString(handler_->auth_scheme());
514 auth_info_->realm = handler_->realm(); 514 auth_info_->realm = handler_->realm();
515 } 515 }
516 516
517 bool HttpAuthController::DisableOnAuthHandlerResult(int result) { 517 bool HttpAuthController::DisableOnAuthHandlerResult(int result) {
518 DCHECK(CalledOnValidThread()); 518 DCHECK(CalledOnValidThread());
519 519
520 switch (result) { 520 switch (result) {
521 // Occurs with GSSAPI, if the user has not already logged in. 521 // Occurs with GSSAPI, if the user has not already logged in.
522 case ERR_MISSING_AUTH_CREDENTIALS: 522 case ERR_MISSING_AUTH_CREDENTIALS:
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
569 DCHECK(CalledOnValidThread()); 569 DCHECK(CalledOnValidThread());
570 disabled_schemes_.insert(scheme); 570 disabled_schemes_.insert(scheme);
571 } 571 }
572 572
573 void HttpAuthController::DisableEmbeddedIdentity() { 573 void HttpAuthController::DisableEmbeddedIdentity() {
574 DCHECK(CalledOnValidThread()); 574 DCHECK(CalledOnValidThread());
575 embedded_identity_used_ = true; 575 embedded_identity_used_ = true;
576 } 576 }
577 577
578 } // namespace net 578 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698