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

Unified Diff: net/http/http_auth_handler_digest.cc

Issue 8340026: Use AuthCredentials throughout the network stack instead of username/password. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Fix comments Created 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/http/http_auth_handler_digest.h ('k') | net/http/http_auth_handler_digest_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_digest.cc
diff --git a/net/http/http_auth_handler_digest.cc b/net/http/http_auth_handler_digest.cc
index 58c3c326f4dc2a47f1653c225a346fbea9a2bc5b..2b5c026d54154aeb7616f7d983aedfa98a90c540 100644
--- a/net/http/http_auth_handler_digest.cc
+++ b/net/http/http_auth_handler_digest.cc
@@ -137,8 +137,7 @@ bool HttpAuthHandlerDigest::Init(HttpAuth::ChallengeTokenizer* challenge) {
}
int HttpAuthHandlerDigest::GenerateAuthTokenImpl(
- const string16* username,
- const string16* password,
+ const AuthCredentials* credentials,
const HttpRequestInfo* request,
OldCompletionCallback* callback,
std::string* auth_token) {
@@ -151,9 +150,7 @@ int HttpAuthHandlerDigest::GenerateAuthTokenImpl(
std::string path;
GetRequestMethodAndPath(request, &method, &path);
- *auth_token = AssembleCredentials(method, path,
- *username,
- *password,
+ *auth_token = AssembleCredentials(method, path, *credentials,
cnonce, nonce_count_);
return OK;
}
@@ -320,15 +317,14 @@ void HttpAuthHandlerDigest::GetRequestMethodAndPath(
std::string HttpAuthHandlerDigest::AssembleResponseDigest(
const std::string& method,
const std::string& path,
- const string16& username,
- const string16& password,
+ const AuthCredentials& credentials,
const std::string& cnonce,
const std::string& nc) const {
// ha1 = MD5(A1)
// TODO(eroman): is this the right encoding?
- std::string ha1 = base::MD5String(UTF16ToUTF8(username) + ":" +
+ std::string ha1 = base::MD5String(UTF16ToUTF8(credentials.username()) + ":" +
original_realm_ + ":" +
- UTF16ToUTF8(password));
+ UTF16ToUTF8(credentials.password()));
if (algorithm_ == HttpAuthHandlerDigest::ALGORITHM_MD5_SESS)
ha1 = base::MD5String(ha1 + ":" + nonce_ + ":" + cnonce);
@@ -347,8 +343,7 @@ std::string HttpAuthHandlerDigest::AssembleResponseDigest(
std::string HttpAuthHandlerDigest::AssembleCredentials(
const std::string& method,
const std::string& path,
- const string16& username,
- const string16& password,
+ const AuthCredentials& credentials,
const std::string& cnonce,
int nonce_count) const {
// the nonce-count is an 8 digit hex string.
@@ -356,7 +351,8 @@ std::string HttpAuthHandlerDigest::AssembleCredentials(
// TODO(eroman): is this the right encoding?
std::string authorization = (std::string("Digest username=") +
- HttpUtil::Quote(UTF16ToUTF8(username)));
+ HttpUtil::Quote(
+ UTF16ToUTF8(credentials.username())));
authorization += ", realm=" + HttpUtil::Quote(original_realm_);
authorization += ", nonce=" + HttpUtil::Quote(nonce_);
authorization += ", uri=" + HttpUtil::Quote(path);
@@ -364,8 +360,8 @@ std::string HttpAuthHandlerDigest::AssembleCredentials(
if (algorithm_ != ALGORITHM_UNSPECIFIED) {
authorization += ", algorithm=" + AlgorithmToString(algorithm_);
}
- std::string response = AssembleResponseDigest(method, path, username,
- password, cnonce, nc);
+ std::string response = AssembleResponseDigest(method, path, credentials,
+ cnonce, nc);
// No need to call HttpUtil::Quote() as the response digest cannot contain
// any characters needing to be escaped.
authorization += ", response=\"" + response + "\"";
« no previous file with comments | « net/http/http_auth_handler_digest.h ('k') | net/http/http_auth_handler_digest_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698