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

Unified Diff: chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h

Issue 212653004: Update server-backed state key generation. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Make state keys time-dependent. Created 6 years, 9 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/policy/device_cloud_policy_manager_chromeos.h
diff --git a/chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h b/chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h
index c8d5f489ab1eda2d1cf00bf9c6ae25a2f6a7b0d1..269673d1da3d8dac90be66bcedcf7615945673a7 100644
--- a/chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h
+++ b/chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h
@@ -7,6 +7,7 @@
#include <bitset>
#include <string>
+#include <vector>
#include "base/basictypes.h"
#include "base/callback.h"
@@ -45,6 +46,17 @@ class DeviceCloudPolicyManagerChromeOS : public CloudPolicyManager {
typedef std::bitset<32> AllowedDeviceModes;
typedef base::Callback<void(EnrollmentStatus)> EnrollmentCallback;
+ // The power of two determining the size of the time quanta for device state
+ // keys, i.e. the quanta will be of size 2^kDeviceStateKeyTimeQuantumPower
+ // seconds. 2^23 seconds corresponds to 97.09 days.
+ static const int kDeviceStateKeyTimeQuantumPower = 23;
+
+ // The number of future time quanta to generate device state identifiers for.
+ // This determines the interval after which a device will no longer receive
+ // server-backed state information and thus corresponds to the delay until a
+ // device becomes anonymous to the server again.
Joao da Silva 2014/03/27 15:45:40 If I understood the implementation correctly then
Mattias Nissler (ping if slow) 2014/03/27 16:12:41 5 * 97 is closer to 16 months :) The goal was one
+ static const int kDeviceStateKeyFutureQuanta = 5;
+
// |task_runner| is the runner for policy refresh tasks.
// |background_task_runner| is used to execute long-running background tasks
// that may involve file I/O.
@@ -101,8 +113,14 @@ class DeviceCloudPolicyManagerChromeOS : public CloudPolicyManager {
// Returns the machine model, or an empty string if not available.
static std::string GetMachineModel();
- // Returns the stable device state key.
- static std::string GetDeviceStateKey();
+ // Gets the device state keys for |timestamp|. These will cover a time frame
+ // including |timestamp| and extending into the future as configured by the
+ // constants declared above.
+ static bool GetDeviceStateKeys(const base::Time& timestamp,
+ std::vector<std::string>* state_keys);
+
+ // Returns the currently valid device state key.
+ static std::string GetCurrentDeviceStateKey();
// Returns the robot 'email address' associated with the device robot
// account (sometimes called a service account) associated with this device

Powered by Google App Engine
This is Rietveld 408576698