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

Issue 7795002: [Sync] Gracefully handle writing to a node when the cryptographer is not ready. (Closed)

Created:
9 years, 3 months ago by Nicolas Zea
Modified:
9 years, 3 months ago
CC:
chromium-reviews, Raghu Simha, ncarter (slow), tim (not reviewing), idana
Visibility:
Public.

Description

[Sync] Gracefully handle writing to a node when the cryptographer is not ready. Due to allowing users to configure without a passphrase if they don't have passwords enabled, we can get into a situation where we require encryption of datatypes, but don't have the cryptographer enabled. When in this situation we need to ensure we don't corrupt any data. Once the user sets their passphrase, we will reencrypt everything, which will overwrite unsynced entries with their encrypted versions, allowing the sync cycle to finish. BUG=93100 TEST=sync_unit_tests --gtest_filter="*GetCommitIdsFilterEntries*" Also to manually test: set up sync on a machine with an explicit passphrase. Set up sync without passwords enabled on a separate machine and don't enter the passphrase. Enable encryption on the first client. Attempt to add a bookmark on the second client. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=98758

Patch Set 1 #

Patch Set 2 : Don't upload unsynced entries needing encryption #

Patch Set 3 : Comment #

Patch Set 4 : Ensure ReEncryptEverything is called properly #

Patch Set 5 : . #

Patch Set 6 : Rebase #

Total comments: 4

Patch Set 7 : Reviewer comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+178 lines, -32 lines) Patch
M chrome/browser/sync/engine/get_commit_ids_command.h View 1 2 1 chunk +7 lines, -0 lines 0 comments Download
M chrome/browser/sync/engine/get_commit_ids_command.cc View 1 2 3 4 5 6 3 chunks +43 lines, -0 lines 0 comments Download
M chrome/browser/sync/engine/nigori_util.h View 1 2 3 4 5 6 2 chunks +15 lines, -0 lines 0 comments Download
M chrome/browser/sync/engine/nigori_util.cc View 1 2 3 4 5 6 1 chunk +18 lines, -8 lines 0 comments Download
M chrome/browser/sync/engine/nigori_util_unittest.cc View 1 2 3 4 5 6 2 chunks +31 lines, -0 lines 0 comments Download
M chrome/browser/sync/engine/syncer_unittest.cc View 1 1 chunk +49 lines, -0 lines 0 comments Download
M chrome/browser/sync/internal_api/sync_manager.cc View 1 2 3 4 5 5 chunks +12 lines, -16 lines 0 comments Download
M chrome/browser/sync/internal_api/write_node.cc View 1 2 3 4 5 6 2 chunks +3 lines, -8 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
Nicolas Zea
Please take a look. I had to also slightly change the behavior of ReEncryptEverything, as ...
9 years, 3 months ago (2011-08-29 21:35:16 UTC) #1
tim (not reviewing)
http://codereview.chromium.org/7795002/diff/1003/chrome/browser/sync/engine/get_commit_ids_command.cc File chrome/browser/sync/engine/get_commit_ids_command.cc (right): http://codereview.chromium.org/7795002/diff/1003/chrome/browser/sync/engine/get_commit_ids_command.cc#newcode72 chrome/browser/sync/engine/get_commit_ids_command.cc:72: for (iter = unsynced_handles->begin(); Hm. I think we should ...
9 years, 3 months ago (2011-08-29 23:15:31 UTC) #2
Nicolas Zea
Comments addressed, PTAL http://codereview.chromium.org/7795002/diff/1003/chrome/browser/sync/engine/get_commit_ids_command.cc File chrome/browser/sync/engine/get_commit_ids_command.cc (right): http://codereview.chromium.org/7795002/diff/1003/chrome/browser/sync/engine/get_commit_ids_command.cc#newcode72 chrome/browser/sync/engine/get_commit_ids_command.cc:72: for (iter = unsynced_handles->begin(); On 2011/08/29 ...
9 years, 3 months ago (2011-08-30 00:44:22 UTC) #3
tim (not reviewing)
9 years, 3 months ago (2011-08-30 00:48:14 UTC) #4
LGTM

Powered by Google App Engine
This is Rietveld 408576698