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

Unified Diff: chrome/browser/chromeos/login/parallel_authenticator.h

Issue 9466005: Make sure the device recovers from policy loss in the consumer case. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/login/parallel_authenticator.h
diff --git a/chrome/browser/chromeos/login/parallel_authenticator.h b/chrome/browser/chromeos/login/parallel_authenticator.h
index fc50c38909ac4d6547dc5cf6e9b2f8097d25d9d5..8f898e1975e7d72b53383c0de4e1451780300757 100644
--- a/chrome/browser/chromeos/login/parallel_authenticator.h
+++ b/chrome/browser/chromeos/login/parallel_authenticator.h
@@ -76,7 +76,8 @@ class ParallelAuthenticator : public Authenticator,
UNLOCK, // Screen unlock succeeded.
ONLINE_FAILED, // Online login disallowed, but offline succeeded.
GUEST_LOGIN, // Logged in guest mode.
- LOGIN_FAILED // Login denied.
+ LOGIN_FAILED, // Login denied.
+ OWNER_REQUIRED // Login is restricted to the owner only.
};
explicit ParallelAuthenticator(LoginStatusConsumer* consumer);
@@ -217,6 +218,15 @@ class ParallelAuthenticator : public Authenticator,
// Returns false if the key can not be loaded/created.
bool LoadSupplementalUserKey();
+ // checks if the current mounted home contains the owner case and either
+ // continues or fails the log-in. Used for policy lost mitigation "safe-mode".
+ void VerifyOwnerOnUIThread();
+
+ // checks if the current mounted home contains the owner case and either
+ // continues or fails the log-in. Used for policy lost mitigation "safe-mode".
+ void FinishVerifyOwnerOnFileThread();
+
+
// Records OAuth1 access token verification failure for |user_account|.
void RecordOAuthCheckFailure(const std::string& user_account);
@@ -247,7 +257,14 @@ class ParallelAuthenticator : public Authenticator,
// This allows us to present the same behavior to the caller, regardless
// of the order in which we receive these results.
bool already_reported_success_;
- base::Lock success_lock_; // A lock around already_reported_success_.
+ base::Lock success_lock_; // A lock around |already_reported_success_|.
+
+ // Flags signaling whether the owner verification has been done and the result
+ // of it.
+ bool owner_is_verified_;
+ bool user_can_login_;
+ // A lock for |owner_is_verified_| and |current_user_is_owner_|.
+ base::Lock owner_verified_lock_;
// True if we use OAuth-based authentication flow.
bool using_oauth_;

Powered by Google App Engine
This is Rietveld 408576698