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

Side by Side Diff: chrome/browser/sync/engine/syncer_util.cc

Issue 8468023: Move encryption related files from util folder to encryption folder. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: For review. Created 9 years, 1 month 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 #include "chrome/browser/sync/engine/syncer_util.h" 5 #include "chrome/browser/sync/engine/syncer_util.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
11 11
12 #include "base/location.h" 12 #include "base/location.h"
13 #include "chrome/browser/sync/engine/conflict_resolver.h" 13 #include "chrome/browser/sync/engine/conflict_resolver.h"
14 #include "chrome/browser/sync/engine/nigori_util.h" 14 #include "chrome/browser/sync/encryption/nigori_util.h"
15 #include "chrome/browser/sync/engine/syncer_proto_util.h" 15 #include "chrome/browser/sync/engine/syncer_proto_util.h"
16 #include "chrome/browser/sync/engine/syncer_types.h" 16 #include "chrome/browser/sync/engine/syncer_types.h"
17 #include "chrome/browser/sync/engine/syncproto.h" 17 #include "chrome/browser/sync/engine/syncproto.h"
18 #include "chrome/browser/sync/protocol/bookmark_specifics.pb.h" 18 #include "chrome/browser/sync/protocol/bookmark_specifics.pb.h"
19 #include "chrome/browser/sync/protocol/nigori_specifics.pb.h" 19 #include "chrome/browser/sync/protocol/nigori_specifics.pb.h"
20 #include "chrome/browser/sync/protocol/password_specifics.pb.h" 20 #include "chrome/browser/sync/protocol/password_specifics.pb.h"
21 #include "chrome/browser/sync/protocol/sync.pb.h" 21 #include "chrome/browser/sync/protocol/sync.pb.h"
22 #include "chrome/browser/sync/syncable/directory_manager.h" 22 #include "chrome/browser/sync/syncable/directory_manager.h"
23 #include "chrome/browser/sync/syncable/model_type.h" 23 #include "chrome/browser/sync/syncable/model_type.h"
24 #include "chrome/browser/sync/syncable/syncable.h" 24 #include "chrome/browser/sync/syncable/syncable.h"
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after
294 // ChangeProcessor. 294 // ChangeProcessor.
295 const sync_pb::EntitySpecifics& specifics = entry->Get(SERVER_SPECIFICS); 295 const sync_pb::EntitySpecifics& specifics = entry->Get(SERVER_SPECIFICS);
296 if (specifics.HasExtension(sync_pb::nigori)) { 296 if (specifics.HasExtension(sync_pb::nigori)) {
297 const sync_pb::NigoriSpecifics& nigori = 297 const sync_pb::NigoriSpecifics& nigori =
298 specifics.GetExtension(sync_pb::nigori); 298 specifics.GetExtension(sync_pb::nigori);
299 cryptographer->Update(nigori); 299 cryptographer->Update(nigori);
300 300
301 // Make sure any unsynced changes are properly encrypted as necessary. 301 // Make sure any unsynced changes are properly encrypted as necessary.
302 syncable::ModelTypeSet encrypted_types = 302 syncable::ModelTypeSet encrypted_types =
303 cryptographer->GetEncryptedTypes(); 303 cryptographer->GetEncryptedTypes();
304 if (!VerifyUnsyncedChangesAreEncrypted(trans, encrypted_types) && 304 if (!browser_sync::encryption::VerifyUnsyncedChangesAreEncrypted(
305 trans, encrypted_types) &&
305 (!cryptographer->is_ready() || 306 (!cryptographer->is_ready() ||
306 !syncable::ProcessUnsyncedChangesForEncryption(trans, 307 !browser_sync::encryption::ProcessUnsyncedChangesForEncryption(trans,
307 cryptographer))) { 308 cryptographer))) {
308 // We were unable to encrypt the changes, possibly due to a missing 309 // We were unable to encrypt the changes, possibly due to a missing
309 // passphrase. We return conflict, even though the conflict is with the 310 // passphrase. We return conflict, even though the conflict is with the
310 // unsynced change and not the nigori node. We ensure foward progress 311 // unsynced change and not the nigori node. We ensure foward progress
311 // because the cryptographer already has the pending keys set, so once 312 // because the cryptographer already has the pending keys set, so once
312 // the new passphrase is entered we should be able to encrypt properly. 313 // the new passphrase is entered we should be able to encrypt properly.
313 // And, because this update will not be applied yet, next time around 314 // And, because this update will not be applied yet, next time around
314 // we will properly encrypt all appropriate unsynced data. 315 // we will properly encrypt all appropriate unsynced data.
315 // Note: we return CONFLICT_ENCRYPTION instead of CONFLICT. See 316 // Note: we return CONFLICT_ENCRYPTION instead of CONFLICT. See
316 // explanation below. 317 // explanation below.
317 VLOG(1) << "Marking nigori node update as conflicting due to being unable" 318 VLOG(1) << "Marking nigori node update as conflicting due to being unable"
(...skipping 508 matching lines...) Expand 10 before | Expand all | Expand 10 after
826 if (update.version() < target->Get(SERVER_VERSION)) { 827 if (update.version() < target->Get(SERVER_VERSION)) {
827 LOG(WARNING) << "Update older than current server version for " 828 LOG(WARNING) << "Update older than current server version for "
828 << *target << " Update:" 829 << *target << " Update:"
829 << SyncerProtoUtil::SyncEntityDebugString(update); 830 << SyncerProtoUtil::SyncEntityDebugString(update);
830 return VERIFY_SUCCESS; // Expected in new sync protocol. 831 return VERIFY_SUCCESS; // Expected in new sync protocol.
831 } 832 }
832 return VERIFY_UNDECIDED; 833 return VERIFY_UNDECIDED;
833 } 834 }
834 835
835 } // namespace browser_sync 836 } // namespace browser_sync
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698