// 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; }