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

Side by Side 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: Self review 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 unified diff | Download patch | Annotate | Revision Log
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 // Sync protocol datatype extension for nigori keys. 5 // Sync protocol datatype extension for nigori keys.
6 6
7 // Update proto_value_conversions{.h,.cc,_unittest.cc} if you change 7 // Update proto_value_conversions{.h,.cc,_unittest.cc} if you change
8 // any fields in this file. 8 // any fields in this file.
9 9
10 syntax = "proto2"; 10 syntax = "proto2";
(...skipping 29 matching lines...) Expand all
40 40
41 // The platform of the device (ChromeOS, Linux, Mac, or Windows). 41 // The platform of the device (ChromeOS, Linux, Mac, or Windows).
42 optional string platform = 3; 42 optional string platform = 3;
43 43
44 // The Chrome version of the sync-enabled Chrome browser. 44 // The Chrome version of the sync-enabled Chrome browser.
45 optional string chrome_version = 4; 45 optional string chrome_version = 4;
46 } 46 }
47 47
48 // Properties of nigori sync object. 48 // Properties of nigori sync object.
49 message NigoriSpecifics { 49 message NigoriSpecifics {
50 optional EncryptedData encrypted = 1; 50 optional EncryptedData encryption_keybag = 1;
51 // True if |encrypted| is encrypted using a passphrase 51 // True if |encrypted| is encrypted using a passphrase
52 // explicitly set by the user. 52 // explicitly set by the user.
53 optional bool using_explicit_passphrase = 2; 53 optional bool frozen_keybag = 2;
54 54
55 // Obsolete encryption fields. These were deprecated due to legacy versions 55 // Obsolete encryption fields. These were deprecated due to legacy versions
56 // that understand their usage but did not perform encryption properly. 56 // that understand their usage but did not perform encryption properly.
57 // optional bool deprecated_encrypt_bookmarks = 3; 57 // optional bool deprecated_encrypt_bookmarks = 3;
58 // optional bool deprecated_encrypt_preferences = 4; 58 // optional bool deprecated_encrypt_preferences = 4;
59 // optional bool deprecated_encrypt_autofill_profile = 5; 59 // optional bool deprecated_encrypt_autofill_profile = 5;
60 // optional bool deprecated_encrypt_autofill = 6; 60 // optional bool deprecated_encrypt_autofill = 6;
61 // optional bool deprecated_encrypt_themes = 7; 61 // optional bool deprecated_encrypt_themes = 7;
62 // optional bool deprecated_encrypt_typed_urls = 8; 62 // optional bool deprecated_encrypt_typed_urls = 8;
63 // optional bool deprecated_encrypt_extensions = 9; 63 // optional bool deprecated_encrypt_extensions = 9;
(...skipping 20 matching lines...) Expand all
84 // If true, all current and future datatypes will be encrypted. 84 // If true, all current and future datatypes will be encrypted.
85 optional bool encrypt_everything = 24; 85 optional bool encrypt_everything = 24;
86 86
87 optional bool encrypt_extension_settings = 25; 87 optional bool encrypt_extension_settings = 25;
88 optional bool encrypt_app_notifications = 26; 88 optional bool encrypt_app_notifications = 26;
89 optional bool encrypt_app_settings = 27; 89 optional bool encrypt_app_settings = 27;
90 90
91 // User device information. Contains information about each device that has a 91 // User device information. Contains information about each device that has a
92 // sync-enabled Chrome browser connected to the user account. 92 // sync-enabled Chrome browser connected to the user account.
93 repeated DeviceInformation device_information = 28; 93 repeated DeviceInformation device_information = 28;
94 94
95 // Enable syncing favicons as part of tab sync. 95 // Enable syncing favicons as part of tab sync.
96 optional bool sync_tab_favicons = 29; 96 optional bool sync_tab_favicons = 29;
97
98 // The state of the passphrase required to decrypt |encryption_keybag|.
99 enum PassphraseState {
tim (not reviewing) 2012/09/06 01:04:20 We called this PassphraseState elsewhere but it's
Nicolas Zea 2012/09/06 21:45:27 Done. And changed the chrome enum as well.
100 // Gaia-based encryption passphrase. Deprecated.
101 IMPLICIT_PASSPHRASE = 1;
102 // Keystore key encryption passphrase. Uses |keystore_bootstrap| to
103 // decrypt |encryption_keybag|.
104 KEYSTORE_PASSPHRASE = 2;
105 // Previous Gaia-based passphrase frozen and treated as a custom passphrase.
106 FROZEN_IMPLICIT_PASSPHRASE = 3;
107 // User provided custom passphrase.
108 CUSTOM_PASSPHRASE = 4;
109 }
110 optional PassphraseState passphrase_state = 30
111 [default = IMPLICIT_PASSPHRASE];
tim (not reviewing) 2012/09/06 01:04:20 it... seems a bit weird to make the default the va
Nicolas Zea 2012/09/06 21:45:27 I think it's correct though. The "migrated" state
112
113 // The keystore bootstrap blob. Encrypted with the keystore key, and contains
114 // the encryption key used to decrypt |encryption_keybag|.
115 // Only set if passphrase_state == KEYSTORE_PASSPHRASE.
116 optional EncryptedData keystore_bootstrap = 31;
117
118 // The time (in epoch milliseconds) at which the keystore migration was
119 // performed.
120 optional int64 keystore_migration_time = 32;
97 } 121 }
98 122
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698