// Copyright 2019 The Chromium Authors // 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 Wi-Fi configuration items. // If you change or add any fields in this file, update proto_visitors.h and // potentially proto_enum_conversions.{h, cc}. syntax = "proto2"; option go_package = "./sync_pb"; option java_multiple_files = true; option java_package = "org.chromium.components.sync.protocol"; option optimize_for = LITE_RUNTIME; package sync_pb; message WifiConfigurationSpecifics { // SSID encoded to hex, letters should be upper case and 0x prefix should be // omitted. For example, ssid "network" would be provided as "6E6574776F726B". optional bytes hex_ssid = 1; enum SecurityType { SECURITY_TYPE_UNSPECIFIED = 0; SECURITY_TYPE_NONE = 1; SECURITY_TYPE_WEP = 2; SECURITY_TYPE_PSK = 3; // WPA-PSK or RSN-PSK } optional SecurityType security_type = 2; // The passphrase can be ASCII, UTF-8, or a string of hex digits. optional bytes passphrase = 3; enum AutomaticallyConnectOption { AUTOMATICALLY_CONNECT_UNSPECIFIED = 0; AUTOMATICALLY_CONNECT_DISABLED = 1; AUTOMATICALLY_CONNECT_ENABLED = 2; } optional AutomaticallyConnectOption automatically_connect = 4; enum IsPreferredOption { IS_PREFERRED_UNSPECIFIED = 0; IS_PREFERRED_DISABLED = 1; IS_PREFERRED_ENABLED = 2; } optional IsPreferredOption is_preferred = 5; enum MeteredOption { METERED_OPTION_UNSPECIFIED = 0; METERED_OPTION_NO = 1; METERED_OPTION_YES = 2; // Allows the device to use heuristics to determine if network is metered. METERED_OPTION_AUTO = 3; } optional MeteredOption metered = 6; message ProxyConfiguration { enum ProxyOption { PROXY_OPTION_UNSPECIFIED = 0; PROXY_OPTION_DISABLED = 1; // Use a Proxy Auto-config(PAC) Url, set in proxy_url PROXY_OPTION_AUTOMATIC = 2; // Uses Web Proxy Auto-Discovery Protocol (WPAD) to discover the proxy // settings using DHCP/DNS. PROXY_OPTION_AUTODISCOVERY = 3; // User sets details in manual_proxy_configuration. PROXY_OPTION_MANUAL = 4; } optional ProxyOption proxy_option = 1; // Only set if PROXY_OPTION_AUTOMATIC. optional string autoconfiguration_url = 2; message ManualProxyConfiguration { optional string http_proxy_url = 1; optional int32 http_proxy_port = 2; optional string secure_http_proxy_url = 3; optional int32 secure_http_proxy_port = 4; optional string socks_host_url = 5; optional int32 socks_host_port = 6; repeated string excluded_domains = 7; } // Only set if PROXY_OPTION_MANUAL. optional ManualProxyConfiguration manual_proxy_configuration = 3; } optional ProxyConfiguration proxy_configuration = 7; enum DnsOption { DNS_OPTION_UNSPECIFIED = 0; DNS_OPTION_DEFAULT_DHCP = 1; DNS_OPTION_CUSTOM = 2; } optional DnsOption dns_option = 10; // List of DNS servers to be used when set to DNS_OPTION_CUSTOM. Up to 4. repeated string custom_dns = 8; // The last time this configuration was connected to before being synced. It // will only be updated when the configuration is changed. This is represented // with the UNIX timestamp, ms since epoch. optional int64 last_connected_timestamp = 9; }