Index: chrome/browser/chromeos/login/managed/managed_user_creation_controller_new.h |
diff --git a/chrome/browser/chromeos/login/managed/managed_user_creation_controller_new.h b/chrome/browser/chromeos/login/managed/managed_user_creation_controller_new.h |
deleted file mode 100644 |
index 31fc7cd592decf72f430f737d258a5af9a2da5f8..0000000000000000000000000000000000000000 |
--- a/chrome/browser/chromeos/login/managed/managed_user_creation_controller_new.h |
+++ /dev/null |
@@ -1,193 +0,0 @@ |
-// Copyright 2014 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. |
- |
-#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_MANAGED_MANAGED_USER_CREATION_CONTROLLER_NEW_H_ |
-#define CHROME_BROWSER_CHROMEOS_LOGIN_MANAGED_MANAGED_USER_CREATION_CONTROLLER_NEW_H_ |
- |
-#include <string> |
- |
-#include "base/files/file_path.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "base/memory/weak_ptr.h" |
-#include "base/strings/string16.h" |
-#include "base/timer/timer.h" |
-#include "base/values.h" |
-#include "chrome/browser/chromeos/login/auth/extended_authenticator.h" |
-#include "chrome/browser/chromeos/login/managed/managed_user_creation_controller.h" |
-#include "chrome/browser/supervised_user/supervised_user_registration_utility.h" |
- |
-class Profile; |
- |
-namespace chromeos { |
- |
-class UserContext; |
- |
-// LMU Creation process: |
-// 0. Manager is logged in |
-// 1. Generate ID for new LMU |
-// 2. Start "transaction" in Local State. |
-// 3, Generate keys for user : master key, salt, encryption and signature keys. |
-// 4. Create local cryptohome (errors could arise) |
-// 5. Create user in cloud (errors could arise) |
-// 6. Store cloud token in cryptohome (actually, error could arise). |
-// 7. Mark "transaction" as completed. |
-// 8. End manager session. |
-class ManagedUserCreationControllerNew |
- : public ManagedUserCreationController, |
- public ExtendedAuthenticator::NewAuthStatusConsumer { |
- public: |
- // All UI initialization is deferred till Init() call. |
- // |Consumer| is not owned by controller, and it is expected that it wouldn't |
- // be deleted before ManagedUserCreationControllerNew. |
- ManagedUserCreationControllerNew(StatusConsumer* consumer, |
- const std::string& manager_id); |
- virtual ~ManagedUserCreationControllerNew(); |
- |
- // Returns the current locally managed user controller if it has been created. |
- static ManagedUserCreationControllerNew* current_controller() { |
- return current_controller_; |
- } |
- |
- // Set up controller for creating new supervised user with |display_name|, |
- // |password| and avatar indexed by |avatar_index|. StartCreation() have to |
- // be called to actually start creating user. |
- virtual void StartCreation(const base::string16& display_name, |
- const std::string& password, |
- int avatar_index) OVERRIDE; |
- |
- // Starts import of the supervised users created prior to M35. They lack |
- // information about password. |
- // Configures and initiates importing existing supervised user to this device. |
- // Existing user is identified by |sync_id|, has |display_name|, |password|, |
- // |avatar_index|. The master key for cryptohome is a |master_key|. |
- virtual void StartImport(const base::string16& display_name, |
- const std::string& password, |
- int avatar_index, |
- const std::string& sync_id, |
- const std::string& master_key) OVERRIDE; |
- |
- // Configures and initiates importing existing supervised user to this device. |
- // Existing user is identified by |sync_id|, has |display_name|, |
- // |avatar_index|. The master key for cryptohome is a |master_key|. The user |
- // has password specified in |password_data| and |
- // |encryption_key|/|signature_key| for cryptohome. |
- virtual void StartImport(const base::string16& display_name, |
- int avatar_index, |
- const std::string& sync_id, |
- const std::string& master_key, |
- const base::DictionaryValue* password_data, |
- const std::string& encryption_key, |
- const std::string& signature_key) OVERRIDE; |
- |
- virtual void SetManagerProfile(Profile* manager_profile) OVERRIDE; |
- virtual Profile* GetManagerProfile() OVERRIDE; |
- |
- virtual void CancelCreation() OVERRIDE; |
- virtual void FinishCreation() OVERRIDE; |
- virtual std::string GetManagedUserId() OVERRIDE; |
- |
- private: |
- enum Stage { |
- // Just initial stage. |
- STAGE_INITIAL, |
- |
- // Creation attempt is recoreded to allow cleanup in case of failure. |
- TRANSACTION_STARTED, |
- // Different keys are generated and public ones are stored in LocalState. |
- KEYS_GENERATED, |
- // Home directory is created with all necessary passwords. |
- CRYPTOHOME_CREATED, |
- // All user-related information is confirmed to exist on server. |
- DASHBOARD_CREATED, |
- // Managed user's sync token is written. |
- TOKEN_WRITTEN, |
- // Managed user is succesfully created. |
- TRANSACTION_COMMITTED, |
- // Some error happened while creating supervised user. |
- STAGE_ERROR, |
- }; |
- |
- // Indicates if we create new user, or import an existing one. |
- enum CreationType { NEW_USER, USER_IMPORT_OLD, USER_IMPORT_NEW, }; |
- |
- // Contains information necessary for new user creation. |
- struct UserCreationContext { |
- UserCreationContext(); |
- ~UserCreationContext(); |
- |
- base::string16 display_name; |
- int avatar_index; |
- |
- std::string manager_id; |
- |
- std::string local_user_id; // Used to identify cryptohome. |
- std::string sync_user_id; // Used to identify user in manager's sync data. |
- |
- // Keys: |
- std::string master_key; // Random string |
- std::string signature_key; // 256 bit HMAC key |
- std::string encryption_key; // 256 bit HMAC key |
- std::string salted_password; // Hash(salt + Hash(password)) |
- |
- std::string password; |
- |
- std::string salted_master_key; // Hash(system salt + master key) |
- std::string mount_hash; |
- |
- std::string token; |
- |
- CreationType creation_type; |
- |
- base::DictionaryValue password_data; |
- |
- Profile* manager_profile; |
- scoped_ptr<SupervisedUserRegistrationUtility> registration_utility; |
- }; |
- |
- // ManagedUserAuthenticator::StatusConsumer overrides. |
- virtual void OnAuthenticationFailure(ExtendedAuthenticator::AuthState error) |
- OVERRIDE; |
- |
- // Authenticator success callbacks. |
- void OnMountSuccess(const std::string& mount_hash); |
- void OnAddKeySuccess(); |
- void OnKeyTransformedIfNeeded(const UserContext& user_context); |
- |
- void StartCreationImpl(); |
- |
- // Guard timer callback. |
- void CreationTimedOut(); |
- // SupervisedUserRegistrationUtility callback. |
- void RegistrationCallback(const GoogleServiceAuthError& error, |
- const std::string& token); |
- |
- // Completion callback for StoreManagedUserFiles method. |
- // Called on the UI thread. |
- void OnManagedUserFilesStored(bool success); |
- |
- // Pointer to the current instance of the controller to be used by |
- // automation tests. |
- static ManagedUserCreationControllerNew* current_controller_; |
- |
- // Current stage of user creation. |
- Stage stage_; |
- |
- // Authenticator used for user creation. |
- scoped_refptr<ExtendedAuthenticator> authenticator_; |
- |
- // Creation context. Not null while creating new LMU. |
- scoped_ptr<UserCreationContext> creation_context_; |
- |
- // Timer for showing warning if creation process takes too long. |
- base::OneShotTimer<ManagedUserCreationControllerNew> timeout_timer_; |
- |
- // Factory of callbacks. |
- base::WeakPtrFactory<ManagedUserCreationControllerNew> weak_factory_; |
- |
- DISALLOW_COPY_AND_ASSIGN(ManagedUserCreationControllerNew); |
-}; |
- |
-} // namespace chromeos |
- |
-#endif // CHROME_BROWSER_CHROMEOS_LOGIN_MANAGED_MANAGED_USER_CREATION_CONTROLLER_NEW_H_ |