diff options
author | akalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-10 01:06:41 +0000 |
---|---|---|
committer | akalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-10 01:06:41 +0000 |
commit | 1bcf30ec84f19d40cc5c3f6051d0bb5860bfc74a (patch) | |
tree | a1c5b036a8aad3554aaca8947c3a249a8d5945e3 /sync/protocol/encryption.proto | |
parent | 70180a806fe954878cdca606620da7a153a9efe7 (diff) | |
download | chromium_src-1bcf30ec84f19d40cc5c3f6051d0bb5860bfc74a.zip chromium_src-1bcf30ec84f19d40cc5c3f6051d0bb5860bfc74a.tar.gz chromium_src-1bcf30ec84f19d40cc5c3f6051d0bb5860bfc74a.tar.bz2 |
[Sync] Create new top-level sync/ directory
Move sync .proto files to sync/protocol. Update all references.
This begins the Great Sync Migration.
BUG=117585,43624
TEST=
Review URL: https://chromiumcodereview.appspot.com/9668028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125967 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sync/protocol/encryption.proto')
-rw-r--r-- | sync/protocol/encryption.proto | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/sync/protocol/encryption.proto b/sync/protocol/encryption.proto new file mode 100644 index 0000000..202ec33 --- /dev/null +++ b/sync/protocol/encryption.proto @@ -0,0 +1,32 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// +// Common sync protocol for encrypted data. + +// Update proto_value_conversions{.h,.cc,_unittest.cc} if you change +// any fields in this file. + +syntax = "proto2"; + +option optimize_for = LITE_RUNTIME; +option retain_unknown_fields = true; + +package sync_pb; + +// Encrypted sync data consists of two parts: a key name and a blob. Key name is +// the name of the key that was used to encrypt blob and blob is encrypted data +// itself. +// +// The reason we need to keep track of the key name is that a sync user can +// change their passphrase (and thus their encryption key) at any time. When +// that happens, we make a best effort to reencrypt all nodes with the new +// passphrase, but since we don't have transactions on the server-side, we +// cannot guarantee that every node will be reencrypted. As a workaround, we +// keep track of all keys, assign each key a name (by using that key to encrypt +// a well known string) and keep track of which key was used to encrypt each +// node. +message EncryptedData { + optional string key_name = 1; + optional string blob = 2; +}; |