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

Side by Side Diff: chrome/browser/chromeos/settings/install_attributes.h

Issue 2727713003: Update FWMP in TPM (Closed)
Patch Set: Nits Created 3 years, 8 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #ifndef CHROME_BROWSER_CHROMEOS_SETTINGS_INSTALL_ATTRIBUTES_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_SETTINGS_INSTALL_ATTRIBUTES_H_
6 #define CHROME_BROWSER_CHROMEOS_SETTINGS_INSTALL_ATTRIBUTES_H_ 6 #define CHROME_BROWSER_CHROMEOS_SETTINGS_INSTALL_ATTRIBUTES_H_
7 7
8 #include <map> 8 #include <map>
9 #include <string> 9 #include <string>
10 10
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 // kInstallAttributesFileName (created early during the boot process by 63 // kInstallAttributesFileName (created early during the boot process by
64 // lockbox-cache) the install attributes are fully trusted. 64 // lockbox-cache) the install attributes are fully trusted.
65 void Init(const base::FilePath& cache_file); 65 void Init(const base::FilePath& cache_file);
66 66
67 // Makes sure the local caches for enterprise-related install attributes are 67 // Makes sure the local caches for enterprise-related install attributes are
68 // up to date with what cryptohome has. This method checks the readiness of 68 // up to date with what cryptohome has. This method checks the readiness of
69 // attributes and read them if ready. Actual read will be performed in 69 // attributes and read them if ready. Actual read will be performed in
70 // ReadAttributesIfReady(). 70 // ReadAttributesIfReady().
71 void ReadImmutableAttributes(const base::Closure& callback); 71 void ReadImmutableAttributes(const base::Closure& callback);
72 72
73 // Updates the firmware management parameters from TPM, storing the devmode
74 // flag according to |block_devmode|. Invokes |callback| when done. Must be
75 // called before LockDevice is done. Used to update TPM on enrollment.
76 void SetBlockDevmodeInTpm(
77 bool block_devmode,
78 const CryptohomeClient::ProtobufMethodCallback& callback);
79
73 // Locks the device into |device_mode|. Depending on |device_mode|, a 80 // Locks the device into |device_mode|. Depending on |device_mode|, a
74 // specific subset of |domain|, |realm| and |device_id| must be set. Can also 81 // specific subset of |domain|, |realm| and |device_id| must be set. Can also
75 // be called after the lock has already been taken, in which case it checks 82 // be called after the lock has already been taken, in which case it checks
76 // that the passed parameters fully agree with the locked attributes. 83 // that the passed parameters fully agree with the locked attributes.
77 // |callback| must not be null and is called with the result. Must not be 84 // |callback| must not be null and is called with the result. Must not be
78 // called while a previous LockDevice() invocation is still pending. 85 // called while a previous LockDevice() invocation is still pending.
79 void LockDevice(policy::DeviceMode device_mode, 86 void LockDevice(policy::DeviceMode device_mode,
80 const std::string& domain, 87 const std::string& domain,
81 const std::string& realm, 88 const std::string& realm,
82 const std::string& device_id, 89 const std::string& device_id,
(...skipping 21 matching lines...) Expand all
104 111
105 // Return the realm this device belongs to or an empty string if the device is 112 // Return the realm this device belongs to or an empty string if the device is
106 // not an AD enterprise device. 113 // not an AD enterprise device.
107 std::string GetRealm() const { return registration_realm_; } 114 std::string GetRealm() const { return registration_realm_; }
108 115
109 // Return the device id that was generated when the device was registered. 116 // Return the device id that was generated when the device was registered.
110 // Returns an empty string if the device is not an enterprise device or the 117 // Returns an empty string if the device is not an enterprise device or the
111 // device id was not stored in the lockbox (prior to R19). 118 // device id was not stored in the lockbox (prior to R19).
112 std::string GetDeviceId() const { return registration_device_id_; } 119 std::string GetDeviceId() const { return registration_device_id_; }
113 120
121 // Return whether TPM is locked.
122 bool IsDeviceLocked() const { return device_locked_; }
123
114 protected: 124 protected:
115 // True if install attributes have been read successfully. False if read 125 // True if install attributes have been read successfully. False if read
116 // failed or no read attempt was made. 126 // failed or no read attempt was made.
117 bool device_locked_ = false; 127 bool device_locked_ = false;
118 128
119 // Whether the TPM / install attributes consistency check is running. 129 // Whether the TPM / install attributes consistency check is running.
120 bool consistency_check_running_ = false; 130 bool consistency_check_running_ = false;
121 131
122 // To be run after the consistency check has finished. 132 // To be run after the consistency check has finished.
123 base::Closure post_check_action_; 133 base::Closure post_check_action_;
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
208 CryptohomeClient* cryptohome_client_; 218 CryptohomeClient* cryptohome_client_;
209 219
210 base::WeakPtrFactory<InstallAttributes> weak_ptr_factory_; 220 base::WeakPtrFactory<InstallAttributes> weak_ptr_factory_;
211 221
212 DISALLOW_COPY_AND_ASSIGN(InstallAttributes); 222 DISALLOW_COPY_AND_ASSIGN(InstallAttributes);
213 }; 223 };
214 224
215 } // namespace chromeos 225 } // namespace chromeos
216 226
217 #endif // CHROME_BROWSER_CHROMEOS_SETTINGS_INSTALL_ATTRIBUTES_H_ 227 #endif // CHROME_BROWSER_CHROMEOS_SETTINGS_INSTALL_ATTRIBUTES_H_
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/policy/enrollment_handler_chromeos.cc ('k') | chrome/browser/chromeos/settings/install_attributes.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698