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

Unified Diff: net/http/http_auth_handler_basic.cc

Issue 992733002: Remove //net (except for Android test stuff) and sdch (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/http/http_auth_handler_basic.h ('k') | net/http/http_auth_handler_basic_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/http/http_auth_handler_basic.cc
diff --git a/net/http/http_auth_handler_basic.cc b/net/http/http_auth_handler_basic.cc
deleted file mode 100644
index 48371389d1a279a6769d90f6fd4be22d2e62f181..0000000000000000000000000000000000000000
--- a/net/http/http_auth_handler_basic.cc
+++ /dev/null
@@ -1,126 +0,0 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "net/http/http_auth_handler_basic.h"
-
-#include <string>
-
-#include "base/base64.h"
-#include "base/strings/string_util.h"
-#include "base/strings/utf_string_conversions.h"
-#include "net/base/net_errors.h"
-#include "net/base/net_string_util.h"
-#include "net/http/http_auth.h"
-#include "net/http/http_auth_challenge_tokenizer.h"
-
-namespace net {
-
-namespace {
-
-// Parses a realm from an auth challenge, and converts to UTF8-encoding.
-// Returns whether the realm is invalid or the parameters are invalid.
-//
-// Note that if a realm was not specified, we will default it to "";
-// so specifying 'Basic realm=""' is equivalent to 'Basic'.
-//
-// This is more generous than RFC 2617, which is pretty clear in the
-// production of challenge that realm is required.
-//
-// We allow it to be compatibility with certain embedded webservers that don't
-// include a realm (see http://crbug.com/20984.)
-//
-// The over-the-wire realm is encoded as ISO-8859-1 (aka Latin-1).
-//
-// TODO(cbentzel): Realm may need to be decoded using RFC 2047 rules as
-// well, see http://crbug.com/25790.
-bool ParseRealm(const HttpAuthChallengeTokenizer& tokenizer,
- std::string* realm) {
- CHECK(realm);
- realm->clear();
- HttpUtil::NameValuePairsIterator parameters = tokenizer.param_pairs();
- while (parameters.GetNext()) {
- if (!LowerCaseEqualsASCII(parameters.name(), "realm"))
- continue;
-
- if (!net::ConvertToUtf8AndNormalize(parameters.value(), kCharsetLatin1,
- realm)) {
- return false;
- }
- }
- return parameters.valid();
-}
-
-} // namespace
-
-bool HttpAuthHandlerBasic::Init(HttpAuthChallengeTokenizer* challenge) {
- auth_scheme_ = HttpAuth::AUTH_SCHEME_BASIC;
- score_ = 1;
- properties_ = 0;
- return ParseChallenge(challenge);
-}
-
-bool HttpAuthHandlerBasic::ParseChallenge(
- HttpAuthChallengeTokenizer* challenge) {
- // Verify the challenge's auth-scheme.
- if (!LowerCaseEqualsASCII(challenge->scheme(), "basic"))
- return false;
-
- std::string realm;
- if (!ParseRealm(*challenge, &realm))
- return false;
-
- realm_ = realm;
- return true;
-}
-
-HttpAuth::AuthorizationResult HttpAuthHandlerBasic::HandleAnotherChallenge(
- HttpAuthChallengeTokenizer* challenge) {
- // Basic authentication is always a single round, so any responses
- // should be treated as a rejection. However, if the new challenge
- // is for a different realm, then indicate the realm change.
- std::string realm;
- if (!ParseRealm(*challenge, &realm))
- return HttpAuth::AUTHORIZATION_RESULT_INVALID;
- return (realm_ != realm)?
- HttpAuth::AUTHORIZATION_RESULT_DIFFERENT_REALM:
- HttpAuth::AUTHORIZATION_RESULT_REJECT;
-}
-
-int HttpAuthHandlerBasic::GenerateAuthTokenImpl(
- const AuthCredentials* credentials, const HttpRequestInfo*,
- const CompletionCallback&, std::string* auth_token) {
- DCHECK(credentials);
- // TODO(eroman): is this the right encoding of username/password?
- std::string base64_username_password;
- base::Base64Encode(base::UTF16ToUTF8(credentials->username()) + ":" +
- base::UTF16ToUTF8(credentials->password()),
- &base64_username_password);
- *auth_token = "Basic " + base64_username_password;
- return OK;
-}
-
-HttpAuthHandlerBasic::Factory::Factory() {
-}
-
-HttpAuthHandlerBasic::Factory::~Factory() {
-}
-
-int HttpAuthHandlerBasic::Factory::CreateAuthHandler(
- HttpAuthChallengeTokenizer* challenge,
- HttpAuth::Target target,
- const GURL& origin,
- CreateReason reason,
- int digest_nonce_count,
- const BoundNetLog& net_log,
- scoped_ptr<HttpAuthHandler>* handler) {
- // TODO(cbentzel): Move towards model of parsing in the factory
- // method and only constructing when valid.
- scoped_ptr<HttpAuthHandler> tmp_handler(new HttpAuthHandlerBasic());
- if (!tmp_handler->InitFromChallenge(challenge, target, origin, net_log))
- return ERR_INVALID_RESPONSE;
- handler->swap(tmp_handler);
- return OK;
-}
-
-} // namespace net
« no previous file with comments | « net/http/http_auth_handler_basic.h ('k') | net/http/http_auth_handler_basic_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698