blob: 29f9f07b58bd267362a2024df4cd37f8af438455 [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.
// Update proto_{value,enum}_conversions{.h,.cc,_unittest.cc} if you change
// any fields in this file.
syntax = "proto2";
option optimize_for = LITE_RUNTIME;
option retain_unknown_fields = true;
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;
}