Index: components/sync/core_impl/sync_encryption_handler_impl.cc |
diff --git a/sync/internal_api/sync_encryption_handler_impl.cc b/components/sync/core_impl/sync_encryption_handler_impl.cc |
similarity index 89% |
rename from sync/internal_api/sync_encryption_handler_impl.cc |
rename to components/sync/core_impl/sync_encryption_handler_impl.cc |
index a4aafb6c9189efe9f10ab0d3f45174e844257542..97bb4f10657aca7d2707666e4eb0fe5df113237f 100644 |
--- a/sync/internal_api/sync_encryption_handler_impl.cc |
+++ b/components/sync/core_impl/sync_encryption_handler_impl.cc |
@@ -2,7 +2,7 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "sync/internal_api/sync_encryption_handler_impl.h" |
+#include "components/sync/core_impl/sync_encryption_handler_impl.h" |
#include <stddef.h> |
#include <stdint.h> |
@@ -20,26 +20,26 @@ |
#include "base/threading/thread_task_runner_handle.h" |
#include "base/time/time.h" |
#include "base/tracked_objects.h" |
-#include "sync/internal_api/public/read_node.h" |
-#include "sync/internal_api/public/read_transaction.h" |
-#include "sync/internal_api/public/user_share.h" |
-#include "sync/internal_api/public/util/experiments.h" |
-#include "sync/internal_api/public/util/sync_string_conversions.h" |
-#include "sync/internal_api/public/write_node.h" |
-#include "sync/internal_api/public/write_transaction.h" |
-#include "sync/protocol/encryption.pb.h" |
-#include "sync/protocol/nigori_specifics.pb.h" |
-#include "sync/protocol/sync.pb.h" |
-#include "sync/syncable/directory.h" |
-#include "sync/syncable/entry.h" |
-#include "sync/syncable/mutable_entry.h" |
-#include "sync/syncable/nigori_util.h" |
-#include "sync/syncable/syncable_base_transaction.h" |
-#include "sync/syncable/syncable_model_neutral_write_transaction.h" |
-#include "sync/syncable/syncable_write_transaction.h" |
-#include "sync/util/cryptographer.h" |
-#include "sync/util/encryptor.h" |
-#include "sync/util/time.h" |
+#include "components/sync/base/cryptographer.h" |
+#include "components/sync/base/encryptor.h" |
+#include "components/sync/base/experiments.h" |
+#include "components/sync/base/sync_string_conversions.h" |
+#include "components/sync/base/time.h" |
+#include "components/sync/core/read_node.h" |
+#include "components/sync/core/read_transaction.h" |
+#include "components/sync/core/user_share.h" |
+#include "components/sync/core/write_node.h" |
+#include "components/sync/core/write_transaction.h" |
+#include "components/sync/protocol/encryption.pb.h" |
+#include "components/sync/protocol/nigori_specifics.pb.h" |
+#include "components/sync/protocol/sync.pb.h" |
+#include "components/sync/syncable/directory.h" |
+#include "components/sync/syncable/entry.h" |
+#include "components/sync/syncable/mutable_entry.h" |
+#include "components/sync/syncable/nigori_util.h" |
+#include "components/sync/syncable/syncable_base_transaction.h" |
+#include "components/sync/syncable/syncable_model_neutral_write_transaction.h" |
+#include "components/sync/syncable/syncable_write_transaction.h" |
namespace syncer { |
@@ -84,8 +84,7 @@ bool IsNigoriMigratedToKeystore(const sync_pb::NigoriSpecifics& nigori) { |
return false; |
if (!nigori.keybag_is_frozen()) |
return false; |
- if (nigori.passphrase_type() == |
- sync_pb::NigoriSpecifics::IMPLICIT_PASSPHRASE) |
+ if (nigori.passphrase_type() == sync_pb::NigoriSpecifics::IMPLICIT_PASSPHRASE) |
return false; |
if (nigori.passphrase_type() == |
sync_pb::NigoriSpecifics::KEYSTORE_PASSPHRASE && |
@@ -111,8 +110,8 @@ PassphraseType ProtoPassphraseTypeToEnum( |
} |
} |
-sync_pb::NigoriSpecifics::PassphraseType |
-EnumPassphraseTypeToProto(PassphraseType type) { |
+sync_pb::NigoriSpecifics::PassphraseType EnumPassphraseTypeToProto( |
+ PassphraseType type) { |
switch (type) { |
case IMPLICIT_PASSPHRASE: |
return sync_pb::NigoriSpecifics::IMPLICIT_PASSPHRASE; |
@@ -154,18 +153,16 @@ std::string PackKeystoreBootstrapToken( |
JSONStringValueSerializer json(&serialized_keystores); |
json.Serialize(keystore_key_values); |
std::string encrypted_keystores; |
- encryptor->EncryptString(serialized_keystores, |
- &encrypted_keystores); |
+ encryptor->EncryptString(serialized_keystores, &encrypted_keystores); |
std::string keystore_bootstrap; |
base::Base64Encode(encrypted_keystores, &keystore_bootstrap); |
return keystore_bootstrap; |
} |
-bool UnpackKeystoreBootstrapToken( |
- const std::string& keystore_bootstrap_token, |
- Encryptor* encryptor, |
- std::vector<std::string>* old_keystore_keys, |
- std::string* current_keystore_key) { |
+bool UnpackKeystoreBootstrapToken(const std::string& keystore_bootstrap_token, |
+ Encryptor* encryptor, |
+ std::vector<std::string>* old_keystore_keys, |
+ std::string* current_keystore_key) { |
if (keystore_bootstrap_token.empty()) |
return false; |
std::string base64_decoded_keystore_bootstrap; |
@@ -200,15 +197,11 @@ bool UnpackKeystoreBootstrapToken( |
} // namespace |
-SyncEncryptionHandlerImpl::Vault::Vault( |
- Encryptor* encryptor, |
- ModelTypeSet encrypted_types) |
- : cryptographer(encryptor), |
- encrypted_types(encrypted_types) { |
-} |
+SyncEncryptionHandlerImpl::Vault::Vault(Encryptor* encryptor, |
+ ModelTypeSet encrypted_types) |
+ : cryptographer(encryptor), encrypted_types(encrypted_types) {} |
-SyncEncryptionHandlerImpl::Vault::~Vault() { |
-} |
+SyncEncryptionHandlerImpl::Vault::~Vault() {} |
SyncEncryptionHandlerImpl::SyncEncryptionHandlerImpl( |
UserShare* user_share, |
@@ -227,11 +220,8 @@ SyncEncryptionHandlerImpl::SyncEncryptionHandlerImpl( |
// If this fails, we won't have a valid keystore key, and will simply request |
// new ones from the server on the next DownloadUpdates. |
- UnpackKeystoreBootstrapToken( |
- restored_keystore_key_for_bootstrapping, |
- encryptor, |
- &old_keystore_keys_, |
- &keystore_key_); |
+ UnpackKeystoreBootstrapToken(restored_keystore_key_for_bootstrapping, |
+ encryptor, &old_keystore_keys_, &keystore_key_); |
} |
SyncEncryptionHandlerImpl::~SyncEncryptionHandlerImpl() {} |
@@ -260,22 +250,19 @@ void SyncEncryptionHandlerImpl::Init() { |
WriteEncryptionStateToNigori(&trans); |
} |
- UMA_HISTOGRAM_ENUMERATION("Sync.PassphraseType", |
- GetPassphraseType(), |
+ UMA_HISTOGRAM_ENUMERATION("Sync.PassphraseType", GetPassphraseType(), |
PASSPHRASE_TYPE_SIZE); |
- bool has_pending_keys = UnlockVault( |
- trans.GetWrappedTrans()).cryptographer.has_pending_keys(); |
- bool is_ready = UnlockVault( |
- trans.GetWrappedTrans()).cryptographer.is_ready(); |
+ bool has_pending_keys = |
+ UnlockVault(trans.GetWrappedTrans()).cryptographer.has_pending_keys(); |
+ bool is_ready = UnlockVault(trans.GetWrappedTrans()).cryptographer.is_ready(); |
// Log the state of the cryptographer regardless of migration state. |
UMA_HISTOGRAM_BOOLEAN("Sync.CryptographerReady", is_ready); |
UMA_HISTOGRAM_BOOLEAN("Sync.CryptographerPendingKeys", has_pending_keys); |
if (IsNigoriMigratedToKeystore(node.GetNigoriSpecifics())) { |
// This account has a nigori node that has been migrated to support |
// keystore. |
- UMA_HISTOGRAM_ENUMERATION("Sync.NigoriMigrationState", |
- MIGRATED, |
+ UMA_HISTOGRAM_ENUMERATION("Sync.NigoriMigrationState", MIGRATED, |
MIGRATION_STATE_SIZE); |
if (has_pending_keys && passphrase_type_ == KEYSTORE_PASSPHRASE) { |
// If this is happening, it means the keystore decryptor is either |
@@ -305,17 +292,14 @@ void SyncEncryptionHandlerImpl::Init() { |
MIGRATION_STATE_SIZE); |
} |
- |
// Always trigger an encrypted types and cryptographer state change event at |
// init time so observers get the initial values. |
+ FOR_EACH_OBSERVER(Observer, observers_, |
+ OnEncryptedTypesChanged( |
+ UnlockVault(trans.GetWrappedTrans()).encrypted_types, |
+ encrypt_everything_)); |
FOR_EACH_OBSERVER( |
- Observer, observers_, |
- OnEncryptedTypesChanged( |
- UnlockVault(trans.GetWrappedTrans()).encrypted_types, |
- encrypt_everything_)); |
- FOR_EACH_OBSERVER( |
- SyncEncryptionHandler::Observer, |
- observers_, |
+ SyncEncryptionHandler::Observer, observers_, |
OnCryptographerStateChanged( |
&UnlockVaultMutable(trans.GetWrappedTrans())->cryptographer)); |
@@ -409,8 +393,7 @@ void SyncEncryptionHandlerImpl::SetEncryptionPassphrase( |
custom_passphrase_time_ = base::Time::Now(); |
FOR_EACH_OBSERVER(SyncEncryptionHandler::Observer, observers_, |
OnPassphraseTypeChanged( |
- passphrase_type_, |
- GetExplicitPassphraseTime())); |
+ passphrase_type_, GetExplicitPassphraseTime())); |
} else { |
DVLOG(1) << "Setting implicit passphrase for encryption."; |
} |
@@ -462,8 +445,8 @@ void SyncEncryptionHandlerImpl::SetEncryptionPassphrase( |
cryptographer->AddKey(key_params); |
success = false; |
} |
- } // is_explicit |
- } // cryptographer->has_pending_keys() |
+ } // is_explicit |
+ } // cryptographer->has_pending_keys() |
} else { // IsExplicitPassphrase(passphrase_type_) == true. |
// Case 6. We do not want to override a previously set explicit passphrase, |
// so we return a failure. |
@@ -572,8 +555,7 @@ void SyncEncryptionHandlerImpl::SetDecryptionPassphrase( |
<< "decryption, restoring implicit internal passphrase " |
<< "as default."; |
std::string bootstrap_token_from_current_key; |
- cryptographer->GetBootstrapToken( |
- &bootstrap_token_from_current_key); |
+ cryptographer->GetBootstrapToken(&bootstrap_token_from_current_key); |
cryptographer->DecryptPendingKeys(key_params); |
// Overwrite the default from the pending keys. |
cryptographer->AddKeyFromBootstrapToken( |
@@ -583,7 +565,7 @@ void SyncEncryptionHandlerImpl::SetDecryptionPassphrase( |
} else { // !temp_cryptographer.DecryptPendingKeys(..) |
DVLOG(1) << "Implicit user provided passphrase failed to decrypt."; |
success = false; |
- } // temp_cryptographer.DecryptPendingKeys(...) |
+ } // temp_cryptographer.DecryptPendingKeys(...) |
} else { // cryptographer->is_initialized() == false |
if (cryptographer->DecryptPendingKeys(key_params)) { |
// This can happpen in two cases: |
@@ -605,7 +587,7 @@ void SyncEncryptionHandlerImpl::SetDecryptionPassphrase( |
DVLOG(1) << "Implicit user provided passphrase failed to decrypt."; |
success = false; |
} |
- } // cryptographer->is_initialized() |
+ } // cryptographer->is_initialized() |
} else { // nigori_has_explicit_passphrase == true |
// Case 9. Encryption was done with an explicit passphrase, and we decrypt |
// with the passphrase provided by the user. |
@@ -664,10 +646,8 @@ void SyncEncryptionHandlerImpl::ApplyNigoriUpdate( |
} |
FOR_EACH_OBSERVER( |
- SyncEncryptionHandler::Observer, |
- observers_, |
- OnCryptographerStateChanged( |
- &UnlockVaultMutable(trans)->cryptographer)); |
+ SyncEncryptionHandler::Observer, observers_, |
+ OnCryptographerStateChanged(&UnlockVaultMutable(trans)->cryptographer)); |
} |
void SyncEncryptionHandlerImpl::UpdateNigoriFromEncryptedTypes( |
@@ -675,8 +655,7 @@ void SyncEncryptionHandlerImpl::UpdateNigoriFromEncryptedTypes( |
syncable::BaseTransaction* const trans) const { |
DCHECK(thread_checker_.CalledOnValidThread()); |
syncable::UpdateNigoriFromEncryptedTypes(UnlockVault(trans).encrypted_types, |
- encrypt_everything_, |
- nigori); |
+ encrypt_everything_, nigori); |
} |
bool SyncEncryptionHandlerImpl::NeedKeystoreKey( |
@@ -713,13 +692,11 @@ bool SyncEncryptionHandlerImpl::SetKeystoreKeys( |
// which will force us to download the keystore keys again on the next |
// restart. |
std::string keystore_bootstrap = PackKeystoreBootstrapToken( |
- old_keystore_keys_, |
- keystore_key_, |
- cryptographer->encryptor()); |
+ old_keystore_keys_, keystore_key_, cryptographer->encryptor()); |
- FOR_EACH_OBSERVER(SyncEncryptionHandler::Observer, observers_, |
- OnBootstrapTokenUpdated(keystore_bootstrap, |
- KEYSTORE_BOOTSTRAP_TOKEN)); |
+ FOR_EACH_OBSERVER( |
+ SyncEncryptionHandler::Observer, observers_, |
+ OnBootstrapTokenUpdated(keystore_bootstrap, KEYSTORE_BOOTSTRAP_TOKEN)); |
DVLOG(1) << "Keystore bootstrap token updated."; |
// If this is a first time sync, we get the encryption keys before we process |
@@ -729,17 +706,14 @@ bool SyncEncryptionHandlerImpl::SetKeystoreKeys( |
if (!entry.good()) |
return true; |
- const sync_pb::NigoriSpecifics& nigori = |
- entry.GetSpecifics().nigori(); |
- if (cryptographer->has_pending_keys() && |
- IsNigoriMigratedToKeystore(nigori) && |
+ const sync_pb::NigoriSpecifics& nigori = entry.GetSpecifics().nigori(); |
+ if (cryptographer->has_pending_keys() && IsNigoriMigratedToKeystore(nigori) && |
!nigori.keystore_decryptor_token().blob().empty()) { |
// If the nigori is already migrated and we have pending keys, we might |
// be able to decrypt them using either the keystore decryptor token |
// or the existing keystore keys. |
- DecryptPendingKeysWithKeystoreKey(keystore_key_, |
- nigori.keystore_decryptor_token(), |
- cryptographer); |
+ DecryptPendingKeysWithKeystoreKey( |
+ keystore_key_, nigori.keystore_decryptor_token(), cryptographer); |
} |
// Note that triggering migration will have no effect if we're already |
@@ -820,8 +794,7 @@ void SyncEncryptionHandlerImpl::RestoreNigori( |
// which data for some or all types is not currently available. In that case, |
// the lookup of the root node will fail and we will skip encryption for that |
// type. |
-void SyncEncryptionHandlerImpl::ReEncryptEverything( |
- WriteTransaction* trans) { |
+void SyncEncryptionHandlerImpl::ReEncryptEverything(WriteTransaction* trans) { |
DCHECK(thread_checker_.CalledOnValidThread()); |
DCHECK(UnlockVault(trans->GetWrappedTrans()).cryptographer.is_ready()); |
for (ModelTypeSet::Iterator iter = |
@@ -851,8 +824,8 @@ void SyncEncryptionHandlerImpl::ReEncryptEverything( |
to_visit.push(child.GetFirstChildId()); |
} |
if (!child.GetIsPermanentFolder()) { |
- // Rewrite the specifics of the node with encrypted data if necessary |
- // (only rewrite the non-unique folders). |
+ // Rewrite the specifics of the node with encrypted data if necessary |
+ // (only rewrite the non-unique folders). |
child.ResetFromSpecifics(); |
} |
to_visit.push(child.GetSuccessorId()); |
@@ -885,12 +858,11 @@ bool SyncEncryptionHandlerImpl::ApplyNigoriUpdateImpl( |
syncable::BaseTransaction* const trans) { |
DCHECK(thread_checker_.CalledOnValidThread()); |
DVLOG(1) << "Applying nigori node update."; |
- bool nigori_types_need_update = !UpdateEncryptedTypesFromNigori(nigori, |
- trans); |
+ bool nigori_types_need_update = |
+ !UpdateEncryptedTypesFromNigori(nigori, trans); |
if (nigori.custom_passphrase_time() != 0) { |
- custom_passphrase_time_ = |
- ProtoTimeToTime(nigori.custom_passphrase_time()); |
+ custom_passphrase_time_ = ProtoTimeToTime(nigori.custom_passphrase_time()); |
} |
bool is_nigori_migrated = IsNigoriMigratedToKeystore(nigori); |
if (is_nigori_migrated) { |
@@ -911,14 +883,12 @@ bool SyncEncryptionHandlerImpl::ApplyNigoriUpdateImpl( |
(passphrase_type_ == IMPLICIT_PASSPHRASE || |
nigori_passphrase_type == CUSTOM_PASSPHRASE)) { |
DVLOG(1) << "Changing passphrase state from " |
- << PassphraseTypeToString(passphrase_type_) |
- << " to " |
+ << PassphraseTypeToString(passphrase_type_) << " to " |
<< PassphraseTypeToString(nigori_passphrase_type); |
passphrase_type_ = nigori_passphrase_type; |
FOR_EACH_OBSERVER(SyncEncryptionHandler::Observer, observers_, |
- OnPassphraseTypeChanged( |
- passphrase_type_, |
- GetExplicitPassphraseTime())); |
+ OnPassphraseTypeChanged(passphrase_type_, |
+ GetExplicitPassphraseTime())); |
} |
if (passphrase_type_ == KEYSTORE_PASSPHRASE && encrypt_everything_) { |
// This is the case where another client that didn't support keystore |
@@ -931,20 +901,17 @@ bool SyncEncryptionHandlerImpl::ApplyNigoriUpdateImpl( |
<< "due to full encryption."; |
passphrase_type_ = FROZEN_IMPLICIT_PASSPHRASE; |
FOR_EACH_OBSERVER(SyncEncryptionHandler::Observer, observers_, |
- OnPassphraseTypeChanged( |
- passphrase_type_, |
- GetExplicitPassphraseTime())); |
+ OnPassphraseTypeChanged(passphrase_type_, |
+ GetExplicitPassphraseTime())); |
} |
} else { |
// It's possible that while we're waiting for migration a client that does |
// not have keystore encryption enabled switches to a custom passphrase. |
- if (nigori.keybag_is_frozen() && |
- passphrase_type_ != CUSTOM_PASSPHRASE) { |
+ if (nigori.keybag_is_frozen() && passphrase_type_ != CUSTOM_PASSPHRASE) { |
passphrase_type_ = CUSTOM_PASSPHRASE; |
FOR_EACH_OBSERVER(SyncEncryptionHandler::Observer, observers_, |
- OnPassphraseTypeChanged( |
- passphrase_type_, |
- GetExplicitPassphraseTime())); |
+ OnPassphraseTypeChanged(passphrase_type_, |
+ GetExplicitPassphraseTime())); |
} |
} |
@@ -961,8 +928,7 @@ bool SyncEncryptionHandlerImpl::ApplyNigoriUpdateImpl( |
need_new_default_key = nigori.keybag_is_frozen(); |
} |
if (!AttemptToInstallKeybag(nigori.encryption_keybag(), |
- need_new_default_key, |
- cryptographer)) { |
+ need_new_default_key, cryptographer)) { |
// Check to see if we can decrypt the keybag using the keystore decryptor |
// token. |
cryptographer->SetPendingKeys(nigori.encryption_keybag()); |
@@ -998,14 +964,13 @@ bool SyncEncryptionHandlerImpl::ApplyNigoriUpdateImpl( |
DVLOG(1) << "OnPassphraseRequired Sent"; |
sync_pb::EncryptedData pending_keys = cryptographer->GetPendingKeys(); |
FOR_EACH_OBSERVER(SyncEncryptionHandler::Observer, observers_, |
- OnPassphraseRequired(REASON_DECRYPTION, |
- pending_keys)); |
+ OnPassphraseRequired(REASON_DECRYPTION, pending_keys)); |
} else if (!cryptographer->is_ready()) { |
DVLOG(1) << "OnPassphraseRequired sent because cryptographer is not " |
<< "ready"; |
- FOR_EACH_OBSERVER(SyncEncryptionHandler::Observer, observers_, |
- OnPassphraseRequired(REASON_ENCRYPTION, |
- sync_pb::EncryptedData())); |
+ FOR_EACH_OBSERVER( |
+ SyncEncryptionHandler::Observer, observers_, |
+ OnPassphraseRequired(REASON_ENCRYPTION, sync_pb::EncryptedData())); |
} |
// Check if the current local encryption state is stricter/newer than the |
@@ -1020,12 +985,11 @@ bool SyncEncryptionHandlerImpl::ApplyNigoriUpdateImpl( |
} else { |
passphrase_type_matches = |
(ProtoPassphraseTypeToEnum(nigori.passphrase_type()) == |
- passphrase_type_); |
+ passphrase_type_); |
} |
if (!passphrase_type_matches || |
nigori.encrypt_everything() != encrypt_everything_ || |
- nigori_types_need_update || |
- nigori_needs_new_keys) { |
+ nigori_types_need_update || nigori_needs_new_keys) { |
DVLOG(1) << "Triggering nigori rewrite."; |
return false; |
} |
@@ -1079,8 +1043,7 @@ void SyncEncryptionHandlerImpl::WriteEncryptionStateToNigori( |
} |
syncable::UpdateNigoriFromEncryptedTypes( |
UnlockVault(trans->GetWrappedTrans()).encrypted_types, |
- encrypt_everything_, |
- &nigori); |
+ encrypt_everything_, &nigori); |
if (!custom_passphrase_time_.is_null()) { |
nigori.set_custom_passphrase_time( |
TimeToProtoTime(custom_passphrase_time_)); |
@@ -1234,8 +1197,7 @@ void SyncEncryptionHandlerImpl::FinishSetPassphrase( |
WriteNode* nigori_node) { |
DCHECK(thread_checker_.CalledOnValidThread()); |
FOR_EACH_OBSERVER( |
- SyncEncryptionHandler::Observer, |
- observers_, |
+ SyncEncryptionHandler::Observer, observers_, |
OnCryptographerStateChanged( |
&UnlockVaultMutable(trans->GetWrappedTrans())->cryptographer)); |
@@ -1244,9 +1206,9 @@ void SyncEncryptionHandlerImpl::FinishSetPassphrase( |
// passphrase). |
if (!bootstrap_token.empty()) { |
DVLOG(1) << "Passphrase bootstrap token updated."; |
- FOR_EACH_OBSERVER(SyncEncryptionHandler::Observer, observers_, |
- OnBootstrapTokenUpdated(bootstrap_token, |
- PASSPHRASE_BOOTSTRAP_TOKEN)); |
+ FOR_EACH_OBSERVER( |
+ SyncEncryptionHandler::Observer, observers_, |
+ OnBootstrapTokenUpdated(bootstrap_token, PASSPHRASE_BOOTSTRAP_TOKEN)); |
} |
const Cryptographer& cryptographer = |
@@ -1260,9 +1222,9 @@ void SyncEncryptionHandlerImpl::FinishSetPassphrase( |
OnPassphraseRequired(REASON_DECRYPTION, |
cryptographer.GetPendingKeys())); |
} else { |
- FOR_EACH_OBSERVER(SyncEncryptionHandler::Observer, observers_, |
- OnPassphraseRequired(REASON_ENCRYPTION, |
- sync_pb::EncryptedData())); |
+ FOR_EACH_OBSERVER( |
+ SyncEncryptionHandler::Observer, observers_, |
+ OnPassphraseRequired(REASON_ENCRYPTION, sync_pb::EncryptedData())); |
} |
return; |
} |
@@ -1284,8 +1246,7 @@ void SyncEncryptionHandlerImpl::FinishSetPassphrase( |
DVLOG(1) << "Leaving nigori migration state untouched after setting" |
<< " passphrase."; |
} else { |
- nigori.set_keybag_is_frozen( |
- IsExplicitPassphrase(passphrase_type_)); |
+ nigori.set_keybag_is_frozen(IsExplicitPassphrase(passphrase_type_)); |
} |
// If we set a new custom passphrase, store the timestamp. |
if (!custom_passphrase_time_.is_null()) { |
@@ -1354,15 +1315,13 @@ bool SyncEncryptionHandlerImpl::ShouldTriggerMigration( |
nigori.passphrase_type() == |
sync_pb::NigoriSpecifics::KEYSTORE_PASSPHRASE) { |
return true; |
- } else if (IsExplicitPassphrase(passphrase_type_) && |
- !encrypt_everything_) { |
+ } else if (IsExplicitPassphrase(passphrase_type_) && !encrypt_everything_) { |
return true; |
- } else if (passphrase_type_ == KEYSTORE_PASSPHRASE && |
- encrypt_everything_) { |
+ } else if (passphrase_type_ == KEYSTORE_PASSPHRASE && encrypt_everything_) { |
return true; |
- } else if ( |
- cryptographer.is_ready() && |
- !cryptographer.CanDecryptUsingDefaultKey(nigori.encryption_keybag())) { |
+ } else if (cryptographer.is_ready() && |
+ !cryptographer.CanDecryptUsingDefaultKey( |
+ nigori.encryption_keybag())) { |
// We need to overwrite the keybag. This might involve overwriting the |
// keystore decryptor too. |
return true; |
@@ -1448,10 +1407,8 @@ bool SyncEncryptionHandlerImpl::AttemptToMigrateNigoriToKeystore( |
return false; |
} |
if (!cryptographer_was_ready && cryptographer->is_ready()) { |
- FOR_EACH_OBSERVER( |
- SyncEncryptionHandler::Observer, |
- observers_, |
- OnPassphraseAccepted()); |
+ FOR_EACH_OBSERVER(SyncEncryptionHandler::Observer, observers_, |
+ OnPassphraseAccepted()); |
} |
} else { |
// We're in backwards compatible mode -- either the account has an |
@@ -1473,16 +1430,15 @@ bool SyncEncryptionHandlerImpl::AttemptToMigrateNigoriToKeystore( |
// they'll be preserved in the encryption_keybag when we next write the |
// nigori node. |
for (std::vector<std::string>::const_iterator iter = |
- old_keystore_keys_.begin(); iter != old_keystore_keys_.end(); |
- ++iter) { |
+ old_keystore_keys_.begin(); |
+ iter != old_keystore_keys_.end(); ++iter) { |
KeyParams key_params = {"localhost", "dummy", *iter}; |
cryptographer->AddNonDefaultKey(key_params); |
} |
} |
if (new_passphrase_type == KEYSTORE_PASSPHRASE && |
!GetKeystoreDecryptor( |
- *cryptographer, |
- keystore_key_, |
+ *cryptographer, keystore_key_, |
migrated_nigori.mutable_keystore_decryptor_token())) { |
LOG(ERROR) << "Failed to extract keystore decryptor token."; |
UMA_HISTOGRAM_ENUMERATION("Sync.AttemptNigoriMigration", |
@@ -1493,8 +1449,7 @@ bool SyncEncryptionHandlerImpl::AttemptToMigrateNigoriToKeystore( |
if (!cryptographer->GetKeys(migrated_nigori.mutable_encryption_keybag())) { |
LOG(ERROR) << "Failed to extract encryption keybag."; |
UMA_HISTOGRAM_ENUMERATION("Sync.AttemptNigoriMigration", |
- FAILED_TO_EXTRACT_KEYBAG, |
- MIGRATION_RESULT_SIZE); |
+ FAILED_TO_EXTRACT_KEYBAG, MIGRATION_RESULT_SIZE); |
return false; |
} |
@@ -1507,16 +1462,13 @@ bool SyncEncryptionHandlerImpl::AttemptToMigrateNigoriToKeystore( |
TimeToProtoTime(custom_passphrase_time_)); |
} |
- FOR_EACH_OBSERVER( |
- SyncEncryptionHandler::Observer, |
- observers_, |
- OnCryptographerStateChanged(cryptographer)); |
+ FOR_EACH_OBSERVER(SyncEncryptionHandler::Observer, observers_, |
+ OnCryptographerStateChanged(cryptographer)); |
if (passphrase_type_ != new_passphrase_type) { |
passphrase_type_ = new_passphrase_type; |
- FOR_EACH_OBSERVER(SyncEncryptionHandler::Observer, observers_, |
- OnPassphraseTypeChanged( |
- passphrase_type_, |
- GetExplicitPassphraseTime())); |
+ FOR_EACH_OBSERVER( |
+ SyncEncryptionHandler::Observer, observers_, |
+ OnPassphraseTypeChanged(passphrase_type_, GetExplicitPassphraseTime())); |
} |
if (new_encrypt_everything && !encrypt_everything_) { |
@@ -1672,19 +1624,13 @@ bool SyncEncryptionHandlerImpl::DecryptPendingKeysWithKeystoreKey( |
std::string bootstrap_token; |
cryptographer->GetBootstrapToken(&bootstrap_token); |
DVLOG(1) << "Keystore decryptor token decrypted pending keys."; |
+ FOR_EACH_OBSERVER(SyncEncryptionHandler::Observer, observers_, |
+ OnPassphraseAccepted()); |
FOR_EACH_OBSERVER( |
- SyncEncryptionHandler::Observer, |
- observers_, |
- OnPassphraseAccepted()); |
- FOR_EACH_OBSERVER( |
- SyncEncryptionHandler::Observer, |
- observers_, |
- OnBootstrapTokenUpdated(bootstrap_token, |
- PASSPHRASE_BOOTSTRAP_TOKEN)); |
- FOR_EACH_OBSERVER( |
- SyncEncryptionHandler::Observer, |
- observers_, |
- OnCryptographerStateChanged(cryptographer)); |
+ SyncEncryptionHandler::Observer, observers_, |
+ OnBootstrapTokenUpdated(bootstrap_token, PASSPHRASE_BOOTSTRAP_TOKEN)); |
+ FOR_EACH_OBSERVER(SyncEncryptionHandler::Observer, observers_, |
+ OnCryptographerStateChanged(cryptographer)); |
return true; |
} |
} |