blob: 67fef9f272d00334b0150a4e2ee10f747e85f7fe [file] [log] [blame]
// Copyright 2014 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.
//
// Sync protocol datatype extension for WiFi credentials.
// If you change or add any fields in this file, update proto_visitors.h and
// potentially proto_enum_conversions.{h, cc}.
syntax = "proto2";
option optimize_for = LITE_RUNTIME;
package sync_pb;
// Properties of WiFi credential objects.
message WifiCredentialSpecifics {
optional bytes ssid = 1; // Not necessarily UTF-8. May contain NUL.
enum SecurityClass {
SECURITY_CLASS_INVALID = 0;
SECURITY_CLASS_NONE = 1;
SECURITY_CLASS_WEP = 2;
SECURITY_CLASS_PSK = 3; // WPA-PSK or RSN-PSK
// 802.1X is omittted, as we do not support syncing 802.1X
// credentials.
}
optional SecurityClass security_class = 2;
// Network passphrase.
//
// For SECURITY_CLASS_NONE, the passphrase should be ignored.
//
// For SECURITY_CLASS_WEP, the passphrase should have one of the
// following formats:
// - WEP-40:
// - 5 character ASCII string. Each character maps one byte of the key.
// - 10 character hex string. The string maps to the WEP key by simple
// hex decoding.
// - WEP-104:
// - 13 character ASCII string. Each character maps one byte of the key.
// - 26 character hex string. The string maps to the WEP key by simple
// hex decoding.
//
// For SECURITY_CLASS_PSK, the passphrase should have one of the
// following two formats:
// - An 8-63 character ASCII string. The string maps to the
// WPA/WPA-2 PSK as per IEEE 802.11i.
// - A 64 character hex string. The string maps to the PSK per
// simple hex decoding.
//
// Note that, although the passphrase "should" contain only ASCII
// characters, we represent |passphrase| as |bytes| rather than
// |string|. This is to accomodate networks that use non-ASCII
// passphrases.
optional bytes passphrase = 3;
}