1 Service hierarchy 2 ================= 3 4 Service org.chromium.flimflam 5 Interface org.chromium.flimflam.Service 6 Object path [variable prefix]/{service0,service1,...} 7 8 Methods dict GetProperties() 9 10 Return the properties for the service object. See 11 the Properties section for available properties. 12 13 void SetProperty(string name, variant value) 14 15 Change the value of the specified property. Only 16 properties that are listed as read-write are 17 changeable. On success a PropertyChanged signal 18 will be emitted. 19 20 Possible Errors: [service].Error.InvalidArguments 21 [service].Error.InvalidProperty 22 [service].Error.InvalidService 23 [service].Error.InvalidPassphrase 24 25 void SetProperties(dict properties) 26 27 Set multiple properties in a Service at once. 28 Each property from the dict is applied, excluding 29 the "Profile" property and all properties intrinsic 30 to the service including "Type" for all services, 31 as well as "Mode", "SSID" and "Security" for WiFi 32 services. In the event of multiple errors while 33 applying properties to the service, the first error 34 code is returned by this call. 35 36 Possible Errors: [service].Error.InvalidArguments 37 [service].Error.InvalidProperty 38 [service].Error.InvalidService 39 [service].Error.InvalidPassphrase 40 41 void ClearProperty(string name) 42 43 Clear the value of the specified property. Only 44 properties that are listed as read-write are 45 changeable. On success a PropertyChanged signal 46 will be emitted. 47 48 Possible Errors: [service].Error.InvalidArguments 49 [service].Error.InvalidProperty 50 51 array{bool} ClearProperties(array{string} names) 52 53 Clear the value of the specified properties. Calls 54 ClearProperty above on each of the property names 55 and returns an array of boolean values indicating 56 whether each ClearProperty attempt succeeded. 57 58 void Connect() 59 60 Initiate a connection for the specified service. 61 62 For Ethernet devices this method can only be used 63 if it has previously been disconnected. Otherwise 64 the plugging of a cable automatically triggers 65 a connection. If no cable is plugged in this 66 method will fail. 67 68 If the requested service is already connected 69 then this request is ignored and AlreadyConnected 70 is returned. 71 72 If the requested service is in the process of 73 connecting then this request is ignored and 74 InProgress is returned. 75 76 If another service of the same type is connected or 77 connecting then it is terminated before this request 78 is handled. 79 80 If the requested service cannot, for reasons not 81 described above, be connected, OperationFailed is 82 returned. 83 84 Possible Errors: [service].Error.AlreadyConnected 85 [service].Error.InProgress 86 [service].Error.OperationAborted 87 [service].Error.InvalidService 88 [service].Error.OperationFailed 89 90 void Disconnect() 91 92 Disconnect a service. If the service is not 93 connected or in the process of connecting an 94 error message will be generated. 95 96 For Ethernet devices this will remove all 97 Layer 3 state and mark the associated network 98 interface down. If no cable is plugged in this 99 request will fail. 100 101 This method can also be used to abort a previous 102 connection attempt via the Connect method. 103 104 Possible Errors: [service].Error.InvalidArguments 105 [service].Error.OperationFailed 106 107 void Remove() 108 109 Disconnect and remove the configuration of a 110 service. This disassociates the service from 111 its current profile. If another profile supports 112 this service, it will be re-configured there. 113 114 This method is not permitted for Ethernet devices; 115 it will generate a NotSupported error response. 116 117 Possible Errors: [service].Error.InvalidArguments 118 [service].Error.NotSupported 119 120 void ActivateCellularModem(string carrier) 121 122 Activate a cellular modem on the provided carrier. 123 124 This method returns immediately. The caller 125 can either poll the Cellular.ActivationState 126 property, or monitor the PropertyChanged 127 signal to know when and if the 128 ActivateCellularModem call succeeded. 129 130 The correct carrier specific modem firmware 131 must already be loaded before this method is 132 called. 133 134 If this method is called for a non-cellular 135 service or on a service associated with a 136 non-CDMA device, it will return a NotSupported 137 error. 138 139 If the device is already activated nothing is returned. 140 but if the device needs to be activated an InProgress 141 error is returned. 142 143 Expected Result: [service].Error.InProgress 144 Possible Errors: [service].Error.NotSupported 145 146 void CompleteCellularActivation() 147 148 Complete the activation of a cellular service that is 149 being activated over a non-cellular network. This 150 method is called upon the completion of the online 151 payment portal and performs the necessary checks 152 to ensure the activation process has fully completed. 153 154 This method returns immediately. The caller 155 can either poll the Cellular.ActivationState 156 property, or monitor the PropertyChanged 157 signal to know when and if the activation process 158 has completed. 159 160 If this method is called on a non-cellular service 161 or on a cellular service that is not being activated 162 over a non-cellular network, it will return a 163 NotSupported error. 164 165 If the cellular service is already activated or being 166 activated, nothing is returned. 167 168 Possible Errors: [service].Error.NotSupported 169 170 dict GetLoadableProfileEntries() 171 172 Return a dictionary of object_path -> string pairs 173 which refer to the profile entries from the loaded 174 profiles in the Manager that could possibly provide 175 configuration for this service. Each entry contains 176 the DBus path of the profile and the string entry 177 name (within that profile) that contains configuration 178 for this service. Callers can use each of these 179 argument pairs to do a "GetEntry" call on each profile 180 object. 181 182 Signals PropertyChanged(string name, variant value) 183 184 This signal indicates a changed value of the given 185 property. 186 187 188 Properties boolean AutoConnect [readwrite] 189 190 If set to true, this service will auto-connect 191 when no other connection is available. If multiple 192 services are marked for auto-connect then the highest 193 priority available service will be selected. 194 195 On a successful connection, this property may be 196 set to true automatically, depending on the service 197 type and if this property was not explicitly set on 198 the service before. 199 200 boolean Cellular.ActivateOverNonCellularNetwork [readonly] 201 202 (Cellular only) If set to true, this service must be 203 activated over a non-cellular network instead of the 204 same cellular network. 205 206 string Cellular.ActivationState [readonly] 207 208 (Cellular only) The activate state of the device 209 on the cellular network. Possible values for 210 activate_state are: 211 "not-activated" 212 "activating" 213 "partially-activated" 214 "activated" 215 216 A CDMA device can be activated by calling the 217 Activate method. 218 219 This property is relevant only for services 220 associated with a CDMA cellular device. 221 222 dict Cellular.ServingOperator [readonly] [GSM only] 223 (Cellular only) Description of the operator on whose 224 network the modem is currently registered, if any. 225 The dictionary may contain the following string-valued 226 properties: 227 228 "name" The operator name 229 "country" The two-letter country code. 230 "network_id" The MCC (Mobile Country Code) 231 and MNC (Mobile Network Code) of the 232 operator on whose network the device is 233 registered. The value of the property is 234 the simple concatenation of the MCC and 235 the MNC, with no separator. The first 236 three digits are always the MCC, and 237 the following two or three digits are the 238 MNC. 239 240 string Cellular.NetworkTechnology [readonly] 241 242 (Cellular only) If the modem is registered on a 243 network, then this property gives the data bearer 244 technology currently in use. The following 245 table lists the values this property may have, 246 along with a rough indication of the "generation" 247 to which the technology is considered to belong. 248 249 Value Generation 250 ----------------------------- 251 "1xRTT" (CDMA) 2.5G 252 "EVDO" (CDMA) 3G to 3.5G 253 "GPRS" 2.5G 254 "EDGE" 2.75G 255 "UMTS" 3G 256 "HSPA" 3.5G 257 "HSPA+" 3.75G 258 "LTE" 3.9G 259 "LTE Advanced" 4G 260 261 string Cellular.RoamingState [readonly] 262 263 (Cellular only) The roaming status of the modem on 264 the current network. Possible values are "home", 265 "roaming", and "unknown". 266 267 string Cellular.Olp [readonly] 268 269 (Cellular only) A dictionary describing the 270 online payment portal (OLP) at which a user 271 can sign up for, or modify, a mobile data 272 plan. The value of this property is a 273 string -> string dictionary, which includes 274 the following keys: 275 276 "url" The URL for the portal 277 "method" The HTTP method to use, "GET" or "POST" 278 "postdata" If the method is POST then this key is 279 present and contains the postdata 280 to send. 281 282 dict Cellular.APN [readwrite] [GSM only] 283 284 (Cellular only) The APN to be used with a GSM 285 carrier for making data connections. The value of 286 this property is a string -> string dictionary, 287 which must include at least the following key: 288 289 "apn" The APN to use for making connections 290 291 There are three optional properties. The first is 292 293 "network_id" The network ID (MCC/MNC pair) of the 294 network for which the APN should be used. 295 If not specified, then the network ID of 296 the currently registered network is used. 297 298 The other two optional properties are "username" 299 and "password", which, if specified, will be supplied 300 to the connect operation on the modem along with the 301 APN. 302 303 When the APN is set using this method, it overrides 304 any APN that may be associated with the specified 305 network ID in the APN database. The APN setting is 306 persistent across reboots. 307 308 A user-specified APN may be cleared by clearing this 309 property. 310 311 The algorithm for connecting to GSM networks is as 312 follows, stopping when a connection is succesfully 313 established: 314 1. Try the last APN that resulted in a successful 315 connection. 316 2. Try the APN that was set from the Cellular.APN 317 property (if any). 318 3. Try the list of APNs for the current provider one 319 at a time. The list comes from the mobile broadband 320 provider information database. 321 4. As a last resort, try connecting without specifying 322 an APN. 323 324 If all these steps fail, then the connect attempt fails. 325 Whenever this property is set to establish a new APN to 326 use, the remembered last-good-APN is cleared. The 327 remembered last-good-APN is persistent across reboots. 328 329 dict Cellular.LastGoodAPN [readonly] [GSM only] 330 331 (Cellular only) The APN information used in the 332 last successful connection attempt. If the last 333 attempt was unsuccesful, this property is unset. 334 The format of this property is the same as for 335 the Cellular.APN property. 336 337 boolean Cellular.OutOfCredits [readonly] 338 339 (Cellular only) Indicates whether a cellular service 340 has any remaining bandwidth credits with the carrier. 341 342 string Cellular.PPP.Username [readwrite] 343 (Cellular only) For cellular devices with a PPP 344 link-layer, the username for PPP authentication. 345 346 string Cellular.PPP.Password [writeonly] 347 (Cellular only) For cellular devices with a PPP 348 link-layer, the password for PPP authentication. 349 350 string CheckPortal [readwrite] 351 352 Control captive portal checking. Possible values 353 are "true", "false", and "auto" (default). 354 When set to "auto" captive portal checking is 355 controlled by Manager.CheckPortalList (which 356 is a per-technology mask/list of which services 357 should do captive portal checking). 358 359 boolean Connectable [readonly] 360 361 Indicates whether a service is prepared for use 362 as an argument to the Connect method. A service 363 will not be marked Connectable if, for example, 364 it is missing necessary security credentials. 365 Clients may use this property to not disable 366 services or to mark them in some way to indicate 367 they are present but not usable. 368 369 string Country [readonly] 370 371 (WiFi only) Indicates the 2-letter country code 372 reported by the representative endpoint for this 373 service. 374 375 object Device [readonly] 376 377 The object path of the associated device. 378 This value may be used to retrieve and manipulate 379 Layer 3 configuration state. 380 381 A value of "/" indicates that the service is 382 not bound to any device. 383 384 string DHCPProperty.Hostname [readwrite] 385 386 Optional setting to configure DHCP requests. Some DHCP 387 servers may register a DNS entry on behalf of this 388 hostname; others may just make available a table for 389 administrators to tell what machines are on their 390 network. 391 392 The default for this name is empty, which means that the 393 system will not report a hostname. When this property 394 is set it will be persisted in the default profile. 395 396 string DHCPProperty.VendorClass [readwrite] 397 398 Optional setting to configure DHCP requests. This 399 setting can be used to identify the vendor that 400 manufactured the client hardware, the software in use, 401 or an industry consortium to which the vendor belongs. 402 403 The default for this property is empty, which means the 404 system will not report a Vendor Class. When set, this 405 property will override the default setting and be 406 persisted in the default profile. 407 408 array{string} Diagnostics.Disconnects [readonly] 409 410 History (wall-clock timestamps) of connection drops. 411 412 array{string} Diagnostics.Misconnects [readonly] 413 414 History (wall-clock timestamps) of failed connection 415 attempts. 416 417 string EAP.Identity [readwrite] 418 419 The client identity string used in setting up 420 services of type "802_1x". 421 422 This property is included in get requests only 423 when the requester has sufficient privileges. 424 425 string EAP.EAP [readwrite] 426 427 The EAP methods that will be accepted when setting 428 up services of type "802_1x". 429 430 This property is included in get requests only 431 when the requester has sufficient privileges. 432 433 string EAP.InnerEAP [readwrite] 434 435 The authentication methods that will be on the 436 inside of a PEAP or EAP-TTLS tunnel. 437 438 This property is included in get requests only 439 when the requester has sufficient privileges. 440 441 string EAP.AnonymousIdentity [readwrite] 442 443 The client identity string that will be used 444 for the outer EAP authentication for tunneled 445 methods such as PEAP and EAP-TTLS. 446 447 This property is included in get requests only 448 when the requester has sufficient privileges. 449 450 string EAP.CertID [readwrite] 451 452 The PKCS#11 identifier of the client certificate 453 to use when setting up services of type "802_1x". 454 455 This property is included in get requests only 456 when the requester has sufficient privileges. 457 458 string EAP.PrivateKey [readwrite] 459 460 The pathname of a file containing the private 461 key for setting up services of type "802_1x". 462 The private key file must be in PEM format. 463 464 This property is included in get requests only 465 when the requester has sufficient privileges. 466 467 string EAP.PrivateKeyPassword [readwrite] 468 469 The password to decrypt a private key given 470 in EAP.PrivateKey. 471 472 This property is included in get requests only 473 when the requester has sufficient privileges. 474 475 string EAP.KeyID [readwrite] 476 477 The PKCS#11 identifier of the private key to 478 use when setting up services of type "802_1x". 479 480 This property is included in get requests only 481 when the requester has sufficient privileges. 482 483 string EAP.CACert [readwrite] 484 485 The pathname of a file containing the Certificate 486 Authority's certificate for validating server 487 certificates during the 802.1x authentication 488 process. 489 490 This property is included in get requests only 491 when the requester has sufficient privileges. 492 493 string EAP.CACertID [readwrite] 494 495 The PKCS#11 ID of the EAP.CACert file for 496 validating server certificate recieved during 497 the 802.1x authentication process. 498 499 This property is included in get requests only 500 when the requester has sufficient privileges. 501 502 string EAP.CACertPEM [readwrite] 503 504 An x509 CA certificate in PEM format; specifically 505 the base64 counterpart of the DER contents 506 surrounded by a "-----BEGIN CERTIFICATE-----" and 507 "-----END CERTIFICATE-----" line. This certificate 508 will be used to authenticate the remote RADIUS 509 server in the 802.1x authentication process. 510 511 boolean EAP.UseSystemCAs [readwrite] 512 513 Control whether EAP operations are 514 configured to use the system's installed set 515 of certificate authorities when validating 516 server certificates. Note that if UseSystemCAs 517 is false and no CA is specified with EAP.CACert 518 or EAP.CaCertID - that is, no CAs are configured 519 at all - server certificates will not have their 520 signatures checked. Defaults to true. 521 522 This property is included in get requests only 523 when the requester has sufficient privileges. 524 525 string EAP.PIN [readwrite] 526 527 The PIN used to authenticate to the PKCS#11 device 528 to retrieve a client certificate, private key, 529 or certificate authority certificate. 530 531 This property is included in get requests only 532 when the requester has sufficient privileges. 533 534 string EAP.Password [readwrite] 535 536 The password to use in 802.1x authentication. 537 538 This property is included in get requests only 539 when the requester has sufficient privileges. 540 541 string EAP.KeyMgmt [readwrite] 542 543 (WiFi only) The key management algorithm to be 544 used in 802.1x authentication. If this property 545 is not set then "WPA-EAP" is used for the key 546 management algorithm. 547 548 This property is included in get requests only 549 when the requester has sufficient privileges. 550 551 array{string} EAP.RemoteCertification [readonly] 552 553 (WiFi only) The list of certificate subject names 554 reported by the remote RADIUS server. This 555 property is set during 802.1x negotiation and 556 persists after disconnection for later inspection, 557 but is not persisted between connection manager 558 restarts. It is also cleared at the beginning of 559 the next connection. 560 561 string EAP.SubjectMatch [readwrite] 562 563 (WiFi only) A substring which the remote 564 RADIUS server certificate subject name must 565 contain. If the subject does not contain this 566 substring, abort 802.1x negotiation. 567 568 string Error [readonly] 569 570 The service error status details. 571 572 When error occur during connection or disconnection 573 the detailed information are represented in this 574 property to help the user interface to present the 575 user with alternate options. 576 577 This property is only valid when the service is in a 578 failure state. Otherwise it might be empty or not 579 present at all. 580 581 Look for "Flimflam error options" in 582 system_api/dbus/shill/dbus-constants.h for the set of 583 defined error codes. 584 585 string ErrorDetails [readonly] 586 587 Free-style service error status details in addition to 588 the defined error codes presented through the 589 Service.Error property. For example, this property may 590 contain a server-supplied error description for a 591 rejected VPN connection attempt. 592 593 This property is only valid when the service is in a 594 failure state. Otherwise it might be empty or not 595 present at all. 596 597 string GUID [readwrite] 598 599 The Globally Unique IDentifier for the service. 600 This value may be set by a client and is 601 intended for cross-referencing Service objects 602 to externally-maintained data. 603 604 object IPConfig [readonly] 605 606 The object path of the associated IP configuration. 607 This value only exists when the service is connected, 608 and is used used to retrieve Layer 3 configuration 609 state. A PropertyChanged signal for this object path 610 is emitted every time the IP address is configured 611 (for example during DHCP renewals), although the 612 actual value may not have changed. 613 614 boolean IsActive [readonly] 615 616 Will be true if this service has a default route; 617 i.e. network traffic is being sent through it. 618 619 boolean LinkMonitorDisable [readwrite] 620 621 Specifies whether to disable or enable link monitoring 622 for this service. When link monitor is enabled, periodic 623 ARP to the gateway IP address will be performed. 624 625 boolean ManagedCredentials [readwrite] 626 627 Specifies whether the credentials for this service 628 are managed outside of shill, and are validated 629 in some manner other than by the user. As such, these 630 credentials need not be validated via an initial 631 connection attempt. Even without this validation, 632 the service will be considered of equal priority to 633 other services that have been connected before. 634 635 string Mode [readonly] 636 637 If the service type is "wifi", then this property is 638 present and contains the mode of the network. The 639 possible values are "managed" or "adhoc". 640 641 This property is present only for WiFi services. 642 643 string Name [readonly] 644 645 The service name (for example "Wireless" etc.) 646 647 This name can be used for directly displaying it in 648 the application. It has pure informational purpose. 649 650 For Ethernet devices and hidden WiFi networks it is 651 not guaranteed that this property is present. For 652 visible WiFi networks, this may contain the SSID. 653 654 See also the WiFi.HexSSID property. 655 656 string OpenVPN.Auth [writeonly] 657 658 (VPN services of type OpenVPN only) Specify the 659 authentication algorithm to OpenVPN. 660 See the "--auth" option in the OpenVPN documentation. 661 The current value of this property is readable 662 in the "Provider" property of this service. 663 664 string OpenVPN.AuthNoCache [writeonly] 665 666 (VPN services of type OpenVPN only) If this value 667 is set to anything, do not cache usernames or passwords 668 in the OpenVPN client. See the "--auth" flag in the 669 OpenVPN documentation. The current value of this 670 property is readable in the "Provider" property of this 671 service. 672 673 string OpenVPN.AuthRetry [writeonly] 674 675 (VPN services of type OpenVPN only) Specify how to 676 handle authentication failures. 677 See the "--auth-retry" option in the OpenVPN 678 documentation. The current value of this property 679 is readable in the "Provider" property of this service. 680 681 string OpenVPN.AuthUserPass [writeonly] 682 683 (VPN services of type OpenVPN only) Authenticate 684 with username and password if this option is non-empty. 685 For this option to work, the "OpenVPN.User" property 686 must also be set. The current value of this property 687 is readable in the "Provider" property of this service. 688 689 string OpenVPN.CACert [writeonly] 690 691 (VPN services of type OpenVPN only) Specify the 692 filename of the certificate to be used to verify the 693 OpenVPN server. Only one of "OpenVPN.CACert" or 694 "OpenVPN.CACertPEM" can be specified. The current 695 value of this property is readable in the "Provider" 696 property of this service. 697 698 string OpenVPN.CACertNSS [writeonly] 699 700 (VPN services of type OpenVPN only) [Deprecated] 701 This value is no longer honored in shill, but any 702 value stored here is persisted so that callers can 703 migrate this to the correct value of OpenVPN.CACertPEM. 704 The current value of this property is readable in the 705 "Provider" property of this service. 706 707 array{string} OpenVPN.CACertPEM [writeonly] 708 709 (VPN services of type OpenVPN only) The list of 710 x509 CA certificates to be used to verify the remote 711 server. Any of these certificates can directly sign 712 the server certificate. Each x509 CA certificate 713 must be in in PEM format; specifically 714 the base64 counterpart of the DER contents, optionally 715 surrounded by a "-----BEGIN CERTIFICATE-----" and 716 "-----END CERTIFICATE-----" line. Only one of 717 "OpenVPN.CACert" or "OpenVPN.CACertPEM" can be 718 specified. The current value of this property is 719 readable in the "Provider" property of this service. 720 721 string OpenVPN.Cert [writeonly] 722 723 (VPN services of type OpenVPN only) Specify a 724 filename of to use as the client certificate in 725 authentication. See the "--cert" option in the 726 OpenVPN documentation. The current value of this 727 property is readable in the "Provider" property of 728 this service. 729 730 string OpenVPN.Cipher [writeonly] 731 732 (VPN services of type OpenVPN only) Specify the 733 cipher algorithm for encrypted packets. See the 734 "--cipher" option in the OpenVPN documentation. 735 The current value of this property is readable in 736 the "Provider" property of this service. 737 738 string OpenVPN.CompLZO [writeonly] 739 740 (VPN services of type OpenVPN only) If non-empty, 741 enable fast LZO compression. See the 742 "--comp-lzo" option in the OpenVPN documentation. 743 The current value of this property is readable in 744 the "Provider" property of this service. 745 746 string OpenVPN.CompNoAdapt [writeonly] 747 748 (VPN services of type OpenVPN only) If non-empty, 749 don't use adaptive compression when fast LZO 750 is enabled compression. See the "--comp-noadapt" 751 option in the OpenVPN documentation. The current 752 value of this property is readable in the "Provider" 753 property of this service. 754 755 array{string} OpenVPN.ExtraCertPEM [writeonly] 756 757 (VPN services of type OpenVPN only) A list of 758 additonal x509 CA certificates to be used to complete 759 the certificate authentication chain from the CA 760 certificates. Each x509 CA certificate must be in in 761 PEM format; specifically the base64 counterpart of 762 the DER contents, optionally surrounded by a 763 "-----BEGIN CERTIFICATE-----" and 764 "-----END CERTIFICATE-----" line. The current 765 value of this property is readable in the "Provider" 766 property of this service. 767 768 string OpenVPN.IgnoreDefaultRoute [writeonly] 769 770 (VPN services of type OpenVPN only) If set, a 771 default route to the default gateway specified by 772 the server will not be configured. This allows this 773 connection to operate as a "split tunnel" in 774 configurations where the server allows this. Since 775 this option does not ignore routes explicitly pushed 776 from the server, this option does not allow split 777 tunnels when they are expressly forbidden in the 778 server configuration. The server can directly 779 override this option by pushing a "redirect-gateway" 780 or "redirect-private" option to the client. The 781 current value of this property is readable in the 782 "Provider" property of this service. 783 784 string OpenVPN.Key [writeonly] 785 786 (VPN services of type OpenVPN only) Specify the 787 filename of the private key the client uses to 788 verify itself to the OpenVPN server. See the 789 "--key" option in the OpenVPN documentation. The 790 current value of this property is readable in the 791 "Provider" property of this service. 792 793 string OpenVPN.KeyDirection [writeonly] 794 795 (VPN services of type OpenVPN only) [Deprecated] 796 This property is only provided for backwards 797 compatibility. 798 799 string OpenVPN.Mgmt.Enable [writeonly] 800 801 (VPN services of type OpenVPN only) [Deprecated] 802 This property is only provided for backwards 803 compatibility. 804 805 string OpenVPN.NsCertType [writeonly] 806 807 (VPN services of type OpenVPN only) If non-empty, 808 specifies that the peer certificate must be signed 809 with an explicit nsCertType designation. The value 810 assigned to this property specified the role that 811 should be assigned to the certificate. See the 812 "--ns-cert-type" option in the OpenVPN documentation. 813 The current value of this property is readable in the 814 "Provider" property of this service. 815 816 string OpenVPN.OTP [writeonly] 817 818 (VPN services of type OpenVPN only) Specifies a 819 one-time-password (OTP) to be used during the 820 authentication phase. The connection manager only 821 stores this value for the duration of a connection 822 attempt and will never persist this to a stored 823 profile. 824 825 string OpenVPN.Password [writeonly] 826 827 (VPN services of type OpenVPN only) Specifies a 828 password to be used during the authentication phase. 829 830 string OpenVPN.Pkcs11.ID [writeonly] 831 832 (VPN services of type OpenVPN only) Specify the 833 PKCS11 certificate id when using a crypto token 834 to perform certificate authentication. 835 836 string OpenVPN.Pkcs11.PIN [writeonly] 837 838 (VPN services of type OpenVPN only) Specifies a 839 PIN used to gain access to the cryptographic token 840 when using the "OpenVPN.Pkcs11.ID" property. 841 842 string OpenVPN.Pkcs11.Provider [writeonly] 843 844 (VPN services of type OpenVPN only) Specifies a 845 the provider for the the cryptographic token 846 when using the "OpenVPN.Pkcs11.ID" property. 847 The current value of this property is readable in the 848 "Provider" property of this service. 849 850 string OpenVPN.Ping [writeonly] 851 852 (VPN services of type OpenVPN only) If non-empty, 853 this specifies the period in seconds between sending 854 pings to the OpenVPN server. See the "--ping" option 855 in the OpenVPN documentation. The current value of 856 this property is readable in the "Provider" property 857 of this service. 858 859 string OpenVPN.PingExit [writeonly] 860 861 (VPN services of type OpenVPN only) If non-empty, 862 exit if this many seconds pass without reception 863 of a ping reply from the OpenVPN server. See the 864 "--ping-exit" option in the OpenVPN documentation. 865 The current value of this property is readable in the 866 "Provider" property of this service. 867 868 string OpenVPN.PingRestart [writeonly] 869 870 (VPN services of type OpenVPN only) If non-empty, 871 restart if this many seconds pass without reception 872 of a ping reply from the OpenVPN server. See the 873 "--ping-restart" option in the OpenVPN documentation. 874 The current value of this property is readable in the 875 "Provider" property of this service. 876 877 string OpenVPN.Port [writeonly] 878 879 (VPN services of type OpenVPN only) If non-empty, 880 use this port for both the local and remote. 881 See the "--port" option in the OpenVPN documentation. 882 The current value of this property is readable in the 883 "Provider" property of this service. 884 885 string OpenVPN.Proto [writeonly] 886 887 (VPN services of type OpenVPN only) If non-empty, 888 sets the protocol ("udp", "tcp-client", "tcp-server) 889 for the OpenVPN connection. See the "--proto" option 890 in the OpenVPN documentation. The current value of 891 this property is readable in the "Provider" property 892 of this service. 893 894 string OpenVPN.PushPeerInfo [writeonly] 895 896 (VPN services of type OpenVPN only) If non-empty, 897 specifies that client information should be pushed 898 to the server. See the "--push-peer-info" option 899 in the OpenVPN documentation. The current value of 900 this property is readable in the "Provider" property 901 of this service. 902 903 string OpenVPN.RemoteCertEKU [writeonly] 904 905 (VPN services of type OpenVPN only) Require that 906 the remote peer certificate be signed with the 907 specified extended key usage OID. See the 908 "--remote-cert-eku" option in the OpenVPN 909 documentation. The current value of this property 910 is readable in the "Provider" property of this service. 911 912 string OpenVPN.RemoteCertKU [writeonly] 913 914 (VPN services of type OpenVPN only) Require that 915 the remote peer certificate be signed with the 916 specified key usage in hex format. See the 917 "--remote-cert-ku" option in the OpenVPN 918 documentation. The current value of this property 919 is readable in the "Provider" property of this service. 920 921 string OpenVPN.RemoteCertTLS [writeonly] 922 923 (VPN services of type OpenVPN only) Require that 924 the remote peer certificate be signed with the 925 specified key usage and extend key usage based on 926 RFC3280 TLS rules. See the "--remote-cert-tls" option 927 in the OpenVPN documentation. The current value of 928 this property is readable in the "Provider" property 929 of this service. 930 931 string OpenVPN.RenegSec [writeonly] 932 933 (VPN services of type OpenVPN only) Specifies the 934 period (in seconds) to re-negotiate the data channel 935 key. See the "--reneg-sec" option in the OpenVPN 936 documentation. The current value of this property is 937 readable in the "Provider" property of this service. 938 939 string OpenVPN.ServerPollTimeout [writeonly] 940 941 (VPN services of type OpenVPN only) Specifies the 942 period (in seconds) to wait to for a response from 943 the server. See the "--server-poll-timeout" option 944 in the OpenVPN documentation. The current value of 945 this property is readable in the "Provider" property 946 of this service. 947 948 string OpenVPN.Shaper [writeonly] 949 950 (VPN services of type OpenVPN only) Restricts the 951 number of bytes per second to be output to the peer. 952 See the "--shaper" option in the OpenVPN documentation. 953 The current value of this property is readable in the 954 "Provider" property of this service. 955 956 string OpenVPN.StaticChallenge [writeonly] 957 958 (VPN services of type OpenVPN only) Enable static 959 challenge/response protocol. See the 960 "--static-challenge" option in the OpenVPN 961 documentation. The current value of this property 962 is readable in the "Provider" property of this service. 963 964 string OpenVPN.TLSAuth [writeonly] 965 966 (VPN services of type OpenVPN only) If non-empty, 967 passes this as the "--tls-auth" argument to OpenVPN. 968 The current value of this property is readable in the 969 "Provider" property of this service. 970 971 string OpenVPN.TLSAuthContents [writeonly] 972 973 (VPN services of type OpenVPN only) Creates a 974 temporary file with the contents of this property 975 and passes it to OpenVPN using the "--tls-auth" 976 option. The current value of this property 977 is readable in the "Provider" property of this service. 978 979 string OpenVPN.TLSRemote [writeonly] 980 981 (VPN services of type OpenVPN only) Specifies 982 the only X509 name that is allowed for the peer. See 983 the" --tls-remote" option in the OpenVPN 984 documentation. The current value of this property 985 is readable in the "Provider" property of this service. 986 987 string OpenVPN.Token [writeonly] 988 989 (VPN services of type OpenVPN only) Specifies a 990 single-use token to be used during the static challenge 991 phase of authentication. This will be used instead of 992 the standard OpenVPN "SCRV1:" response containing the 993 password and OTP parameters. This is useful in 994 installations where the default base64 encoding may be 995 too large to fit in the buffer size available, and 996 server implementations have been changed to avoid this. 997 The connection manager only stores this value for the 998 duration of a connection attempt and will never persist 999 this to a stored profile. 1000 1001 string OpenVPN.User [writeonly] 1002 1003 (VPN services of type OpenVPN only) Specifies 1004 the username to be specified in authentication to 1005 the OpenVPN server. The current value of this property 1006 is readable in the "Provider" property of this service. 1007 1008 string OpenVPN.Verb [writeonly] 1009 1010 (VPN services of type OpenVPN only) If non-empty, 1011 passes this as the "--verb" argument to OpenVPN, 1012 which sets the debug verbosity. By default this 1013 value is set based on shill's debugging level for VPN. 1014 The current value of this property is readable in the 1015 "Provider" property of this service. 1016 1017 string OpenVPN.VerifyHash [writeonly] 1018 1019 (VPN services of type OpenVPN only) If non-empty, 1020 passes this as the "--verify-hash" argument to OpenVPN, 1021 which specifies the SHA1 fingerprint for level-1 1022 certificate. The current value of this property is 1023 readable in the "Provider" property of this service. 1024 1025 string OpenVPN.VerifyX509Name [writeonly] 1026 1027 (VPN services of type OpenVPN only) If non-empty, 1028 passes this as the "--verify-x509-name" argument to 1029 OpenVPN, which specifies the X509 subject distinguished 1030 name we mandate the remote VPN server to have. The 1031 current value of this property is readable in the 1032 "Provider" property of this service. 1033 1034 string OpenVPN.VerifyX509Type [writeonly] 1035 1036 (VPN services of type OpenVPN only) If non-empty, 1037 this string is passed as a second parameter to the 1038 "--verify-x509-name" flag sent to OpenVPN, which 1039 qualifies the type of parameter specified in the 1040 "OpenVPN.VerifyX509Name" property of this service. 1041 If the "OpenVPN.VerifyX509Name" property is unset or 1042 empty, setting this property has no effect during 1043 connection. Please see the documentation of the 1044 "--verify-x509-name" flag in the OpenVPN documentation 1045 to better understand how these two parameters interact. 1046 The current value of this property is readable in the 1047 "Provider" property of this service. 1048 1049 int PPPoE.LCPEchoFailure 1050 1051 (PPPoE only) If set, the number of LCP echo responses 1052 that this service will tolerate missing from the PPP 1053 peer before terminating the connection. 1054 1055 int PPPoE.LCPEchoInterval 1056 1057 (PPPoE only) If set, used as the number of seconds 1058 between sending LCP echo requests to the PPP peer. 1059 1060 int PPPoE.MaxAuthFailure 1061 1062 (PPPoE only) The maximum number of authentication 1063 failures to allow before terminating the connection. A 1064 value of 0 means no limit. The default is 3. 1065 1066 string PPPoE.Password 1067 1068 (PPPoE only) This string is used as the password 1069 during authentication with a PPPoE server. If empty, 1070 it will still be used during authentication if 1071 requested. 1072 1073 string PPPoE.Username 1074 1075 (PPPoE only) If non-empty, this string is used as the 1076 username during authentication with a PPPoE server. If 1077 empty, it will still be used during authentication if 1078 requested. 1079 1080 string Passphrase [readwrite] 1081 1082 If the service type is "wifi", then this property 1083 holds a passphrase used in setting up services of 1084 type "wep", "wpa", "rsn", "psk", or a private 1085 key password used in setting up services of 1086 type "802_1x". 1087 1088 For "wep" services, this must contain the WEP 1089 key and, optionally, a key index. Only 40-bit 1090 and 104-bit WEP keys are supported. The WEP 1091 key can be formatted either as an ASCII string 1092 (5 or 13 characters), or as ASCII hex digits 1093 (10 or 26). When using ASCII hex digits, the 1094 key may optionally be preceded by "0x" or "0X". 1095 To specify an optional WEP key index, prepend 1096 the key with "0:", "1:", "2:" or "3:". If no 1097 index is specified, 0 is used. 1098 1099 By default this property is not included in get 1100 requests. It may be present if a non-default 1101 security policy is configured and the client has 1102 "read secret" privileges. 1103 1104 Note that no PropertyChanged signals are sent for 1105 this property. The PassphraseRequired property 1106 should be monitored instead. 1107 1108 boolean PassphraseRequired [readonly] 1109 1110 If the service type is "wifi", then this property 1111 indicates if a passphrase or key (for WEP) is required. 1112 1113 If a passphrase has been set already or if no 1114 passphrase is needed, then this property will 1115 be set to false. 1116 1117 UI clients may monitor this property for a 1118 PropertyChanged signals to prompt for a required 1119 passphrase or key. 1120 1121 [We will be supporting this soon for VPN] 1122 1123 string PhysicalTechnology [readonly, optional] 1124 1125 If the service type is "vpn" and the service is 1126 connected, this property is present and exposes the 1127 Type property of the underliying physical service used. 1128 Otherwise the property is not present. 1129 1130 string PortalDetectionFailedPhase [readonly] 1131 1132 Indicates the phase that portal detection was in 1133 when it last failed. 1134 1135 Possible values: 1136 1137 DNS - During DNS lookup 1138 Connection - during the TCP connection setup 1139 HTTP - during the HTTP connection setup 1140 Content - The content of the HTTP response 1141 Unknown - Failure in an unknown step 1142 1143 string PortalDetectionFailedStatus [readonly] 1144 1145 Indicates the portal detection failure reason when 1146 it last failed. 1147 1148 Possible values: 1149 1150 Failure - The attempt failed at this phase 1151 Success - The attempt succeeded at this phase 1152 Timeout - The attempt timed out at this phase 1153 1154 string PreviousError [readonly] 1155 1156 The most recent service error status logged. Even 1157 after the service leaves the failed state, this 1158 property retains the last value that the Error property 1159 contained. 1160 1161 Note that no PropertyChanged signals are sent for 1162 this property. The Error property should be monitored 1163 instead. 1164 1165 int32 PreviousErrorSerialNumber [readonly] 1166 1167 This number increases by one every time a service 1168 failure is logged. It returns to zero if shill 1169 restarts. 1170 1171 Note that no PropertyChanged signals are sent for 1172 this property. The Error property should be monitored 1173 instead. 1174 1175 int32 Priority [readwrite] 1176 1177 An optional value used to calculate the priority order 1178 of this service. Priorities are between 1 to 100. 1179 Services with priorities are sorted ahead of services 1180 without. Services with the same priority are ordered 1181 by other means such as service type signal strength 1182 or technology. 1183 1184 By default services are not assigned a priority; 1185 clients must set one if they desire. To remove an 1186 existing priority use the ClearProperty method. 1187 1188 int32 PriorityWithinTechnology [readwrite] 1189 1190 An optional value used to calculate the priority order 1191 of this service. Priorities are between 1 to 100. 1192 Services with priorities are sorted ahead of services 1193 without. Services with the same priority are ordered 1194 by other means such as service type and signal 1195 strength, but notably not technology. This property 1196 can be used instead of the Priority property when 1197 the intent is to rank the service relative to other 1198 services of the same technology. 1199 1200 By default services are not assigned a priority; 1201 clients must set one if they desire. To remove an 1202 existing priority use the ClearProperty method. 1203 1204 string Profile [readwrite] 1205 1206 The object path of the associated Profile object. 1207 This may not be present or may be empty if the Service 1208 object has not been written to a profile yet. 1209 1210 string ProxyConfig [readwrite] 1211 1212 An externalized json dictionary describing the proxy 1213 configuration that can be stored on the service, and 1214 modified by a user. 1215 Flimflam does not use this information for anything, 1216 but it is left available to the caller, and stored 1217 persistently. 1218 This property may be set by any client and will be 1219 adopted by chrome during run-time. If syntax of the 1220 value is wrong, chrome will ignore this property during 1221 runtime. 1222 The value of this property is a string -> string 1223 dictionary that includes the following keys. The final 1224 string is a comma separated list of key-value pairs 1225 enclosed by "{" and "}"; syntax of a key-value pair is: 1226 <key>":"<value>. Example: 1227 {"mode":"fixed-servers","server":"http=foopy:80"} 1228 1229 "mode" 1230 type of proxy that can be one of: 1231 "direct" -- 1232 direct connection to network, other preferences 1233 are ignored 1234 "auto_detect" -- 1235 try to retrieve a PAC script from 1236 http://wpad/wpad.dat or fall back to direct 1237 connection 1238 "pac_script" -- 1239 try to retrieve PAC script specified for "pac_url" 1240 (see below) or fall back to direct connection 1241 "fixed_servers" -- 1242 manual configuration of one or more servers 1243 to be used as proxy 1244 1245 "pac_url" 1246 URL for proxy .pac file (meaningful only if mode= 1247 pac_script); scheme of URL must be specified 1248 1249 "pac_mandatory" 1250 indciate if a valid PAC script is mandatory 1251 (meaningful only if mode=pac_script); 1252 value is either true or false (without quotes), e.g. 1253 "pac_mandatory":true; 1254 if true, network traffic does not fall back to 1255 direct connections in case the PAC script is not 1256 available 1257 1258 "server" 1259 proxy server for manual configuration (meaningful 1260 only if mode=fixed-servers); syntax is 1261 [<proxy-scheme>"://"]<proxy-host>[":"<proxy-port>]; 1262 if the proxy to use depends on the scheme of the 1263 URL, specify a semicolon separated list of : 1264 <url-scheme>"="<proxy-uri> 1265 for example: 1266 - "http=foopy:80;ftp=foopy2" -- 1267 use HTTP proxy "foopy:80" for http:// URLs, and 1268 HTTP proxy "foopy2:80" for ftp:// URLS 1269 - "foopy:80" -- use HTTP proxy "foopy:80" for all 1270 URLs 1271 - "socks4://foopy" -- 1272 use SOCKS v4 proxy "foopy:80" for all URLs 1273 1274 "bypass_list" 1275 proxy bypass rules for manual configuration 1276 (meaningful only if mode=fixed-servers); format 1277 can be any one of the following: 1278 1) [<url_scheme>"://"]<hostname_pattern>[":"<port>] 1279 Match all hostnames that match the pattern 1280 hostname_pattern which can be a substring of the 1281 hostname with asterisks. 1282 Examples: "foobar.com", "*foobar.com", 1283 "*.foobar.com", "*foobar.com:99", 1284 "https://x.*.y.com:99" 1285 2) "."<hostname_suffix_pattern>[":"<port>] 1286 Match a particular domain suffix. 1287 Examples: ".google.com", ".com", 1288 "http://.google.com" 1289 3) [<scheme>"://"]<ip_literal>[":"<port>] 1290 Match URLs that are IP address literals. 1291 Conceptually this is the similar to (1), but with 1292 special cases to handle IP literal 1293 canonicalization. For example matching on 1294 "[0:0:0::1]" would be the same as matching on 1295 "[::1]" since the IPv6 canonicalization is done 1296 internally. 1297 Examples: "127.0.1", "[0:0::1]", "[::1]", 1298 "http://[::1]:99" 1299 4) <ip_literal>"/"<prefix_length_in_bits> 1300 Match any URL that is to an IP literal that falls 1301 in the given range. IP range is specified using 1302 CIDR notation. 1303 Examples: "192.168.1.1/16", "fefe:13::abc/33". 1304 5) "<local>" 1305 Match local addresses; this is a literal string. 1306 "<local>" matches one of: "127.0.0.1", "::1", 1307 "localhost". 1308 1309 dict Provider [readonly] 1310 1311 (VPN only) Provider data. The Provider is a container 1312 which reports all of the VPN-specific properties of a 1313 service. 1314 1315 string Host [readonly] 1316 VPN host IP address. 1317 string Type [readonly] 1318 VPN provider type (e.g. openvpn). 1319 1320 string Provider.Host [writeonly] 1321 1322 (VPN only) Host name of the VPN server. The current 1323 value of this property is readable in the "Provider" 1324 property of this service. 1325 1326 string Provider.Name [writeonly] 1327 1328 (VPN only) The name assigned to this VPN service. The 1329 current value of this property is readable in the 1330 "Provider" property of this service. 1331 1332 string Provider.Type [writeonly] 1333 1334 (VPN only) The type of VPN service. This value is 1335 only settable when creating this service (via the 1336 Manager GetService or ConfigureService methods). The 1337 current value of this property is readable in the 1338 "Provider" property of this service. 1339 1340 boolean SaveCredentials [readwrite] 1341 1342 This property indicates if security credentials 1343 should be reused and/or written to stable storage. 1344 Setting this property to FALSE ensures nothing is 1345 recorded and the client must supply credentials 1346 for each Connect request. 1347 1348 The following credentials are not recorded when 1349 this property is set to FALSE: 1350 1351 Passphrase 1352 EAP.Identity 1353 EAP.AnonymousIdentity 1354 EAP.ClientCert 1355 EAP.CertID 1356 EAP.PrivateKey 1357 EAP.PrivateKeyPassword 1358 EAP.KeyID 1359 EAP.PIN 1360 EAP.Password 1361 1362 Note that no PropertyChanged signals are sent for 1363 this property. 1364 1365 string Security [readonly] 1366 1367 If the service type is "wifi", then this property is 1368 present and contains the security method or key 1369 management setting. 1370 1371 Possible values are: "none" (no privacy), 1372 "wep" (fixed key WEP), "wpa" (WPA-PSK), "rsn" 1373 (IEEE 802.11i-PSK), "psk" (either "wpa" or "rsn"), 1374 and "802_1x" (IEEE 802.11i with 802.1x authentication). 1375 1376 This property is only present for WiFi services. 1377 1378 string SecurityClass [readonly] 1379 1380 If the service type is "wifi", then this property is 1381 present and contains the security class of the service. 1382 The security class groups together WPA and WPA-2 networks, 1383 to allow for seamless roaming between them. 1384 1385 Possible values are: "none" (no privacy), 1386 "wep" (fixed key WEP), "psk" (WPA-PSK or IEEE 802.11i-PSK), 1387 and "802_1x" (IEEE 802.11i with 802.1x authentication). 1388 1389 This property is only present for WiFi services. 1390 1391 string State [readonly] 1392 1393 The state of the service; one of: 1394 1395 "idle" The service is not enabled or otherwise 1396 operational. 1397 1398 "association" Intermediate states associated with 1399 connection-based devices such as WiFi 1400 and Cellular. These are exposed for 1401 UI applications to provide more 1402 fine-grained status. 1403 1404 "configuration" Layer 2 is setup but Layer 3 setup 1405 has yet to completed. 1406 1407 "ready" Layer 3 setup is complete; ready to 1408 transit and receive data. 1409 1410 "portal" Layer 3 setup is complete but 1411 connectivity to the Internet may be 1412 limited or unavailable. 1413 1414 "online" Layer 3 setup is complete and an 1415 Internet connection has been checked 1416 to support HTTP access to the 1417 Manager.PortalURL site. 1418 1419 "failure" An error occurred while trying to 1420 reach the "ready" state. Consult the 1421 Error propery for details. 1422 1423 string StaticIP.Address [readwrite] 1424 string StaticIP.Gateway [readwrite] 1425 int32 StaticIP.Mtu [readwrite] 1426 string StaticIP.NameServers [readwrite] 1427 string StaticIP.PeerAddress [readwrite] 1428 int32 StaticIP.Prefixlen [readwrite] 1429 1430 [Deprecated] The properties above are deprecated in 1431 favor of StaticIPConfig property. 1432 1433 The properties above can be set on a service to 1434 selectively override individual parameters received 1435 over DHCP or whatever default IP aquisition technique 1436 is used by the service. The "StaticIP.NameServers" 1437 property should be a comma-separated list of IP 1438 addresses. 1439 1440 Additionally, in services that use DHCP, if the 1441 "StaticIP.Address" and "StaticIP.Prefixlen" 1442 parameters are both set on a service, the service 1443 will be configured as soon as a link is established, 1444 in order to allow full static IP configuration. A 1445 DHCP client will be launched in parallel, which, if 1446 successful, will provide values for any parameters 1447 that were not set statically. 1448 1449 The IPConfig associated with the service (object 1450 path supplied in the "IPConfig" property above) 1451 will display the result of the merged network 1452 parameters. 1453 1454 string SavedIP.Address [readonly] 1455 string SavedIP.Gateway [readonly] 1456 int32 SavedIP.Mtu [readonly] 1457 string SavedIP.NameServers [readonly] 1458 string SavedIP.PeerAddress [readonly] 1459 int32 SavedIP.Prefixlen [readonly] 1460 1461 [Deprecated] The properties above are deprecated in 1462 favor of SavedIPConfig property. 1463 1464 The properties above are set on a service to present 1465 the configuration that was recieved from the DHCP 1466 server prior to applying any "StaticIP.*" parameters 1467 during the most recent connection attempt. All 1468 parameters are saved regardless of whether they were 1469 overridden. 1470 1471 Note that if a "StaticIP.*" parameter is set on 1472 a service, but the service has not been re-connected, 1473 the IPConfig object will still contain the true 1474 value that the interface is set to. 1475 1476 dict StaticIPConfig [readwrite] 1477 1478 A dictionary of static IP configuration parameters 1479 used to selectively override individual parameters 1480 received over DHCP or whatever default IP aquisition 1481 technique is used by the service. 1482 1483 Additionally, in services that use DHCP, if the 1484 "Address" and "Prefixlen" fields are both set in the 1485 dictionary, the service will be configured as soon as 1486 a link is established, in order to allow full static 1487 IP configuration. A DHCP client will be launched in 1488 parallel, which, if successful, will provide values for 1489 any parameters that were not set statically. 1490 1491 The IPConfig associated with the service (object 1492 path supplied in the "IPConfig" property above) 1493 will display the result of the merged network 1494 parameters. 1495 1496 Here are the expected keys within the dict: 1497 string Address 1498 string Gateway 1499 int32 Mtu 1500 array{string} NameServers 1501 string PeerAddress 1502 int32 Prefixlen 1503 1504 dict SavedIPConfig [readonly] 1505 1506 This property present a dictionary of the IP config 1507 that was received from the DHCP server prior to 1508 applying any static IP parameters during the most 1509 recent connection attempt. All parameters are saved 1510 regardless of whether they were overridden. 1511 1512 Note that if a static IP parameter is set on 1513 a service, but the service has not been re-connected, 1514 the IPConfig object will still contain the true 1515 value that the interface is set to. 1516 1517 Here are the expected keys within the dict: 1518 string Address 1519 string Gateway 1520 int32 Mtu 1521 array{string} NameServers 1522 string PeerAddress 1523 int32 Prefixlen 1524 1525 uint8 Strength [readonly] 1526 1527 Indicates the signal strength of the service. This 1528 is a normalized value between 0 and 100. 1529 1530 This property will not be present for Ethernet 1531 devices. 1532 1533 string Tethering [readonly] 1534 1535 Returns a string that indicates an estimate of 1536 whether the service is likely to be providing 1537 internet connectivity over a mobile network backhaul. 1538 The possible values of this string are: 1539 1540 NotDetected: Tethering is not detected. 1541 Suspected: Something in the network scan 1542 provides circumstantial evidence 1543 that this service is tethered. 1544 Confirmed: Some definitive evidence has 1545 been discovered that indicates 1546 either this service is tethered 1547 or the server is overtly pretending 1548 to be tethered. 1549 1550 This property is only visible in service types 1551 which can support tethering. Currently only 1552 Ethernet and WiFi services support this property 1553 directly. VPN services make this property visible 1554 if the service they're using for connectivity does 1555 (i.e., if VPN connectivity is gained via Ethernet 1556 or WiFi). 1557 1558 string Type [readonly] 1559 1560 The service type; one of: 1561 "ethernet" (802.3 wired Ethernet), 1562 "wifi" (IEEE 802.11), 1563 "wimax" (IEEE 802.16), 1564 "bluetooth" (Bluetooth PAN), 1565 "cellular" (3G Cellular), or 1566 "vpn" (Virtual Private Network). 1567 1568 This information should only be used to determine 1569 advanced properties or showing the correct icon 1570 to the user. 1571 1572 string UIData [readwrite] 1573 1574 This is additional data available about this service 1575 for use by the user interface. This value is opaque 1576 and not used by shill. 1577 1578 bool Visible [readonly] 1579 1580 WiMax and WiFi services list all services for which 1581 configuration exists in the manager's 1582 ServiceCompleteList. Those service types have this 1583 property set to false if such a configured service 1584 is not actually in range. For all other services 1585 (including all other service types) this property 1586 is always true. 1587 1588 string WiFi.AuthMode [readonly] 1589 1590 (WiFi only) If the service state is 1591 "configuration" or "ready", then this property 1592 will be present and contains the negotiated 1593 authentication method. 1594 1595 There are too many possible values to enumerate here. 1596 The complete set depends on the capabilities of the 1597 associated WiFi supplicant. 1598 1599 string WiFi.BSSID [readonly] 1600 1601 (WiFi only) The BSSID of the associated AP. 1602 One can monitor this property for PropertyChanged 1603 signals to identify when roaming changes the 1604 current AP. 1605 1606 The BSSID is formatted as colon-separated octets. 1607 E.g. "00:01:02:03:04:05". 1608 1609 boolean WiFi.HiddenSSID [readwrite] 1610 1611 (WiFi only) If true, the associated WiFi network 1612 does not broadcast its SSID in beacon frames. 1613 This property instructs shill to actively scan 1614 for this SSID. This value is cleared when this 1615 service is removed from all active profiles. 1616 1617 uint16 WiFi.Frequency [readonly] 1618 1619 (WiFi only) The operating frequency in MHz of 1620 the Service. If the Service is connected, this 1621 is the frequency on which it is connected. 1622 Otherwise, this is the frequency of the best 1623 available BSS (roughly, AP) for this Service. 1624 1625 array{uint16} WiFi.FrequencyList [readonly] 1626 1627 (WiFi only) The operating frequencies in MHz of 1628 the Service. This lists all of the frequencies 1629 where this Service has recently been seen. 1630 1631 This list is not necessarily complete, as: 1632 a) not all scans check every channel, 1633 b) an AP may not have responded in time, and 1634 c) some scan results may have expired from the 1635 cache. 1636 1637 string WiFi.PhyMode [readonly] 1638 1639 (WiFi only) If the service state is 1640 "configuration" or "ready", then this property 1641 will be present and contains the negotiated 1642 operating mode for the channel. Possible values 1643 include "802.11a", "802.11b", "802.11g", 1644 "802.11n". This value is for informational 1645 purposes only. 1646 1647 string WiFi.HexSSID [readonly] 1648 1649 (WiFi only) This property holds a hex-encoded copy 1650 of the SSID. Since the Name property is enforced 1651 by the D-Bus protocol to be a valid UTF-8 string 1652 but SSIDs can be an abitrary sequence of bytes, this 1653 property will always contain the true value of the 1654 SSID, while the Name property may differ from the 1655 true representation. 1656 1657 See also the Name property. (Note that there is 1658 no SSID property for reasons explained above.) 1659 1660 string WiFi.SSID [readonly] 1661 1662 (WiFi only) The service's SSID. Must have a non-zero 1663 length less than or equal to 32. 1664 1665 bool WiFi.ProtectedManagementFrameRequired [readonly] 1666 1667 (WiFi only) This property indicates whether an AP for 1668 this service has been seen that requires 802.11w 1669 (Protected Management Frame) support. 1670 1671 dict WiFi.VendorInformation [readonly] 1672 1673 (WiFi only) Information about the vendor of the 1674 AP, gleaned from WPS and vendor-specific information 1675 elements in the beacon and probe respondss. 1676 1677 string Manufacturer [readonly] 1678 Device manufacturer name as supplied by WPS IE. 1679 string ModelName [readonly] 1680 Device model name as supplied by WPS IE. 1681 string ModelNumber [readonly] 1682 Device model number as supplied by WPS IE. 1683 string DeviceName [readonly] 1684 Device name as supplied by WPS IE. 1685 string OUIList [readonly] 1686 Space separated list of OUI identifiers for 1687 vendor-specific IEs that were neither the 1688 Microsoft nor Epigram identifiers (the former 1689 two are used for platform-neutral information). 1690 1691 uint16 WiFi.RoamThreshold [readwrite] 1692 1693 (WiFi only) The roam threshold is the AP 1694 signal-to-noise value (in dB) below which 1695 wpa_supplicant will attempt to roam to a new AP. 1696 This per-service RoamThreshold property overrides 1697 the WiFi device-wide RoamThreshold set through the 1698 device DBus API. Changes to this property will only 1699 take effect on the next time the WiFi device connects 1700 to this service. 1701