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

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

Issue 15829004: Update net/ to use scoped_refptr<T>::get() rather than implicit "operator T*" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: license twerk Created 7 years, 6 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/ftp/ftp_network_transaction.cc ('k') | net/http/http_basic_stream.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/string_util.h" 10 #include "base/string_util.h"
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 auth_token_.clear(); 244 auth_token_.clear();
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); 254 DCHECK(headers.get());
255 DCHECK(auth_origin_.is_valid()); 255 DCHECK(auth_origin_.is_valid());
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;
266 HttpAuth::AuthorizationResult result = HttpAuth::HandleChallengeResponse( 266 HttpAuth::AuthorizationResult result =
267 handler_.get(), headers, target_, disabled_schemes_, &challenge_used); 267 HttpAuth::HandleChallengeResponse(handler_.get(),
268 headers.get(),
269 target_,
270 disabled_schemes_,
271 &challenge_used);
268 switch (result) { 272 switch (result) {
269 case HttpAuth::AUTHORIZATION_RESULT_ACCEPT: 273 case HttpAuth::AUTHORIZATION_RESULT_ACCEPT:
270 break; 274 break;
271 case HttpAuth::AUTHORIZATION_RESULT_INVALID: 275 case HttpAuth::AUTHORIZATION_RESULT_INVALID:
272 InvalidateCurrentHandler(INVALIDATE_HANDLER_AND_CACHED_CREDENTIALS); 276 InvalidateCurrentHandler(INVALIDATE_HANDLER_AND_CACHED_CREDENTIALS);
273 break; 277 break;
274 case HttpAuth::AUTHORIZATION_RESULT_REJECT: 278 case HttpAuth::AUTHORIZATION_RESULT_REJECT:
275 HistogramAuthEvent(handler_.get(), AUTH_EVENT_REJECT); 279 HistogramAuthEvent(handler_.get(), AUTH_EVENT_REJECT);
276 InvalidateCurrentHandler(INVALIDATE_HANDLER_AND_CACHED_CREDENTIALS); 280 InvalidateCurrentHandler(INVALIDATE_HANDLER_AND_CACHED_CREDENTIALS);
277 break; 281 break;
(...skipping 29 matching lines...) Expand all
307 311
308 identity_.invalid = true; 312 identity_.invalid = true;
309 313
310 bool can_send_auth = (target_ != HttpAuth::AUTH_SERVER || 314 bool can_send_auth = (target_ != HttpAuth::AUTH_SERVER ||
311 !do_not_send_server_auth); 315 !do_not_send_server_auth);
312 316
313 do { 317 do {
314 if (!handler_.get() && can_send_auth) { 318 if (!handler_.get() && can_send_auth) {
315 // Find the best authentication challenge that we support. 319 // Find the best authentication challenge that we support.
316 HttpAuth::ChooseBestChallenge(http_auth_handler_factory_, 320 HttpAuth::ChooseBestChallenge(http_auth_handler_factory_,
317 headers, target_, auth_origin_, 321 headers.get(),
318 disabled_schemes_, net_log, 322 target_,
323 auth_origin_,
324 disabled_schemes_,
325 net_log,
319 &handler_); 326 &handler_);
320 if (handler_.get()) 327 if (handler_.get())
321 HistogramAuthEvent(handler_.get(), AUTH_EVENT_START); 328 HistogramAuthEvent(handler_.get(), AUTH_EVENT_START);
322 } 329 }
323 330
324 if (!handler_.get()) { 331 if (!handler_.get()) {
325 if (establishing_tunnel) { 332 if (establishing_tunnel) {
326 LOG(ERROR) << "Can't perform auth to the " 333 LOG(ERROR) << "Can't perform auth to the "
327 << HttpAuth::GetAuthTargetString(target_) << " " 334 << HttpAuth::GetAuthTargetString(target_) << " "
328 << auth_origin_ << " when establishing a tunnel" 335 << auth_origin_ << " when establishing a tunnel"
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
557 DCHECK(CalledOnValidThread()); 564 DCHECK(CalledOnValidThread());
558 return disabled_schemes_.find(scheme) != disabled_schemes_.end(); 565 return disabled_schemes_.find(scheme) != disabled_schemes_.end();
559 } 566 }
560 567
561 void HttpAuthController::DisableAuthScheme(HttpAuth::Scheme scheme) { 568 void HttpAuthController::DisableAuthScheme(HttpAuth::Scheme scheme) {
562 DCHECK(CalledOnValidThread()); 569 DCHECK(CalledOnValidThread());
563 disabled_schemes_.insert(scheme); 570 disabled_schemes_.insert(scheme);
564 } 571 }
565 572
566 } // namespace net 573 } // namespace net
OLDNEW
« no previous file with comments | « net/ftp/ftp_network_transaction.cc ('k') | net/http/http_basic_stream.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698