Service hierarchy ================= Service org.chromium.flimflam Interface org.chromium.flimflam.Service Object path [variable prefix]/{service0,service1,...} Methods dict GetProperties() Return the properties for the service object. See the Properties section for available properties. void SetProperty(string name, variant value) Change the value of the specified property. Only properties that are listed as read-write are changeable. On success a PropertyChanged signal will be emitted. Possible Errors: [service].Error.InvalidArguments [service].Error.InvalidProperty [service].Error.InvalidService [service].Error.InvalidPassphrase void SetProperties(dict properties) Set multiple properties in a Service at once. Each property from the dict is applied, excluding the "Profile" property and all properties intrinsic to the service including "Type" for all services, as well as "Mode", "SSID" and "Security" for WiFi services. In the event of multiple errors while applying properties to the service, the first error code is returned by this call. Possible Errors: [service].Error.InvalidArguments [service].Error.InvalidProperty [service].Error.InvalidService [service].Error.InvalidPassphrase void ClearProperty(string name) Clear the value of the specified property. Only properties that are listed as read-write are changeable. On success a PropertyChanged signal will be emitted. Possible Errors: [service].Error.InvalidArguments [service].Error.InvalidProperty array{bool} ClearProperties(array{string} names) Clear the value of the specified properties. Calls ClearProperty above on each of the property names and returns an array of boolean values indicating whether each ClearProperty attempt succeeded. void Connect() Initiate a connection for the specified service. For Ethernet devices this method can only be used if it has previously been disconnected. Otherwise the plugging of a cable automatically triggers a connection. If no cable is plugged in this method will fail. If the requested service is already connected then this request is ignored and AlreadyConnected is returned. If the requested service is in the process of connecting then this request is ignored and InProgress is returned. If another service of the same type is connected or connecting then it is terminated before this request is handled. If the requested service cannot, for reasons not described above, be connected, OperationFailed is returned. Possible Errors: [service].Error.AlreadyConnected [service].Error.InProgress [service].Error.OperationAborted [service].Error.InvalidService [service].Error.OperationFailed void Disconnect() Disconnect a service. If the service is not connected or in the process of connecting an error message will be generated. For Ethernet devices this will remove all Layer 3 state and mark the associated network interface down. If no cable is plugged in this request will fail. This method can also be used to abort a previous connection attempt via the Connect method. Possible Errors: [service].Error.InvalidArguments [service].Error.OperationFailed void Remove() Disconnect and remove the configuration of a service. This disassociates the service from its current profile. If another profile supports this service, it will be re-configured there. This method is not permitted for Ethernet devices; it will generate a NotSupported error response. Possible Errors: [service].Error.InvalidArguments [service].Error.NotSupported void ActivateCellularModem(string carrier) Activate a cellular modem on the provided carrier. This method returns immediately. The caller can either poll the Cellular.ActivationState property, or monitor the PropertyChanged signal to know when and if the ActivateCellularModem call succeeded. The correct carrier specific modem firmware must already be loaded before this method is called. If this method is called for a non-cellular service or on a service associated with a non-CDMA device, it will return a NotSupported error. If the device is already activated nothing is returned. but if the device needs to be activated an InProgress error is returned. Expected Result: [service].Error.InProgress Possible Errors: [service].Error.NotSupported void CompleteCellularActivation() Complete the activation of a cellular service that is being activated over a non-cellular network. This method is called upon the completion of the online payment portal and performs the necessary checks to ensure the activation process has fully completed. This method returns immediately. The caller can either poll the Cellular.ActivationState property, or monitor the PropertyChanged signal to know when and if the activation process has completed. If this method is called on a non-cellular service or on a cellular service that is not being activated over a non-cellular network, it will return a NotSupported error. If the cellular service is already activated or being activated, nothing is returned. Possible Errors: [service].Error.NotSupported dict GetLoadableProfileEntries() Return a dictionary of object_path -> string pairs which refer to the profile entries from the loaded profiles in the Manager that could possibly provide configuration for this service. Each entry contains the DBus path of the profile and the string entry name (within that profile) that contains configuration for this service. Callers can use each of these argument pairs to do a "GetEntry" call on each profile object. Signals PropertyChanged(string name, variant value) This signal indicates a changed value of the given property. Properties boolean AutoConnect [readwrite] If set to true, this service will auto-connect when no other connection is available. If multiple services are marked for auto-connect then the highest priority available service will be selected. On a successful connection, this property may be set to true automatically, depending on the service type and if this property was not explicitly set on the service before. boolean Cellular.ActivateOverNonCellularNetwork [readonly] (Cellular only) If set to true, this service must be activated over a non-cellular network instead of the same cellular network. string Cellular.ActivationState [readonly] (Cellular only) The activate state of the device on the cellular network. Possible values for activate_state are: "not-activated" "activating" "partially-activated" "activated" A CDMA device can be activated by calling the Activate method. This property is relevant only for services associated with a CDMA cellular device. dict Cellular.ServingOperator [readonly] [GSM only] (Cellular only) Description of the operator on whose network the modem is currently registered, if any. The dictionary may contain the following string-valued properties: "name" The operator name "country" The two-letter country code. "network_id" The MCC (Mobile Country Code) and MNC (Mobile Network Code) of the operator on whose network the device is registered. The value of the property is the simple concatenation of the MCC and the MNC, with no separator. The first three digits are always the MCC, and the following two or three digits are the MNC. string Cellular.NetworkTechnology [readonly] (Cellular only) If the modem is registered on a network, then this property gives the data bearer technology currently in use. The following table lists the values this property may have, along with a rough indication of the "generation" to which the technology is considered to belong. Value Generation ----------------------------- "1xRTT" (CDMA) 2.5G "EVDO" (CDMA) 3G to 3.5G "GPRS" 2.5G "EDGE" 2.75G "UMTS" 3G "HSPA" 3.5G "HSPA+" 3.75G "LTE" 3.9G "LTE Advanced" 4G string Cellular.RoamingState [readonly] (Cellular only) The roaming status of the modem on the current network. Possible values are "home", "roaming", and "unknown". string Cellular.Olp [readonly] (Cellular only) A dictionary describing the online payment portal (OLP) at which a user can sign up for, or modify, a mobile data plan. The value of this property is a string -> string dictionary, which includes the following keys: "url" The URL for the portal "method" The HTTP method to use, "GET" or "POST" "postdata" If the method is POST then this key is present and contains the postdata to send. dict Cellular.APN [readwrite] [GSM only] (Cellular only) The APN to be used with a GSM carrier for making data connections. The value of this property is a string -> string dictionary, which must include at least the following key: "apn" The APN to use for making connections There are three optional properties. The first is "network_id" The network ID (MCC/MNC pair) of the network for which the APN should be used. If not specified, then the network ID of the currently registered network is used. The other two optional properties are "username" and "password", which, if specified, will be supplied to the connect operation on the modem along with the APN. When the APN is set using this method, it overrides any APN that may be associated with the specified network ID in the APN database. The APN setting is persistent across reboots. A user-specified APN may be cleared by clearing this property. The algorithm for connecting to GSM networks is as follows, stopping when a connection is succesfully established: 1. Try the last APN that resulted in a successful connection. 2. Try the APN that was set from the Cellular.APN property (if any). 3. Try the list of APNs for the current provider one at a time. The list comes from the mobile broadband provider information database. 4. As a last resort, try connecting without specifying an APN. If all these steps fail, then the connect attempt fails. Whenever this property is set to establish a new APN to use, the remembered last-good-APN is cleared. The remembered last-good-APN is persistent across reboots. dict Cellular.LastGoodAPN [readonly] [GSM only] (Cellular only) The APN information used in the last successful connection attempt. If the last attempt was unsuccesful, this property is unset. The format of this property is the same as for the Cellular.APN property. boolean Cellular.OutOfCredits [readonly] (Cellular only) Indicates whether a cellular service has any remaining bandwidth credits with the carrier. string Cellular.PPP.Username [readwrite] (Cellular only) For cellular devices with a PPP link-layer, the username for PPP authentication. string Cellular.PPP.Password [writeonly] (Cellular only) For cellular devices with a PPP link-layer, the password for PPP authentication. string CheckPortal [readwrite] Control captive portal checking. Possible values are "true", "false", and "auto" (default). When set to "auto" captive portal checking is controlled by Manager.CheckPortalList (which is a per-technology mask/list of which services should do captive portal checking). boolean Connectable [readonly] Indicates whether a service is prepared for use as an argument to the Connect method. A service will not be marked Connectable if, for example, it is missing necessary security credentials. Clients may use this property to not disable services or to mark them in some way to indicate they are present but not usable. string Country [readonly] (WiFi only) Indicates the 2-letter country code reported by the representative endpoint for this service. object Device [readonly] The object path of the associated device. This value may be used to retrieve and manipulate Layer 3 configuration state. A value of "/" indicates that the service is not bound to any device. string DHCPProperty.Hostname [readwrite] Optional setting to configure DHCP requests. Some DHCP servers may register a DNS entry on behalf of this hostname; others may just make available a table for administrators to tell what machines are on their network. The default for this name is empty, which means that the system will not report a hostname. When this property is set it will be persisted in the default profile. string DHCPProperty.VendorClass [readwrite] Optional setting to configure DHCP requests. This setting can be used to identify the vendor that manufactured the client hardware, the software in use, or an industry consortium to which the vendor belongs. The default for this property is empty, which means the system will not report a Vendor Class. When set, this property will override the default setting and be persisted in the default profile. array{string} Diagnostics.Disconnects [readonly] History (wall-clock timestamps) of connection drops. array{string} Diagnostics.Misconnects [readonly] History (wall-clock timestamps) of failed connection attempts. string EAP.Identity [readwrite] The client identity string used in setting up services of type "802_1x". This property is included in get requests only when the requester has sufficient privileges. string EAP.EAP [readwrite] The EAP methods that will be accepted when setting up services of type "802_1x". This property is included in get requests only when the requester has sufficient privileges. string EAP.InnerEAP [readwrite] The authentication methods that will be on the inside of a PEAP or EAP-TTLS tunnel. This property is included in get requests only when the requester has sufficient privileges. string EAP.AnonymousIdentity [readwrite] The client identity string that will be used for the outer EAP authentication for tunneled methods such as PEAP and EAP-TTLS. This property is included in get requests only when the requester has sufficient privileges. string EAP.CertID [readwrite] The PKCS#11 identifier of the client certificate to use when setting up services of type "802_1x". This property is included in get requests only when the requester has sufficient privileges. string EAP.PrivateKey [readwrite] The pathname of a file containing the private key for setting up services of type "802_1x". The private key file must be in PEM format. This property is included in get requests only when the requester has sufficient privileges. string EAP.PrivateKeyPassword [readwrite] The password to decrypt a private key given in EAP.PrivateKey. This property is included in get requests only when the requester has sufficient privileges. string EAP.KeyID [readwrite] The PKCS#11 identifier of the private key to use when setting up services of type "802_1x". This property is included in get requests only when the requester has sufficient privileges. string EAP.CACert [readwrite] The pathname of a file containing the Certificate Authority's certificate for validating server certificates during the 802.1x authentication process. This property is included in get requests only when the requester has sufficient privileges. string EAP.CACertID [readwrite] The PKCS#11 ID of the EAP.CACert file for validating server certificate recieved during the 802.1x authentication process. This property is included in get requests only when the requester has sufficient privileges. string EAP.CACertPEM [readwrite] An x509 CA certificate in PEM format; specifically the base64 counterpart of the DER contents surrounded by a "-----BEGIN CERTIFICATE-----" and "-----END CERTIFICATE-----" line. This certificate will be used to authenticate the remote RADIUS server in the 802.1x authentication process. boolean EAP.UseSystemCAs [readwrite] Control whether EAP operations are configured to use the system's installed set of certificate authorities when validating server certificates. Note that if UseSystemCAs is false and no CA is specified with EAP.CACert or EAP.CaCertID - that is, no CAs are configured at all - server certificates will not have their signatures checked. Defaults to true. This property is included in get requests only when the requester has sufficient privileges. string EAP.PIN [readwrite] The PIN used to authenticate to the PKCS#11 device to retrieve a client certificate, private key, or certificate authority certificate. This property is included in get requests only when the requester has sufficient privileges. string EAP.Password [readwrite] The password to use in 802.1x authentication. This property is included in get requests only when the requester has sufficient privileges. string EAP.KeyMgmt [readwrite] (WiFi only) The key management algorithm to be used in 802.1x authentication. If this property is not set then "WPA-EAP" is used for the key management algorithm. This property is included in get requests only when the requester has sufficient privileges. array{string} EAP.RemoteCertification [readonly] (WiFi only) The list of certificate subject names reported by the remote RADIUS server. This property is set during 802.1x negotiation and persists after disconnection for later inspection, but is not persisted between connection manager restarts. It is also cleared at the beginning of the next connection. string EAP.SubjectMatch [readwrite] (WiFi only) A substring which the remote RADIUS server certificate subject name must contain. If the subject does not contain this substring, abort 802.1x negotiation. string Error [readonly] The service error status details. When error occur during connection or disconnection the detailed information are represented in this property to help the user interface to present the user with alternate options. This property is only valid when the service is in a failure state. Otherwise it might be empty or not present at all. Look for "Flimflam error options" in system_api/dbus/shill/dbus-constants.h for the set of defined error codes. string ErrorDetails [readonly] Free-style service error status details in addition to the defined error codes presented through the Service.Error property. For example, this property may contain a server-supplied error description for a rejected VPN connection attempt. This property is only valid when the service is in a failure state. Otherwise it might be empty or not present at all. string GUID [readwrite] The Globally Unique IDentifier for the service. This value may be set by a client and is intended for cross-referencing Service objects to externally-maintained data. object IPConfig [readonly] The object path of the associated IP configuration. This value only exists when the service is connected, and is used used to retrieve Layer 3 configuration state. A PropertyChanged signal for this object path is emitted every time the IP address is configured (for example during DHCP renewals), although the actual value may not have changed. boolean IsActive [readonly] Will be true if this service has a default route; i.e. network traffic is being sent through it. boolean LinkMonitorDisable [readwrite] Specifies whether to disable or enable link monitoring for this service. When link monitor is enabled, periodic ARP to the gateway IP address will be performed. boolean ManagedCredentials [readwrite] Specifies whether the credentials for this service are managed outside of shill, and are validated in some manner other than by the user. As such, these credentials need not be validated via an initial connection attempt. Even without this validation, the service will be considered of equal priority to other services that have been connected before. string Mode [readonly] If the service type is "wifi", then this property is present and contains the mode of the network. The possible values are "managed" or "adhoc". This property is present only for WiFi services. string Name [readonly] The service name (for example "Wireless" etc.) This name can be used for directly displaying it in the application. It has pure informational purpose. For Ethernet devices and hidden WiFi networks it is not guaranteed that this property is present. For visible WiFi networks, this may contain the SSID. See also the WiFi.HexSSID property. string OpenVPN.Auth [writeonly] (VPN services of type OpenVPN only) Specify the authentication algorithm to OpenVPN. See the "--auth" option in the OpenVPN documentation. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.AuthNoCache [writeonly] (VPN services of type OpenVPN only) If this value is set to anything, do not cache usernames or passwords in the OpenVPN client. See the "--auth" flag in the OpenVPN documentation. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.AuthRetry [writeonly] (VPN services of type OpenVPN only) Specify how to handle authentication failures. See the "--auth-retry" option in the OpenVPN documentation. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.AuthUserPass [writeonly] (VPN services of type OpenVPN only) Authenticate with username and password if this option is non-empty. For this option to work, the "OpenVPN.User" property must also be set. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.CACert [writeonly] (VPN services of type OpenVPN only) Specify the filename of the certificate to be used to verify the OpenVPN server. Only one of "OpenVPN.CACert" or "OpenVPN.CACertPEM" can be specified. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.CACertNSS [writeonly] (VPN services of type OpenVPN only) [Deprecated] This value is no longer honored in shill, but any value stored here is persisted so that callers can migrate this to the correct value of OpenVPN.CACertPEM. The current value of this property is readable in the "Provider" property of this service. array{string} OpenVPN.CACertPEM [writeonly] (VPN services of type OpenVPN only) The list of x509 CA certificates to be used to verify the remote server. Any of these certificates can directly sign the server certificate. Each x509 CA certificate must be in in PEM format; specifically the base64 counterpart of the DER contents, optionally surrounded by a "-----BEGIN CERTIFICATE-----" and "-----END CERTIFICATE-----" line. Only one of "OpenVPN.CACert" or "OpenVPN.CACertPEM" can be specified. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.Cert [writeonly] (VPN services of type OpenVPN only) Specify a filename of to use as the client certificate in authentication. See the "--cert" option in the OpenVPN documentation. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.Cipher [writeonly] (VPN services of type OpenVPN only) Specify the cipher algorithm for encrypted packets. See the "--cipher" option in the OpenVPN documentation. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.CompLZO [writeonly] (VPN services of type OpenVPN only) If non-empty, enable fast LZO compression. See the "--comp-lzo" option in the OpenVPN documentation. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.CompNoAdapt [writeonly] (VPN services of type OpenVPN only) If non-empty, don't use adaptive compression when fast LZO is enabled compression. See the "--comp-noadapt" option in the OpenVPN documentation. The current value of this property is readable in the "Provider" property of this service. array{string} OpenVPN.ExtraCertPEM [writeonly] (VPN services of type OpenVPN only) A list of additonal x509 CA certificates to be used to complete the certificate authentication chain from the CA certificates. Each x509 CA certificate must be in in PEM format; specifically the base64 counterpart of the DER contents, optionally surrounded by a "-----BEGIN CERTIFICATE-----" and "-----END CERTIFICATE-----" line. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.IgnoreDefaultRoute [writeonly] (VPN services of type OpenVPN only) If set, a default route to the default gateway specified by the server will not be configured. This allows this connection to operate as a "split tunnel" in configurations where the server allows this. Since this option does not ignore routes explicitly pushed from the server, this option does not allow split tunnels when they are expressly forbidden in the server configuration. The server can directly override this option by pushing a "redirect-gateway" or "redirect-private" option to the client. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.Key [writeonly] (VPN services of type OpenVPN only) Specify the filename of the private key the client uses to verify itself to the OpenVPN server. See the "--key" option in the OpenVPN documentation. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.KeyDirection [writeonly] (VPN services of type OpenVPN only) [Deprecated] This property is only provided for backwards compatibility. string OpenVPN.Mgmt.Enable [writeonly] (VPN services of type OpenVPN only) [Deprecated] This property is only provided for backwards compatibility. string OpenVPN.NsCertType [writeonly] (VPN services of type OpenVPN only) If non-empty, specifies that the peer certificate must be signed with an explicit nsCertType designation. The value assigned to this property specified the role that should be assigned to the certificate. See the "--ns-cert-type" option in the OpenVPN documentation. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.OTP [writeonly] (VPN services of type OpenVPN only) Specifies a one-time-password (OTP) to be used during the authentication phase. The connection manager only stores this value for the duration of a connection attempt and will never persist this to a stored profile. string OpenVPN.Password [writeonly] (VPN services of type OpenVPN only) Specifies a password to be used during the authentication phase. string OpenVPN.Pkcs11.ID [writeonly] (VPN services of type OpenVPN only) Specify the PKCS11 certificate id when using a crypto token to perform certificate authentication. string OpenVPN.Pkcs11.PIN [writeonly] (VPN services of type OpenVPN only) Specifies a PIN used to gain access to the cryptographic token when using the "OpenVPN.Pkcs11.ID" property. string OpenVPN.Pkcs11.Provider [writeonly] (VPN services of type OpenVPN only) Specifies a the provider for the the cryptographic token when using the "OpenVPN.Pkcs11.ID" property. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.Ping [writeonly] (VPN services of type OpenVPN only) If non-empty, this specifies the period in seconds between sending pings to the OpenVPN server. See the "--ping" option in the OpenVPN documentation. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.PingExit [writeonly] (VPN services of type OpenVPN only) If non-empty, exit if this many seconds pass without reception of a ping reply from the OpenVPN server. See the "--ping-exit" option in the OpenVPN documentation. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.PingRestart [writeonly] (VPN services of type OpenVPN only) If non-empty, restart if this many seconds pass without reception of a ping reply from the OpenVPN server. See the "--ping-restart" option in the OpenVPN documentation. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.Port [writeonly] (VPN services of type OpenVPN only) If non-empty, use this port for both the local and remote. See the "--port" option in the OpenVPN documentation. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.Proto [writeonly] (VPN services of type OpenVPN only) If non-empty, sets the protocol ("udp", "tcp-client", "tcp-server) for the OpenVPN connection. See the "--proto" option in the OpenVPN documentation. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.PushPeerInfo [writeonly] (VPN services of type OpenVPN only) If non-empty, specifies that client information should be pushed to the server. See the "--push-peer-info" option in the OpenVPN documentation. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.RemoteCertEKU [writeonly] (VPN services of type OpenVPN only) Require that the remote peer certificate be signed with the specified extended key usage OID. See the "--remote-cert-eku" option in the OpenVPN documentation. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.RemoteCertKU [writeonly] (VPN services of type OpenVPN only) Require that the remote peer certificate be signed with the specified key usage in hex format. See the "--remote-cert-ku" option in the OpenVPN documentation. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.RemoteCertTLS [writeonly] (VPN services of type OpenVPN only) Require that the remote peer certificate be signed with the specified key usage and extend key usage based on RFC3280 TLS rules. See the "--remote-cert-tls" option in the OpenVPN documentation. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.RenegSec [writeonly] (VPN services of type OpenVPN only) Specifies the period (in seconds) to re-negotiate the data channel key. See the "--reneg-sec" option in the OpenVPN documentation. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.ServerPollTimeout [writeonly] (VPN services of type OpenVPN only) Specifies the period (in seconds) to wait to for a response from the server. See the "--server-poll-timeout" option in the OpenVPN documentation. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.Shaper [writeonly] (VPN services of type OpenVPN only) Restricts the number of bytes per second to be output to the peer. See the "--shaper" option in the OpenVPN documentation. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.StaticChallenge [writeonly] (VPN services of type OpenVPN only) Enable static challenge/response protocol. See the "--static-challenge" option in the OpenVPN documentation. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.TLSAuth [writeonly] (VPN services of type OpenVPN only) If non-empty, passes this as the "--tls-auth" argument to OpenVPN. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.TLSAuthContents [writeonly] (VPN services of type OpenVPN only) Creates a temporary file with the contents of this property and passes it to OpenVPN using the "--tls-auth" option. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.TLSRemote [writeonly] (VPN services of type OpenVPN only) Specifies the only X509 name that is allowed for the peer. See the" --tls-remote" option in the OpenVPN documentation. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.Token [writeonly] (VPN services of type OpenVPN only) Specifies a single-use token to be used during the static challenge phase of authentication. This will be used instead of the standard OpenVPN "SCRV1:" response containing the password and OTP parameters. This is useful in installations where the default base64 encoding may be too large to fit in the buffer size available, and server implementations have been changed to avoid this. The connection manager only stores this value for the duration of a connection attempt and will never persist this to a stored profile. string OpenVPN.User [writeonly] (VPN services of type OpenVPN only) Specifies the username to be specified in authentication to the OpenVPN server. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.Verb [writeonly] (VPN services of type OpenVPN only) If non-empty, passes this as the "--verb" argument to OpenVPN, which sets the debug verbosity. By default this value is set based on shill's debugging level for VPN. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.VerifyHash [writeonly] (VPN services of type OpenVPN only) If non-empty, passes this as the "--verify-hash" argument to OpenVPN, which specifies the SHA1 fingerprint for level-1 certificate. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.VerifyX509Name [writeonly] (VPN services of type OpenVPN only) If non-empty, passes this as the "--verify-x509-name" argument to OpenVPN, which specifies the X509 subject distinguished name we mandate the remote VPN server to have. The current value of this property is readable in the "Provider" property of this service. string OpenVPN.VerifyX509Type [writeonly] (VPN services of type OpenVPN only) If non-empty, this string is passed as a second parameter to the "--verify-x509-name" flag sent to OpenVPN, which qualifies the type of parameter specified in the "OpenVPN.VerifyX509Name" property of this service. If the "OpenVPN.VerifyX509Name" property is unset or empty, setting this property has no effect during connection. Please see the documentation of the "--verify-x509-name" flag in the OpenVPN documentation to better understand how these two parameters interact. The current value of this property is readable in the "Provider" property of this service. int PPPoE.LCPEchoFailure (PPPoE only) If set, the number of LCP echo responses that this service will tolerate missing from the PPP peer before terminating the connection. int PPPoE.LCPEchoInterval (PPPoE only) If set, used as the number of seconds between sending LCP echo requests to the PPP peer. int PPPoE.MaxAuthFailure (PPPoE only) The maximum number of authentication failures to allow before terminating the connection. A value of 0 means no limit. The default is 3. string PPPoE.Password (PPPoE only) This string is used as the password during authentication with a PPPoE server. If empty, it will still be used during authentication if requested. string PPPoE.Username (PPPoE only) If non-empty, this string is used as the username during authentication with a PPPoE server. If empty, it will still be used during authentication if requested. string Passphrase [readwrite] If the service type is "wifi", then this property holds a passphrase used in setting up services of type "wep", "wpa", "rsn", "psk", or a private key password used in setting up services of type "802_1x". For "wep" services, this must contain the WEP key and, optionally, a key index. Only 40-bit and 104-bit WEP keys are supported. The WEP key can be formatted either as an ASCII string (5 or 13 characters), or as ASCII hex digits (10 or 26). When using ASCII hex digits, the key may optionally be preceded by "0x" or "0X". To specify an optional WEP key index, prepend the key with "0:", "1:", "2:" or "3:". If no index is specified, 0 is used. By default this property is not included in get requests. It may be present if a non-default security policy is configured and the client has "read secret" privileges. Note that no PropertyChanged signals are sent for this property. The PassphraseRequired property should be monitored instead. boolean PassphraseRequired [readonly] If the service type is "wifi", then this property indicates if a passphrase or key (for WEP) is required. If a passphrase has been set already or if no passphrase is needed, then this property will be set to false. UI clients may monitor this property for a PropertyChanged signals to prompt for a required passphrase or key. [We will be supporting this soon for VPN] string PhysicalTechnology [readonly, optional] If the service type is "vpn" and the service is connected, this property is present and exposes the Type property of the underliying physical service used. Otherwise the property is not present. string PortalDetectionFailedPhase [readonly] Indicates the phase that portal detection was in when it last failed. Possible values: DNS - During DNS lookup Connection - during the TCP connection setup HTTP - during the HTTP connection setup Content - The content of the HTTP response Unknown - Failure in an unknown step string PortalDetectionFailedStatus [readonly] Indicates the portal detection failure reason when it last failed. Possible values: Failure - The attempt failed at this phase Success - The attempt succeeded at this phase Timeout - The attempt timed out at this phase string PreviousError [readonly] The most recent service error status logged. Even after the service leaves the failed state, this property retains the last value that the Error property contained. Note that no PropertyChanged signals are sent for this property. The Error property should be monitored instead. int32 PreviousErrorSerialNumber [readonly] This number increases by one every time a service failure is logged. It returns to zero if shill restarts. Note that no PropertyChanged signals are sent for this property. The Error property should be monitored instead. int32 Priority [readwrite] An optional value used to calculate the priority order of this service. Priorities are between 1 to 100. Services with priorities are sorted ahead of services without. Services with the same priority are ordered by other means such as service type signal strength or technology. By default services are not assigned a priority; clients must set one if they desire. To remove an existing priority use the ClearProperty method. int32 PriorityWithinTechnology [readwrite] An optional value used to calculate the priority order of this service. Priorities are between 1 to 100. Services with priorities are sorted ahead of services without. Services with the same priority are ordered by other means such as service type and signal strength, but notably not technology. This property can be used instead of the Priority property when the intent is to rank the service relative to other services of the same technology. By default services are not assigned a priority; clients must set one if they desire. To remove an existing priority use the ClearProperty method. string Profile [readwrite] The object path of the associated Profile object. This may not be present or may be empty if the Service object has not been written to a profile yet. string ProxyConfig [readwrite] An externalized json dictionary describing the proxy configuration that can be stored on the service, and modified by a user. Flimflam does not use this information for anything, but it is left available to the caller, and stored persistently. This property may be set by any client and will be adopted by chrome during run-time. If syntax of the value is wrong, chrome will ignore this property during runtime. The value of this property is a string -> string dictionary that includes the following keys. The final string is a comma separated list of key-value pairs enclosed by "{" and "}"; syntax of a key-value pair is: <key>":"<value>. Example: {"mode":"fixed-servers","server":"http=foopy:80"} "mode" type of proxy that can be one of: "direct" -- direct connection to network, other preferences are ignored "auto_detect" -- try to retrieve a PAC script from http://wpad/wpad.dat or fall back to direct connection "pac_script" -- try to retrieve PAC script specified for "pac_url" (see below) or fall back to direct connection "fixed_servers" -- manual configuration of one or more servers to be used as proxy "pac_url" URL for proxy .pac file (meaningful only if mode= pac_script); scheme of URL must be specified "pac_mandatory" indciate if a valid PAC script is mandatory (meaningful only if mode=pac_script); value is either true or false (without quotes), e.g. "pac_mandatory":true; if true, network traffic does not fall back to direct connections in case the PAC script is not available "server" proxy server for manual configuration (meaningful only if mode=fixed-servers); syntax is [<proxy-scheme>"://"]<proxy-host>[":"<proxy-port>]; if the proxy to use depends on the scheme of the URL, specify a semicolon separated list of : <url-scheme>"="<proxy-uri> for example: - "http=foopy:80;ftp=foopy2" -- use HTTP proxy "foopy:80" for http:// URLs, and HTTP proxy "foopy2:80" for ftp:// URLS - "foopy:80" -- use HTTP proxy "foopy:80" for all URLs - "socks4://foopy" -- use SOCKS v4 proxy "foopy:80" for all URLs "bypass_list" proxy bypass rules for manual configuration (meaningful only if mode=fixed-servers); format can be any one of the following: 1) [<url_scheme>"://"]<hostname_pattern>[":"<port>] Match all hostnames that match the pattern hostname_pattern which can be a substring of the hostname with asterisks. Examples: "foobar.com", "*foobar.com", "*.foobar.com", "*foobar.com:99", "https://x.*.y.com:99" 2) "."<hostname_suffix_pattern>[":"<port>] Match a particular domain suffix. Examples: ".google.com", ".com", "http://.google.com" 3) [<scheme>"://"]<ip_literal>[":"<port>] Match URLs that are IP address literals. Conceptually this is the similar to (1), but with special cases to handle IP literal canonicalization. For example matching on "[0:0:0::1]" would be the same as matching on "[::1]" since the IPv6 canonicalization is done internally. Examples: "127.0.1", "[0:0::1]", "[::1]", "http://[::1]:99" 4) <ip_literal>"/"<prefix_length_in_bits> Match any URL that is to an IP literal that falls in the given range. IP range is specified using CIDR notation. Examples: "192.168.1.1/16", "fefe:13::abc/33". 5) "<local>" Match local addresses; this is a literal string. "<local>" matches one of: "127.0.0.1", "::1", "localhost". dict Provider [readonly] (VPN only) Provider data. The Provider is a container which reports all of the VPN-specific properties of a service. string Host [readonly] VPN host IP address. string Type [readonly] VPN provider type (e.g. openvpn). string Provider.Host [writeonly] (VPN only) Host name of the VPN server. The current value of this property is readable in the "Provider" property of this service. string Provider.Name [writeonly] (VPN only) The name assigned to this VPN service. The current value of this property is readable in the "Provider" property of this service. string Provider.Type [writeonly] (VPN only) The type of VPN service. This value is only settable when creating this service (via the Manager GetService or ConfigureService methods). The current value of this property is readable in the "Provider" property of this service. boolean SaveCredentials [readwrite] This property indicates if security credentials should be reused and/or written to stable storage. Setting this property to FALSE ensures nothing is recorded and the client must supply credentials for each Connect request. The following credentials are not recorded when this property is set to FALSE: Passphrase EAP.Identity EAP.AnonymousIdentity EAP.ClientCert EAP.CertID EAP.PrivateKey EAP.PrivateKeyPassword EAP.KeyID EAP.PIN EAP.Password Note that no PropertyChanged signals are sent for this property. string Security [readonly] If the service type is "wifi", then this property is present and contains the security method or key management setting. Possible values are: "none" (no privacy), "wep" (fixed key WEP), "wpa" (WPA-PSK), "rsn" (IEEE 802.11i-PSK), "psk" (either "wpa" or "rsn"), and "802_1x" (IEEE 802.11i with 802.1x authentication). This property is only present for WiFi services. string SecurityClass [readonly] If the service type is "wifi", then this property is present and contains the security class of the service. The security class groups together WPA and WPA-2 networks, to allow for seamless roaming between them. Possible values are: "none" (no privacy), "wep" (fixed key WEP), "psk" (WPA-PSK or IEEE 802.11i-PSK), and "802_1x" (IEEE 802.11i with 802.1x authentication). This property is only present for WiFi services. string State [readonly] The state of the service; one of: "idle" The service is not enabled or otherwise operational. "association" Intermediate states associated with connection-based devices such as WiFi and Cellular. These are exposed for UI applications to provide more fine-grained status. "configuration" Layer 2 is setup but Layer 3 setup has yet to completed. "ready" Layer 3 setup is complete; ready to transit and receive data. "portal" Layer 3 setup is complete but connectivity to the Internet may be limited or unavailable. "online" Layer 3 setup is complete and an Internet connection has been checked to support HTTP access to the Manager.PortalURL site. "failure" An error occurred while trying to reach the "ready" state. Consult the Error propery for details. string StaticIP.Address [readwrite] string StaticIP.Gateway [readwrite] int32 StaticIP.Mtu [readwrite] string StaticIP.NameServers [readwrite] string StaticIP.PeerAddress [readwrite] int32 StaticIP.Prefixlen [readwrite] [Deprecated] The properties above are deprecated in favor of StaticIPConfig property. The properties above can be set on a service to selectively override individual parameters received over DHCP or whatever default IP aquisition technique is used by the service. The "StaticIP.NameServers" property should be a comma-separated list of IP addresses. Additionally, in services that use DHCP, if the "StaticIP.Address" and "StaticIP.Prefixlen" parameters are both set on a service, the service will be configured as soon as a link is established, in order to allow full static IP configuration. A DHCP client will be launched in parallel, which, if successful, will provide values for any parameters that were not set statically. The IPConfig associated with the service (object path supplied in the "IPConfig" property above) will display the result of the merged network parameters. string SavedIP.Address [readonly] string SavedIP.Gateway [readonly] int32 SavedIP.Mtu [readonly] string SavedIP.NameServers [readonly] string SavedIP.PeerAddress [readonly] int32 SavedIP.Prefixlen [readonly] [Deprecated] The properties above are deprecated in favor of SavedIPConfig property. The properties above are set on a service to present the configuration that was recieved from the DHCP server prior to applying any "StaticIP.*" parameters during the most recent connection attempt. All parameters are saved regardless of whether they were overridden. Note that if a "StaticIP.*" parameter is set on a service, but the service has not been re-connected, the IPConfig object will still contain the true value that the interface is set to. dict StaticIPConfig [readwrite] A dictionary of static IP configuration parameters used to selectively override individual parameters received over DHCP or whatever default IP aquisition technique is used by the service. Additionally, in services that use DHCP, if the "Address" and "Prefixlen" fields are both set in the dictionary, the service will be configured as soon as a link is established, in order to allow full static IP configuration. A DHCP client will be launched in parallel, which, if successful, will provide values for any parameters that were not set statically. The IPConfig associated with the service (object path supplied in the "IPConfig" property above) will display the result of the merged network parameters. Here are the expected keys within the dict: string Address string Gateway int32 Mtu array{string} NameServers string PeerAddress int32 Prefixlen dict SavedIPConfig [readonly] This property present a dictionary of the IP config that was received from the DHCP server prior to applying any static IP parameters during the most recent connection attempt. All parameters are saved regardless of whether they were overridden. Note that if a static IP parameter is set on a service, but the service has not been re-connected, the IPConfig object will still contain the true value that the interface is set to. Here are the expected keys within the dict: string Address string Gateway int32 Mtu array{string} NameServers string PeerAddress int32 Prefixlen uint8 Strength [readonly] Indicates the signal strength of the service. This is a normalized value between 0 and 100. This property will not be present for Ethernet devices. string Tethering [readonly] Returns a string that indicates an estimate of whether the service is likely to be providing internet connectivity over a mobile network backhaul. The possible values of this string are: NotDetected: Tethering is not detected. Suspected: Something in the network scan provides circumstantial evidence that this service is tethered. Confirmed: Some definitive evidence has been discovered that indicates either this service is tethered or the server is overtly pretending to be tethered. This property is only visible in service types which can support tethering. Currently only Ethernet and WiFi services support this property directly. VPN services make this property visible if the service they're using for connectivity does (i.e., if VPN connectivity is gained via Ethernet or WiFi). string Type [readonly] The service type; one of: "ethernet" (802.3 wired Ethernet), "wifi" (IEEE 802.11), "wimax" (IEEE 802.16), "bluetooth" (Bluetooth PAN), "cellular" (3G Cellular), or "vpn" (Virtual Private Network). This information should only be used to determine advanced properties or showing the correct icon to the user. string UIData [readwrite] This is additional data available about this service for use by the user interface. This value is opaque and not used by shill. bool Visible [readonly] WiMax and WiFi services list all services for which configuration exists in the manager's ServiceCompleteList. Those service types have this property set to false if such a configured service is not actually in range. For all other services (including all other service types) this property is always true. string WiFi.AuthMode [readonly] (WiFi only) If the service state is "configuration" or "ready", then this property will be present and contains the negotiated authentication method. There are too many possible values to enumerate here. The complete set depends on the capabilities of the associated WiFi supplicant. string WiFi.BSSID [readonly] (WiFi only) The BSSID of the associated AP. One can monitor this property for PropertyChanged signals to identify when roaming changes the current AP. The BSSID is formatted as colon-separated octets. E.g. "00:01:02:03:04:05". boolean WiFi.HiddenSSID [readwrite] (WiFi only) If true, the associated WiFi network does not broadcast its SSID in beacon frames. This property instructs shill to actively scan for this SSID. This value is cleared when this service is removed from all active profiles. uint16 WiFi.Frequency [readonly] (WiFi only) The operating frequency in MHz of the Service. If the Service is connected, this is the frequency on which it is connected. Otherwise, this is the frequency of the best available BSS (roughly, AP) for this Service. array{uint16} WiFi.FrequencyList [readonly] (WiFi only) The operating frequencies in MHz of the Service. This lists all of the frequencies where this Service has recently been seen. This list is not necessarily complete, as: a) not all scans check every channel, b) an AP may not have responded in time, and c) some scan results may have expired from the cache. string WiFi.PhyMode [readonly] (WiFi only) If the service state is "configuration" or "ready", then this property will be present and contains the negotiated operating mode for the channel. Possible values include "802.11a", "802.11b", "802.11g", "802.11n". This value is for informational purposes only. string WiFi.HexSSID [readonly] (WiFi only) This property holds a hex-encoded copy of the SSID. Since the Name property is enforced by the D-Bus protocol to be a valid UTF-8 string but SSIDs can be an abitrary sequence of bytes, this property will always contain the true value of the SSID, while the Name property may differ from the true representation. See also the Name property. (Note that there is no SSID property for reasons explained above.) string WiFi.SSID [readonly] (WiFi only) The service's SSID. Must have a non-zero length less than or equal to 32. bool WiFi.ProtectedManagementFrameRequired [readonly] (WiFi only) This property indicates whether an AP for this service has been seen that requires 802.11w (Protected Management Frame) support. dict WiFi.VendorInformation [readonly] (WiFi only) Information about the vendor of the AP, gleaned from WPS and vendor-specific information elements in the beacon and probe respondss. string Manufacturer [readonly] Device manufacturer name as supplied by WPS IE. string ModelName [readonly] Device model name as supplied by WPS IE. string ModelNumber [readonly] Device model number as supplied by WPS IE. string DeviceName [readonly] Device name as supplied by WPS IE. string OUIList [readonly] Space separated list of OUI identifiers for vendor-specific IEs that were neither the Microsoft nor Epigram identifiers (the former two are used for platform-neutral information). uint16 WiFi.RoamThreshold [readwrite] (WiFi only) The roam threshold is the AP signal-to-noise value (in dB) below which wpa_supplicant will attempt to roam to a new AP. This per-service RoamThreshold property overrides the WiFi device-wide RoamThreshold set through the device DBus API. Changes to this property will only take effect on the next time the WiFi device connects to this service.