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

Side by Side Diff: chrome/browser/ui/webui/signin/user_manager_screen_handler.cc

Issue 875983008: Revert "Only store leading 13 bits of password hash." (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "chrome/browser/ui/webui/signin/user_manager_screen_handler.h" 5 #include "chrome/browser/ui/webui/signin/user_manager_screen_handler.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/prefs/pref_service.h" 8 #include "base/prefs/pref_service.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "base/value_conversions.h" 10 #include "base/value_conversions.h"
(...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after
407 const ProfileInfoCache& info_cache = 407 const ProfileInfoCache& info_cache =
408 g_browser_process->profile_manager()->GetProfileInfoCache(); 408 g_browser_process->profile_manager()->GetProfileInfoCache();
409 size_t profile_index = info_cache.GetIndexOfProfileWithPath(profile_path); 409 size_t profile_index = info_cache.GetIndexOfProfileWithPath(profile_path);
410 410
411 if (profile_index == std::string::npos) { 411 if (profile_index == std::string::npos) {
412 NOTREACHED(); 412 NOTREACHED();
413 return; 413 return;
414 } 414 }
415 415
416 authenticating_profile_index_ = profile_index; 416 authenticating_profile_index_ = profile_index;
417 if (!LocalAuth::ValidateLocalAuthCredentials(profile_index, password)) { 417 if (!chrome::ValidateLocalAuthCredentials(profile_index, password)) {
418 // Make a second attempt via an on-line authentication call. This handles 418 // Make a second attempt via an on-line authentication call. This handles
419 // profiles that are missing sign-in credentials and also cases where the 419 // profiles that are missing sign-in credentials and also cases where the
420 // password has been changed externally. 420 // password has been changed externally.
421 client_login_.reset(new GaiaAuthFetcher( 421 client_login_.reset(new GaiaAuthFetcher(
422 this, 422 this,
423 GaiaConstants::kChromeSource, 423 GaiaConstants::kChromeSource,
424 web_ui()->GetWebContents()->GetBrowserContext()->GetRequestContext())); 424 web_ui()->GetWebContents()->GetBrowserContext()->GetRequestContext()));
425 425
426 client_login_->StartClientLogin( 426 client_login_->StartClientLogin(
427 base::UTF16ToUTF8(email_address), 427 base::UTF16ToUTF8(email_address),
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
518 std::string email; 518 std::string email;
519 CHECK(args->GetString(0, &email)); 519 CHECK(args->GetString(0, &email));
520 SetAuthType(email, 520 SetAuthType(email,
521 ScreenlockBridge::LockHandler::FORCE_OFFLINE_PASSWORD, 521 ScreenlockBridge::LockHandler::FORCE_OFFLINE_PASSWORD,
522 base::string16()); 522 base::string16());
523 HideUserPodCustomIcon(email); 523 HideUserPodCustomIcon(email);
524 } 524 }
525 525
526 void UserManagerScreenHandler::OnClientLoginSuccess( 526 void UserManagerScreenHandler::OnClientLoginSuccess(
527 const ClientLoginResult& result) { 527 const ClientLoginResult& result) {
528 LocalAuth::SetLocalAuthCredentials(authenticating_profile_index_, 528 chrome::SetLocalAuthCredentials(authenticating_profile_index_,
529 password_attempt_); 529 password_attempt_);
530 ReportAuthenticationResult(true, ProfileMetrics::AUTH_ONLINE); 530 ReportAuthenticationResult(true, ProfileMetrics::AUTH_ONLINE);
531 } 531 }
532 532
533 void UserManagerScreenHandler::OnClientLoginFailure( 533 void UserManagerScreenHandler::OnClientLoginFailure(
534 const GoogleServiceAuthError& error) { 534 const GoogleServiceAuthError& error) {
535 const GoogleServiceAuthError::State state = error.state(); 535 const GoogleServiceAuthError::State state = error.state();
536 // Some "error" results mean the password was correct but some other action 536 // Some "error" results mean the password was correct but some other action
537 // should be taken. For our purposes, we only care that the password was 537 // should be taken. For our purposes, we only care that the password was
538 // correct so count those as a success. 538 // correct so count those as a success.
539 bool success = (state == GoogleServiceAuthError::NONE || 539 bool success = (state == GoogleServiceAuthError::NONE ||
540 state == GoogleServiceAuthError::CAPTCHA_REQUIRED || 540 state == GoogleServiceAuthError::CAPTCHA_REQUIRED ||
541 state == GoogleServiceAuthError::TWO_FACTOR || 541 state == GoogleServiceAuthError::TWO_FACTOR ||
542 state == GoogleServiceAuthError::ACCOUNT_DELETED || 542 state == GoogleServiceAuthError::ACCOUNT_DELETED ||
543 state == GoogleServiceAuthError::ACCOUNT_DISABLED || 543 state == GoogleServiceAuthError::ACCOUNT_DISABLED ||
544 state == GoogleServiceAuthError::WEB_LOGIN_REQUIRED); 544 state == GoogleServiceAuthError::WEB_LOGIN_REQUIRED);
545 545
546 // If the password was correct, the user must have changed it since the 546 // If the password was correct, the user must have changed it since the
547 // profile was locked. Save the password to streamline future unlocks. 547 // profile was locked. Save the password to streamline future unlocks.
548 if (success) { 548 if (success) {
549 DCHECK(!password_attempt_.empty()); 549 DCHECK(!password_attempt_.empty());
550 LocalAuth::SetLocalAuthCredentials(authenticating_profile_index_, 550 chrome::SetLocalAuthCredentials(authenticating_profile_index_,
551 password_attempt_); 551 password_attempt_);
552 } 552 }
553 553
554 bool offline = (state == GoogleServiceAuthError::CONNECTION_FAILED || 554 bool offline = (state == GoogleServiceAuthError::CONNECTION_FAILED ||
555 state == GoogleServiceAuthError::SERVICE_UNAVAILABLE || 555 state == GoogleServiceAuthError::SERVICE_UNAVAILABLE ||
556 state == GoogleServiceAuthError::REQUEST_CANCELED); 556 state == GoogleServiceAuthError::REQUEST_CANCELED);
557 ProfileMetrics::ProfileAuth failure_metric = 557 ProfileMetrics::ProfileAuth failure_metric =
558 offline ? ProfileMetrics::AUTH_FAILED_OFFLINE : 558 offline ? ProfileMetrics::AUTH_FAILED_OFFLINE :
559 ProfileMetrics::AUTH_FAILED; 559 ProfileMetrics::AUTH_FAILED;
560 ReportAuthenticationResult( 560 ReportAuthenticationResult(
561 success, success ? ProfileMetrics::AUTH_ONLINE : failure_metric); 561 success, success ? ProfileMetrics::AUTH_ONLINE : failure_metric);
(...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after
828 Profile* profile, Profile::CreateStatus profile_create_status) { 828 Profile* profile, Profile::CreateStatus profile_create_status) {
829 Browser* browser = chrome::FindAnyBrowser(profile, false, desktop_type_); 829 Browser* browser = chrome::FindAnyBrowser(profile, false, desktop_type_);
830 if (browser && browser->window()) { 830 if (browser && browser->window()) {
831 OnBrowserWindowReady(browser); 831 OnBrowserWindowReady(browser);
832 } else { 832 } else {
833 registrar_.Add(this, 833 registrar_.Add(this,
834 chrome::NOTIFICATION_BROWSER_WINDOW_READY, 834 chrome::NOTIFICATION_BROWSER_WINDOW_READY,
835 content::NotificationService::AllSources()); 835 content::NotificationService::AllSources());
836 } 836 }
837 } 837 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/signin/inline_login_handler_impl.cc ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698