Use SQLite for persistence and generate Rust protobuf bindings at build time. Add Docker image support for containerized deployment. Co-Authored-By: codex <[email protected]>
95 lines
3.3 KiB
Protocol Buffer
95 lines
3.3 KiB
Protocol Buffer
// 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;
|
|
}
|