OLD | NEW |
| (Empty) |
1 // Copyright (c) 2012 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 password data. | |
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 | |
19 // These are the properties that get serialized into the |encrypted| field of | |
20 // PasswordSpecifics. They correspond to fields in autofill::PasswordForm. | |
21 // | |
22 // Sync unique tag is calculated as | |
23 // EscapePath(origin) + "|" + | |
24 // EscapePath(username_element) + "|" + | |
25 // EscapePath(username_value) + "|" + | |
26 // EscapePath(password_element) + "|" + | |
27 // EscapePath(signon_realm) | |
28 // where '+' is the string concatenation operation. EscapePath escapes a partial | |
29 // or complete file/pathname. This includes non-printable, non-7bit, and | |
30 // (including space) the following characters ' "#%:<>?[\]^`{|}'. The space | |
31 // character is encoded as '%20'. | |
32 | |
33 // All the strings are encoded with UTF-8. URLs are encoded in Punycode. | |
34 message PasswordSpecificsData { | |
35 // SCHEME_HTML(0), the credential represents either a parsed HTML form, or an | |
36 // android credential or a password saved through Credential Manager API | |
37 // (https://w3c.github.io/webappsec/specs/credentialmanagement/). | |
38 // SCHEME_BASIC(1), basic access http authentication. | |
39 // SCHEME_DIGEST(2), digest access authentication. | |
40 // SCHEME_OTHER(3), another access authentication. | |
41 optional int32 scheme = 1; | |
42 | |
43 // For parsed web forms and normal passwords saved through Credential Manager | |
44 // API: url-scheme://url-host[:url-port]/ | |
45 // For Android apps (local + federated): | |
46 // "android://<hash of cert>@<package name>" | |
47 // where the hash is base64 encoded SHA512 of the app's public certificate. | |
48 // For federated credentials: | |
49 // "federation://" + origin_host + "/" + federation_host | |
50 // For proxy auth: proxy-host/auth-realm | |
51 // For HTTP auth: url-scheme://url-host[:url-port]/auth-realm | |
52 optional string signon_realm = 2; | |
53 | |
54 // For parsed web forms and Credential Manager API: | |
55 // url-scheme://url-host[:url-port]/path | |
56 // For Android: "android://<hash of cert>@<package name>" | |
57 // For proxy/HTTP auth: url-scheme://url-host[:url-port]/path | |
58 optional string origin = 3; | |
59 | |
60 // Only for web-parsed forms - the action target of the form: | |
61 // url-scheme://url-host[:url-port]/path | |
62 optional string action = 4; | |
63 | |
64 // Only for web-parsed forms - the name of the element containing username. | |
65 optional string username_element = 5; | |
66 | |
67 // For all: the username. | |
68 // For blacklisted forms: <empty>. | |
69 optional string username_value = 6; | |
70 | |
71 // Only for web-parsed forms - the name of the element containing password. | |
72 optional string password_element = 7; | |
73 | |
74 // For all: the password. | |
75 // For federated logins and blacklisted forms: <empty> | |
76 optional string password_value = 8; | |
77 | |
78 // Deprecated: http://crbug.com/413020 | |
79 // True if the credential was saved for a HTTPS session with a valid SSL cert. | |
80 // Ignored for Android apps. | |
81 optional bool ssl_valid = 9; | |
82 | |
83 // True for the last credential used for logging in on a given site. | |
84 optional bool preferred = 10; | |
85 | |
86 // Time when the credential was created. Amount of microseconds since 1601. | |
87 optional int64 date_created = 11; | |
88 | |
89 // True, if user chose permanently not to save the credentials for the form. | |
90 optional bool blacklisted = 12; | |
91 | |
92 // TYPE_MANUAL(0), user manually filled the username and the password. | |
93 // TYPE_GENERATED(1), the credential was auto generated. | |
94 optional int32 type = 13; | |
95 | |
96 // Number of times this login was used for logging in. Chrome uses this field | |
97 // to distinguish log-in and sign-up forms. | |
98 optional int32 times_used = 14; | |
99 | |
100 // A human readable name of the account holder. Set by CredentialManager API | |
101 // and Android. | |
102 optional string display_name = 15; | |
103 | |
104 // A URL of the avatar for the credential. Set by CredentialManager API and | |
105 // Android. | |
106 optional string avatar_url = 16; | |
107 | |
108 // A URL of the IdP used to verify the credential. Set by Credential Manager | |
109 // API and Android. | |
110 optional string federation_url = 17; | |
111 } | |
112 | |
113 // Properties of password sync objects. | |
114 message PasswordSpecifics { | |
115 // The actual password data. Contains an encrypted PasswordSpecificsData | |
116 // message. | |
117 optional EncryptedData encrypted = 1; | |
118 // An unsynced field for use internally on the client. This field should | |
119 // never be set in any network-based communications. | |
120 optional PasswordSpecificsData client_only_encrypted_data = 2; | |
121 } | |
122 | |
OLD | NEW |