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

Issue 10916036: [Sync] Implement keystore migration support. (Closed)

Created:
8 years, 3 months ago by Nicolas Zea
Modified:
8 years, 3 months ago
CC:
chromium-reviews
Visibility:
Public.

Description

[Sync] Implement keystore migration support. We'll now trigger migration if the keystore key is available, the cryptographer is ready, and the nigori node isn't already properly migrated. Note that this means we won't trigger migration without at least the implicit gaia password already available to the cryptographer, in order to support backwards compatibility with older clients. Eventually that will change. In addition, once a nigori node has been migrated, any client that supports keystore encryption will follow the new encryption constraints, whether or not the --sync-keystore-encryption flag is passed. This means that if the user sets a custom passphrase, encrypt everything will also be enabled (and vice versa). Migration-aware conflict resolution is not implemented yet. BUG=129665 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=156646

Patch Set 1 #

Patch Set 2 : Self review and add test #

Patch Set 3 : Fix integration tests #

Patch Set 4 : Fix hybrid migrated scenarios #

Patch Set 5 : Self review #

Total comments: 27

Patch Set 6 : Address comments #

Total comments: 23

Patch Set 7 : Address comments 2 #

Patch Set 8 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2241 lines, -331 lines) Patch
M chrome/browser/sync/glue/sync_backend_host.h View 1 2 3 4 5 6 7 2 chunks +3 lines, -3 lines 0 comments Download
M chrome/browser/sync/glue/sync_backend_host.cc View 1 2 3 4 5 6 7 6 chunks +14 lines, -14 lines 0 comments Download
M sync/engine/apply_control_data_updates.cc View 1 2 3 4 5 6 7 1 chunk +3 lines, -3 lines 0 comments Download
M sync/engine/apply_control_data_updates_unittest.cc View 1 2 3 4 5 6 7 4 chunks +4 lines, -4 lines 0 comments Download
M sync/engine/syncer_unittest.cc View 1 2 3 4 5 6 7 8 chunks +11 lines, -10 lines 0 comments Download
M sync/internal_api/debug_info_event_listener.h View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M sync/internal_api/debug_info_event_listener.cc View 1 2 3 4 5 1 chunk +2 lines, -2 lines 0 comments Download
M sync/internal_api/js_sync_encryption_handler_observer.h View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M sync/internal_api/js_sync_encryption_handler_observer.cc View 1 2 3 4 5 1 chunk +5 lines, -5 lines 0 comments Download
M sync/internal_api/js_sync_encryption_handler_observer_unittest.cc View 1 2 3 4 5 1 chunk +6 lines, -6 lines 0 comments Download
M sync/internal_api/public/sync_encryption_handler.h View 1 2 3 4 5 3 chunks +3 lines, -3 lines 0 comments Download
M sync/internal_api/public/util/sync_string_conversions.h View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M sync/internal_api/public/util/sync_string_conversions.cc View 1 2 3 4 5 1 chunk +3 lines, -3 lines 0 comments Download
M sync/internal_api/sync_encryption_handler_impl.h View 1 2 3 4 5 6 8 chunks +93 lines, -3 lines 0 comments Download
M sync/internal_api/sync_encryption_handler_impl.cc View 1 2 3 4 5 6 7 23 chunks +607 lines, -112 lines 0 comments Download
M sync/internal_api/sync_encryption_handler_impl_unittest.cc View 1 2 3 4 5 6 7 9 chunks +1211 lines, -10 lines 0 comments Download
M sync/internal_api/sync_manager_impl.h View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M sync/internal_api/sync_manager_impl.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M sync/internal_api/sync_manager_impl_unittest.cc View 1 2 3 4 5 6 7 20 chunks +37 lines, -33 lines 0 comments Download
M sync/protocol/client_debug_info.proto View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M sync/protocol/nigori_specifics.proto View 1 2 3 4 5 6 2 chunks +31 lines, -5 lines 0 comments Download
M sync/protocol/proto_enum_conversions.h View 1 2 3 4 5 1 chunk +3 lines, -0 lines 0 comments Download
M sync/protocol/proto_enum_conversions.cc View 1 2 3 4 5 6 7 1 chunk +14 lines, -0 lines 0 comments Download
M sync/protocol/proto_value_conversions.cc View 1 2 3 4 5 6 3 chunks +5 lines, -3 lines 0 comments Download
M sync/test/fake_sync_encryption_handler.h View 1 2 3 4 5 2 chunks +2 lines, -2 lines 0 comments Download
M sync/test/fake_sync_encryption_handler.cc View 1 2 3 4 5 6 4 chunks +11 lines, -10 lines 0 comments Download
M sync/util/cryptographer.h View 1 2 3 4 5 4 chunks +40 lines, -10 lines 0 comments Download
M sync/util/cryptographer.cc View 1 2 3 4 5 9 chunks +116 lines, -63 lines 0 comments Download
M sync/util/cryptographer_unittest.cc View 1 2 3 4 5 1 chunk +11 lines, -21 lines 0 comments Download

Messages

Total messages: 8 (0 generated)
Nicolas Zea
PTAL! Still need to implement the conflict resolution support and modifications to the UI, but ...
8 years, 3 months ago (2012-08-31 00:07:50 UTC) #1
tim (not reviewing)
Still wrapping my head around all this :) We discussed the main issue I noticed ...
8 years, 3 months ago (2012-09-06 01:04:20 UTC) #2
Nicolas Zea
Comments addressed, PTAL. s/PassphraseState/PassphraseType made this patch a lot bigger, but it's just renames. http://codereview.chromium.org/10916036/diff/5003/sync/internal_api/sync_encryption_handler_impl.cc ...
8 years, 3 months ago (2012-09-06 21:45:27 UTC) #3
tim (not reviewing)
s/keystore_decryptor/keystore_decryptor_token, or something, to denote that it's just state and not a component responsible for ...
8 years, 3 months ago (2012-09-10 20:41:51 UTC) #4
Nicolas Zea
Comments addressed, PTAL. http://codereview.chromium.org/10916036/diff/4005/sync/internal_api/sync_encryption_handler_impl.cc File sync/internal_api/sync_encryption_handler_impl.cc (right): http://codereview.chromium.org/10916036/diff/4005/sync/internal_api/sync_encryption_handler_impl.cc#newcode681 sync/internal_api/sync_encryption_handler_impl.cc:681: nigori_passphrase_type == CUSTOM_PASSPHRASE)) { On 2012/09/10 ...
8 years, 3 months ago (2012-09-11 14:21:31 UTC) #5
tim (not reviewing)
Okay, I don't think I'm going to find any more bugs by inspection on this ...
8 years, 3 months ago (2012-09-13 19:00:18 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/zea@chromium.org/10916036/3020
8 years, 3 months ago (2012-09-13 19:39:02 UTC) #7
commit-bot: I haz the power
8 years, 3 months ago (2012-09-13 21:52:30 UTC) #8
Change committed as 156646

Powered by Google App Engine
This is Rietveld 408576698