Roll src/third_party/WebKit d9c6159:8139f33 (svn 201974:201975)
[chromium-blink-merge.git] / sync / protocol / wifi_credential_specifics.proto
blob29f9f07b58bd267362a2024df4cd37f8af438455
1 // Copyright 2014 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 WiFi credentials.
7 // Update proto_{value,enum}_conversions{.h,.cc,_unittest.cc} if you change
8 // any fields in this file.
10 syntax = "proto2";
12 option optimize_for = LITE_RUNTIME;
13 option retain_unknown_fields = true;
15 package sync_pb;
17 // Properties of WiFi credential objects.
18 message WifiCredentialSpecifics {
19   optional bytes ssid = 1;  // Not necessarily UTF-8. May contain NUL.
21   enum SecurityClass {
22     SECURITY_CLASS_INVALID = 0;
23     SECURITY_CLASS_NONE = 1;
24     SECURITY_CLASS_WEP = 2;
25     SECURITY_CLASS_PSK = 3;  // WPA-PSK or RSN-PSK
26     // 802.1X is omittted, as we do not support syncing 802.1X
27     // credentials.
28   }
29   optional SecurityClass security_class = 2;
31   // Network passphrase.
32   //
33   // For SECURITY_CLASS_NONE, the passphrase should be ignored.
34   //
35   // For SECURITY_CLASS_WEP, the passphrase should have one of the
36   // following formats:
37   // - WEP-40:
38   //   - 5 character ASCII string. Each character maps one byte of the key.
39   //   - 10 character hex string. The string maps to the WEP key by simple
40   //     hex decoding.
41   // - WEP-104:
42   //   - 13 character ASCII string. Each character maps one byte of the key.
43   //   - 26 character hex string. The string maps to the WEP key by simple
44   //     hex decoding.
45   //
46   // For SECURITY_CLASS_PSK, the passphrase should have one of the
47   // following two formats:
48   // - An 8-63 character ASCII string. The string maps to the
49   //   WPA/WPA-2 PSK as per IEEE 802.11i.
50   // - A 64 character hex string. The string maps to the PSK per
51   //   simple hex decoding.
52   //
53   // Note that, although the passphrase "should" contain only ASCII
54   // characters, we represent |passphrase| as |bytes| rather than
55   // |string|. This is to accomodate networks that use non-ASCII
56   // passphrases.
57   optional bytes passphrase = 3;