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

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

Issue 1391053002: [net/http auth] Make HttpAuthHandler challenge handling asynchronous. Base URL: https://chromium.googlesource.com/chromium/src.git@auth-handler-init-split
Patch Set: Created 5 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
« no previous file with comments | « net/http/http_auth_controller_unittest.cc ('k') | net/http/http_auth_handler.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 // 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_gssapi_posix.h" 5 #include "net/http/http_auth_gssapi_posix.h"
6 6
7 #include <limits> 7 #include <limits>
8 #include <string> 8 #include <string>
9 9
10 #include "base/base64.h" 10 #include "base/base64.h"
(...skipping 649 matching lines...) Expand 10 before | Expand all | Expand 10 after
660 gss_oid_(gss_oid), 660 gss_oid_(gss_oid),
661 library_(library), 661 library_(library),
662 scoped_sec_context_(library), 662 scoped_sec_context_(library),
663 can_delegate_(false) { 663 can_delegate_(false) {
664 DCHECK(library_); 664 DCHECK(library_);
665 } 665 }
666 666
667 HttpAuthGSSAPI::~HttpAuthGSSAPI() { 667 HttpAuthGSSAPI::~HttpAuthGSSAPI() {
668 } 668 }
669 669
670 // TODO(asanka): Take a HttpResonseInfo along with the initial challenge to
671 // initialize the HttpAuthHandler. Then HttpAuthHandlerNegotiate can generate a
672 // channel binding token from the SSLInfo which can then be used when tokens are
673 // being generated.
674 //
675 // Only the HandleAnotherChallenge() and InitFromChallenge() phases have
676 // realiable access to a HttpResonseInfo.
677 //
678 // There is a lot of cleanup to do here, but should be kept separate from the
679 // other ongoing work.
680 //
681 // We unfortunately can't move the token generation code to be after header
682 // receipt in http_network_transaction because it's needed for pre-emptive
683 // authentication :(. We need to make both HTTP auth challenge handling and
684 // token generation to be potentially asynchronous.
670 bool HttpAuthGSSAPI::Init() { 685 bool HttpAuthGSSAPI::Init() {
671 if (!library_) 686 if (!library_)
672 return false; 687 return false;
673 return library_->Init(); 688 return library_->Init();
674 } 689 }
675 690
676 bool HttpAuthGSSAPI::NeedsIdentity() const { 691 bool HttpAuthGSSAPI::NeedsIdentity() const {
677 return decoded_server_auth_token_.empty(); 692 return decoded_server_auth_token_.empty();
678 } 693 }
679 694
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
862 if (rv != OK) { 877 if (rv != OK) {
863 LOG(ERROR) << "Problem initializing context. \n" 878 LOG(ERROR) << "Problem initializing context. \n"
864 << DisplayExtendedStatus(library_, major_status, minor_status) 879 << DisplayExtendedStatus(library_, major_status, minor_status)
865 << '\n' 880 << '\n'
866 << DescribeContext(library_, scoped_sec_context_.get()); 881 << DescribeContext(library_, scoped_sec_context_.get());
867 } 882 }
868 return rv; 883 return rv;
869 } 884 }
870 885
871 } // namespace net 886 } // namespace net
OLDNEW
« no previous file with comments | « net/http/http_auth_controller_unittest.cc ('k') | net/http/http_auth_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698