• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright (c) 2010 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4//
5// Sync protocol datatype extension for nigori keys.
6
7// Update proto_value_conversions{.h,.cc,_unittest.cc} if you change
8// any fields in this file.
9
10syntax = "proto2";
11
12option optimize_for = LITE_RUNTIME;
13option retain_unknown_fields = true;
14
15package sync_pb;
16
17import "encryption.proto";
18import "sync.proto";
19
20message NigoriKey {
21  optional string name = 1;
22  optional bytes user_key = 2;
23  optional bytes encryption_key = 3;
24  optional bytes mac_key = 4;
25}
26
27message NigoriKeyBag {
28  repeated NigoriKey key = 2;
29}
30
31// Properties of nigori sync object.
32message NigoriSpecifics {
33  optional EncryptedData encrypted = 1;
34  // True if |encrypted| is encrypted using a passphrase
35  // explicitly set by the user.
36  optional bool using_explicit_passphrase = 2;
37
38  // Booleans corresponding to whether a datatype should be encrypted.
39  // Passwords are always encrypted, so we don't need a field here.
40  optional bool encrypt_bookmarks = 3;
41  optional bool encrypt_preferences = 4;
42  optional bool encrypt_autofill_profile = 5;
43  optional bool encrypt_autofill = 6;
44  optional bool encrypt_themes = 7;
45  optional bool encrypt_typed_urls = 8;
46  optional bool encrypt_extensions = 9;
47  optional bool encrypt_sessions = 10;
48  optional bool encrypt_apps = 11;
49}
50
51extend EntitySpecifics {
52  optional NigoriSpecifics nigori = 47745;
53}
54
55