Home | History | Annotate | Download | only in protocol
      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 
     10 syntax = "proto2";
     11 
     12 option optimize_for = LITE_RUNTIME;
     13 option retain_unknown_fields = true;
     14 
     15 package sync_pb;
     16 
     17 import "encryption.proto";
     18 import "sync.proto";
     19 
     20 message 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 
     27 message NigoriKeyBag {
     28   repeated NigoriKey key = 2;
     29 }
     30 
     31 // Properties of nigori sync object.
     32 message 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 
     51 extend EntitySpecifics {
     52   optional NigoriSpecifics nigori = 47745;
     53 }
     54 
     55