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

Unified Diff: sync/protocol/nigori_specifics.proto

Issue 10916036: [Sync] Implement keystore migration support. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 8 years, 3 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
« no previous file with comments | « sync/protocol/client_debug_info.proto ('k') | sync/protocol/proto_enum_conversions.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sync/protocol/nigori_specifics.proto
diff --git a/sync/protocol/nigori_specifics.proto b/sync/protocol/nigori_specifics.proto
index 4f63ff4b696cef820912a04a0c987a8155cf0a7a..e757f7a56a13e20b2a38d714bf64731fb5e5835f 100644
--- a/sync/protocol/nigori_specifics.proto
+++ b/sync/protocol/nigori_specifics.proto
@@ -47,10 +47,12 @@ message DeviceInformation {
// Properties of nigori sync object.
message NigoriSpecifics {
- optional EncryptedData encrypted = 1;
- // True if |encrypted| is encrypted using a passphrase
- // explicitly set by the user.
- optional bool using_explicit_passphrase = 2;
+ optional EncryptedData encryption_keybag = 1;
+ // Once keystore migration is performed, we have to freeze the keybag so that
+ // older clients (that don't support keystore encryption) do not attempt to
+ // update the keybag.
+ // Previously |using_explicit_passphrase|.
+ optional bool keybag_is_frozen = 2;
// Obsolete encryption fields. These were deprecated due to legacy versions
// that understand their usage but did not perform encryption properly.
@@ -91,8 +93,32 @@ message NigoriSpecifics {
// User device information. Contains information about each device that has a
// sync-enabled Chrome browser connected to the user account.
repeated DeviceInformation device_information = 28;
-
+
// Enable syncing favicons as part of tab sync.
optional bool sync_tab_favicons = 29;
+
+ // The state of the passphrase required to decrypt |encryption_keybag|.
+ enum PassphraseType {
+ // Gaia-based encryption passphrase. Deprecated.
+ IMPLICIT_PASSPHRASE = 1;
+ // Keystore key encryption passphrase. Uses |keystore_bootstrap| to
+ // decrypt |encryption_keybag|.
+ KEYSTORE_PASSPHRASE = 2;
+ // Previous Gaia-based passphrase frozen and treated as a custom passphrase.
+ FROZEN_IMPLICIT_PASSPHRASE = 3;
+ // User provided custom passphrase.
+ CUSTOM_PASSPHRASE = 4;
+ }
+ optional PassphraseType passphrase_type = 30
+ [default = IMPLICIT_PASSPHRASE];
+
+ // The keystore decryptor token blob. Encrypted with the keystore key, and
+ // contains the encryption key used to decrypt |encryption_keybag|.
+ // Only set if passphrase_state == KEYSTORE_PASSPHRASE.
+ optional EncryptedData keystore_decryptor_token = 31;
+
+ // The time (in epoch milliseconds) at which the keystore migration was
+ // performed.
+ optional int64 keystore_migration_time = 32;
}
« no previous file with comments | « sync/protocol/client_debug_info.proto ('k') | sync/protocol/proto_enum_conversions.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698