blob: 795e3a58b5137f7e476588c1eb1de3f078ca79ec [file] [log] [blame]
Paul Stewarta4e618b2012-04-25 16:21:22 -07001Service hierarchy
2=================
3
4Service org.chromium.flimflam
5Interface org.chromium.flimflam.Service
6Object path [variable prefix]/{service0,service1,...}
7
8Methods 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
Paul Stewartad0e5982013-07-02 08:47:47 -070025 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
Paul Stewarta4e618b2012-04-25 16:21:22 -070041 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
Paul Stewartbcb2c962012-10-31 10:52:10 -070051 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
Paul Stewarta4e618b2012-04-25 16:21:22 -070058 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
Wade Guthrie005bd342012-05-02 09:37:07 -070080 If the requested service cannot, for reasons not
81 described above, be connected, OperationFailed is
82 returned.
83
Paul Stewarta4e618b2012-04-25 16:21:22 -070084 Possible Errors: [service].Error.AlreadyConnected
85 [service].Error.InProgress
86 [service].Error.OperationAborted
87 [service].Error.InvalidService
Wade Guthrie005bd342012-05-02 09:37:07 -070088 [service].Error.OperationFailed
Paul Stewarta4e618b2012-04-25 16:21:22 -070089
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
Paul Stewart3c504012013-01-17 17:49:58 -0800105 [service].Error.OperationFailed
Paul Stewarta4e618b2012-04-25 16:21:22 -0700106
107 void Remove()
108
Paul Stewartd3d03882013-08-29 15:43:42 -0700109 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.
Paul Stewarta4e618b2012-04-25 16:21:22 -0700113
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
Paul Stewarta4e618b2012-04-25 16:21:22 -0700120 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
Ben Chan5d924542013-02-14 17:49:08 -0800146 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
Paul Stewart967eaeb2013-04-25 19:53:07 -0700170 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
Paul Stewarta4e618b2012-04-25 16:21:22 -0700182Signals PropertyChanged(string name, variant value)
183
184 This signal indicates a changed value of the given
185 property.
186
187
188Properties 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
Paul Stewart96a6d092013-08-26 09:32:49 -0700195 On a successful connection, this property may be
196 set to true automatically, depending on the service
Paul Stewart2da34c02013-10-17 15:28:56 -0700197 type and if this property was not explicitly set on
198 the service before.
Paul Stewart96a6d092013-08-26 09:32:49 -0700199
Ben Chan3d6de0e2012-12-10 12:01:34 -0800200 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
Paul Stewarta4e618b2012-04-25 16:21:22 -0700206 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
Thieu Le2df97482013-03-14 10:42:42 -0700337 boolean Cellular.OutOfCredits [readonly]
338
339 (Cellular only) Indicates whether a cellular service
340 has any remaining bandwidth credits with the carrier.
341
mukesh agrawal3ffe52c2013-06-20 15:21:29 -0700342 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
Paul Stewarta4e618b2012-04-25 16:21:22 -0700350 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
Paul Stewartbdbd3c32013-04-17 09:47:21 -0700369 string Country [readonly]
370
371 (WiFi only) Indicates the 2-letter country code
372 reported by the representative endpoint for this
373 service.
374
Paul Stewarta4e618b2012-04-25 16:21:22 -0700375 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
mukesh agrawalcbfb34e2013-04-17 19:33:25 -0700381 A value of "/" indicates that the service is
382 not bound to any device.
383
Darin Petkov0c65bdd2012-12-05 13:42:41 +0100384 array{string} Diagnostics.Disconnects [readonly]
385
386 History (wall-clock timestamps) of connection drops.
387
388 array{string} Diagnostics.Misconnects [readonly]
389
390 History (wall-clock timestamps) of failed connection
391 attempts.
392
Paul Stewarta4e618b2012-04-25 16:21:22 -0700393 string EAP.Identity [readwrite]
394
395 The client identity string used in setting up
396 services of type "802_1x".
397
398 This property is included in get requests only
399 when the requester has sufficient privileges.
400
401 string EAP.EAP [readwrite]
402
403 The EAP methods that will be accepted when setting
404 up services of type "802_1x".
405
406 This property is included in get requests only
407 when the requester has sufficient privileges.
408
409 string EAP.InnerEAP [readwrite]
410
411 The authentication methods that will be on the
412 inside of a PEAP or EAP-TTLS tunnel.
413
414 This property is included in get requests only
415 when the requester has sufficient privileges.
416
417 string EAP.AnonymousIdentity [readwrite]
418
419 The client identity string that will be used
420 for the outer EAP authentication for tunneled
421 methods such as PEAP and EAP-TTLS.
422
423 This property is included in get requests only
424 when the requester has sufficient privileges.
425
Paul Stewarta4e618b2012-04-25 16:21:22 -0700426 string EAP.CertID [readwrite]
427
428 The PKCS#11 identifier of the client certificate
429 to use when setting up services of type "802_1x".
430
431 This property is included in get requests only
432 when the requester has sufficient privileges.
433
434 string EAP.PrivateKey [readwrite]
435
436 The pathname of a file containing the private
437 key for setting up services of type "802_1x".
438 The private key file must be in PEM format.
439
440 This property is included in get requests only
441 when the requester has sufficient privileges.
442
443 string EAP.PrivateKeyPassword [readwrite]
444
445 The password to decrypt a private key given
446 in EAP.PrivateKey.
447
448 This property is included in get requests only
449 when the requester has sufficient privileges.
450
451 string EAP.KeyID [readwrite]
452
453 The PKCS#11 identifier of the private key to
454 use when setting up services of type "802_1x".
455
456 This property is included in get requests only
457 when the requester has sufficient privileges.
458
459 string EAP.CACert [readwrite]
460
461 The pathname of a file containing the Certificate
462 Authority's certificate for validating server
463 certificates during the 802.1x authentication
464 process.
465
466 This property is included in get requests only
467 when the requester has sufficient privileges.
468
469 string EAP.CACertID [readwrite]
470
471 The PKCS#11 ID of the EAP.CACert file for
472 validating server certificate recieved during
473 the 802.1x authentication process.
474
475 This property is included in get requests only
476 when the requester has sufficient privileges.
477
Paul Stewart5baebb72013-03-14 11:43:29 -0700478 string EAP.CACertPEM [readwrite]
479
480 An x509 CA certificate in PEM format; specifically
481 the base64 counterpart of the DER contents
482 surrounded by a "-----BEGIN CERTIFICATE-----" and
483 "-----END CERTIFICATE-----" line. This certificate
484 will be used to authenticate the remote RADIUS
485 server in the 802.1x authentication process.
486
Paul Stewarta4e618b2012-04-25 16:21:22 -0700487 boolean EAP.UseSystemCAs [readwrite]
488
489 Control whether EAP operations are
490 configured to use the system's installed set
491 of certificate authorities when validating
492 server certificates. Note that if UseSystemCAs
493 is false and no CA is specified with EAP.CACert
494 or EAP.CaCertID - that is, no CAs are configured
495 at all - server certificates will not have their
496 signatures checked. Defaults to true.
497
498 This property is included in get requests only
499 when the requester has sufficient privileges.
500
501 string EAP.PIN [readwrite]
502
503 The PIN used to authenticate to the PKCS#11 device
504 to retrieve a client certificate, private key,
505 or certificate authority certificate.
506
507 This property is included in get requests only
508 when the requester has sufficient privileges.
Albert Chaulk0e1cdea2013-02-27 15:32:55 -0800509
Paul Stewarta4e618b2012-04-25 16:21:22 -0700510 string EAP.Password [readwrite]
511
512 The password to use in 802.1x authentication.
513
514 This property is included in get requests only
515 when the requester has sufficient privileges.
Albert Chaulk0e1cdea2013-02-27 15:32:55 -0800516
Paul Stewarta4e618b2012-04-25 16:21:22 -0700517 string EAP.KeyMgmt [readwrite]
518
519 (WiFi only) The key management algorithm to be
520 used in 802.1x authentication. If this property
521 is not set then "WPA-EAP" is used for the key
522 management algorithm.
523
524 This property is included in get requests only
525 when the requester has sufficient privileges.
526
Paul Stewartbc6e7392012-05-24 07:07:48 -0700527 array{string} EAP.RemoteCertification [readonly]
528
529 (WiFi only) The list of certificate subject names
530 reported by the remote RADIUS server. This
531 property is set during 802.1x negotiation and
532 persists after disconnection for later inspection,
533 but is not persisted between connection manager
534 restarts. It is also cleared at the beginning of
535 the next connection.
536
537 string EAP.SubjectMatch [readwrite]
538
539 (WiFi only) A substring which the remote
540 RADIUS server certificate subject name must
541 contain. If the subject does not contain this
542 substring, abort 802.1x negotiation.
543
Paul Stewarta4e618b2012-04-25 16:21:22 -0700544 string Error [readonly]
545
546 The service error status details.
547
548 When error occur during connection or disconnection
549 the detailed information are represented in this
550 property to help the user interface to present the
551 user with alternate options.
552
Darin Petkov9a6b1712013-03-15 10:18:43 +0100553 This property is only valid when the service is in a
554 failure state. Otherwise it might be empty or not
555 present at all.
Paul Stewarta4e618b2012-04-25 16:21:22 -0700556
Darin Petkov9a6b1712013-03-15 10:18:43 +0100557 Look for "Flimflam error options" in
558 system_api/dbus/service_constants.h for the set of
559 defined error codes.
560
561 string ErrorDetails [readonly]
562
563 Free-style service error status details in addition to
564 the defined error codes presented through the
565 Service.Error property. For example, this property may
566 contain a server-supplied error description for a
567 rejected VPN connection attempt.
568
569 This property is only valid when the service is in a
570 failure state. Otherwise it might be empty or not
571 present at all.
Paul Stewarta4e618b2012-04-25 16:21:22 -0700572
Paul Stewarta4e618b2012-04-25 16:21:22 -0700573 string GUID [readwrite]
574
575 The Globally Unique IDentifier for the service.
576 This value may be set by a client and is
577 intended for cross-referencing Service objects
578 to externally-maintained data.
579
580 object IPConfig [readonly]
581
582 The object path of the associated IP configuration.
583 This value only exists when the service is connected,
584 and is used used to retrieve Layer 3 configuration
Paul Stewart1e3bc4962012-09-14 12:20:22 -0700585 state. A PropertyChanged signal for this object path
586 is emitted every time the IP address is configured
587 (for example during DHCP renewals), although the
588 actual value may not have changed.
Paul Stewarta4e618b2012-04-25 16:21:22 -0700589
590 boolean IsActive [readonly]
591
592 Will be true if this service has a default route;
593 i.e. network traffic is being sent through it.
594
Peter Qiud49760e2014-09-19 16:13:42 -0700595 boolean LinkMonitorDisable [readwrite]
596
597 Specifies whether to disable or enable link monitoring
598 for this service. When link monitor is enabled, periodic
599 ARP to the gateway IP address will be performed.
600
Paul Stewart3fee7e32014-10-15 21:39:29 -0700601 boolean ManagedCredentials [readwrite]
602
603 Specifies whether the credentials for this service
604 are managed outside of shill, and are validated
605 in some manner other than by the user. As such, these
606 credentials need not be validated via an initial
607 connection attempt. Even without this validation,
608 the service will be considered of equal priority to
609 other services that have been connected before.
610
Paul Stewarta4e618b2012-04-25 16:21:22 -0700611 string Mode [readonly]
612
613 If the service type is "wifi", then this property is
614 present and contains the mode of the network. The
615 possible values are "managed" or "adhoc".
616
617 This property is present only for WiFi services.
618
619 string Name [readonly]
620
621 The service name (for example "Wireless" etc.)
622
623 This name can be used for directly displaying it in
624 the application. It has pure informational purpose.
625
626 For Ethernet devices and hidden WiFi networks it is
627 not guaranteed that this property is present. For
628 visible WiFi networks, this may contain the SSID.
629
630 See also the WiFi.HexSSID property.
631
Paul Stewart70804412013-06-17 15:00:59 -0700632 string OpenVPN.Auth [writeonly]
633
634 (VPN services of type OpenVPN only) Specify the
635 authentication algorithm to OpenVPN.
636 See the "--auth" option in the OpenVPN documentation.
637 The current value of this property is readable
638 in the "Provider" property of this service.
639
640 string OpenVPN.AuthNoCache [writeonly]
641
642 (VPN services of type OpenVPN only) If this value
643 is set to anything, do not cache usernames or passwords
644 in the OpenVPN client. See the "--auth" flag in the
645 OpenVPN documentation. The current value of this
646 property is readable in the "Provider" property of this
647 service.
648
649 string OpenVPN.AuthRetry [writeonly]
650
651 (VPN services of type OpenVPN only) Specify how to
652 handle authentication failures.
653 See the "--auth-retry" option in the OpenVPN
654 documentation. The current value of this property
655 is readable in the "Provider" property of this service.
656
657 string OpenVPN.AuthUserPass [writeonly]
658
659 (VPN services of type OpenVPN only) Authenticate
660 with username and password if this option is non-empty.
661 For this option to work, the "OpenVPN.User" property
662 must also be set. The current value of this property
663 is readable in the "Provider" property of this service.
664
665 string OpenVPN.CACert [writeonly]
666
667 (VPN services of type OpenVPN only) Specify the
668 filename of the certificate to be used to verify the
Paul Stewartc350e682014-06-19 15:44:30 -0700669 OpenVPN server. Only one of "OpenVPN.CACert" or
670 "OpenVPN.CACertPEM" can be specified. The current
671 value of this property is readable in the "Provider"
672 property of this service.
Paul Stewart70804412013-06-17 15:00:59 -0700673
674 string OpenVPN.CACertNSS [writeonly]
675
676 (VPN services of type OpenVPN only) [Deprecated]
Paul Stewartc350e682014-06-19 15:44:30 -0700677 This value is no longer honored in shill, but any
678 value stored here is persisted so that callers can
679 migrate this to the correct value of OpenVPN.CACertPEM.
680 The current value of this property is readable in the
681 "Provider" property of this service.
Paul Stewart70804412013-06-17 15:00:59 -0700682
683 array{string} OpenVPN.CACertPEM [writeonly]
684
685 (VPN services of type OpenVPN only) The list of
686 x509 CA certificates to be used to verify the remote
687 server. Any of these certificates can directly sign
688 the server certificate. Each x509 CA certificate
689 must be in in PEM format; specifically
690 the base64 counterpart of the DER contents, optionally
691 surrounded by a "-----BEGIN CERTIFICATE-----" and
692 "-----END CERTIFICATE-----" line. Only one of
Paul Stewartc350e682014-06-19 15:44:30 -0700693 "OpenVPN.CACert" or "OpenVPN.CACertPEM" can be
694 specified. The current value of this property is
695 readable in the "Provider" property of this service.
Paul Stewart70804412013-06-17 15:00:59 -0700696
697 string OpenVPN.Cert [writeonly]
698
699 (VPN services of type OpenVPN only) Specify a
700 filename of to use as the client certificate in
701 authentication. See the "--cert" option in the
702 OpenVPN documentation. The current value of this
703 property is readable in the "Provider" property of
704 this service.
705
706 string OpenVPN.Cipher [writeonly]
707
708 (VPN services of type OpenVPN only) Specify the
709 cipher algorithm for encrypted packets. See the
710 "--cipher" option in the OpenVPN documentation.
711 The current value of this property is readable in
712 the "Provider" property of this service.
713
714 string OpenVPN.CompLZO [writeonly]
715
716 (VPN services of type OpenVPN only) If non-empty,
717 enable fast LZO compression. See the
718 "--comp-lzo" option in the OpenVPN documentation.
719 The current value of this property is readable in
720 the "Provider" property of this service.
721
722 string OpenVPN.CompNoAdapt [writeonly]
723
724 (VPN services of type OpenVPN only) If non-empty,
725 don't use adaptive compression when fast LZO
726 is enabled compression. See the "--comp-noadapt"
727 option in the OpenVPN documentation. The current
728 value of this property is readable in the "Provider"
729 property of this service.
730
731 array{string} OpenVPN.ExtraCertPEM [writeonly]
732
Paul Stewart8343c0b2013-09-30 11:58:54 -0700733 (VPN services of type OpenVPN only) A list of
734 additonal x509 CA certificates to be used to complete
735 the certificate authentication chain from the CA
736 certificates. Each x509 CA certificate must be in in
737 PEM format; specifically the base64 counterpart of
738 the DER contents, optionally surrounded by a
739 "-----BEGIN CERTIFICATE-----" and
Paul Stewart70804412013-06-17 15:00:59 -0700740 "-----END CERTIFICATE-----" line. The current
741 value of this property is readable in the "Provider"
742 property of this service.
743
Paul Stewartc8e3ef92014-05-08 13:27:25 -0700744 string OpenVPN.IgnoreDefaultRoute [writeonly]
745
746 (VPN services of type OpenVPN only) If set, a
747 default route to the default gateway specified by
748 the server will not be configured. This allows this
749 connection to operate as a "split tunnel" in
750 configurations where the server allows this. Since
751 this option does not ignore routes explicitly pushed
752 from the server, this option does not allow split
753 tunnels when they are expressly forbidden in the
Paul Stewarta64b7d72014-05-09 10:11:39 -0700754 server configuration. The server can directly
755 override this option by pushing a "redirect-gateway"
756 or "redirect-private" option to the client. The
757 current value of this property is readable in the
758 "Provider" property of this service.
Paul Stewartc8e3ef92014-05-08 13:27:25 -0700759
Paul Stewart70804412013-06-17 15:00:59 -0700760 string OpenVPN.Key [writeonly]
761
762 (VPN services of type OpenVPN only) Specify the
763 filename of the private key the client uses to
764 verify itself to the OpenVPN server. See the
765 "--key" option in the OpenVPN documentation. The
766 current value of this property is readable in the
767 "Provider" property of this service.
768
769 string OpenVPN.KeyDirection [writeonly]
770
771 (VPN services of type OpenVPN only) [Deprecated]
772 This property is only provided for backwards
773 compatibility.
774
775 string OpenVPN.Mgmt.Enable [writeonly]
776
777 (VPN services of type OpenVPN only) [Deprecated]
778 This property is only provided for backwards
779 compatibility.
780
781 string OpenVPN.NsCertType [writeonly]
782
783 (VPN services of type OpenVPN only) If non-empty,
784 specifies that the peer certificate must be signed
785 with an explicit nsCertType designation. The value
786 assigned to this property specified the role that
787 should be assigned to the certificate. See the
788 "--ns-cert-type" option in the OpenVPN documentation.
789 The current value of this property is readable in the
790 "Provider" property of this service.
791
792 string OpenVPN.OTP [writeonly]
793
794 (VPN services of type OpenVPN only) Specifies a
795 one-time-password (OTP) to be used during the
796 authentication phase. The connection manager only
797 stores this value for the duration of a connection
798 attempt and will never persist this to a stored
799 profile.
800
801 string OpenVPN.Password [writeonly]
802
803 (VPN services of type OpenVPN only) Specifies a
804 password to be used during the authentication phase.
805
806 string OpenVPN.Pkcs11.ID [writeonly]
807
808 (VPN services of type OpenVPN only) Specify the
809 PKCS11 certificate id when using a crypto token
810 to perform certificate authentication.
811
812 string OpenVPN.Pkcs11.PIN [writeonly]
813
814 (VPN services of type OpenVPN only) Specifies a
815 PIN used to gain access to the cryptographic token
816 when using the "OpenVPN.Pkcs11.ID" property.
817
818 string OpenVPN.Pkcs11.Provider [writeonly]
819
820 (VPN services of type OpenVPN only) Specifies a
821 the provider for the the cryptographic token
822 when using the "OpenVPN.Pkcs11.ID" property.
823 The current value of this property is readable in the
824 "Provider" property of this service.
825
826 string OpenVPN.Ping [writeonly]
827
828 (VPN services of type OpenVPN only) If non-empty,
829 this specifies the period in seconds between sending
830 pings to the OpenVPN server. See the "--ping" option
831 in the OpenVPN documentation. The current value of
832 this property is readable in the "Provider" property
833 of this service.
834
835 string OpenVPN.PingExit [writeonly]
836
837 (VPN services of type OpenVPN only) If non-empty,
838 exit if this many seconds pass without reception
839 of a ping reply from the OpenVPN server. See the
840 "--ping-exit" option in the OpenVPN documentation.
841 The current value of this property is readable in the
842 "Provider" property of this service.
843
844 string OpenVPN.PingRestart [writeonly]
845
846 (VPN services of type OpenVPN only) If non-empty,
847 restart if this many seconds pass without reception
848 of a ping reply from the OpenVPN server. See the
849 "--ping-restart" option in the OpenVPN documentation.
850 The current value of this property is readable in the
851 "Provider" property of this service.
852
853 string OpenVPN.Port [writeonly]
854
855 (VPN services of type OpenVPN only) If non-empty,
856 use this port for both the local and remote.
857 See the "--port" option in the OpenVPN documentation.
858 The current value of this property is readable in the
859 "Provider" property of this service.
860
861 string OpenVPN.Proto [writeonly]
862
863 (VPN services of type OpenVPN only) If non-empty,
864 sets the protocol ("udp", "tcp-client", "tcp-server)
865 for the OpenVPN connection. See the "--proto" option
866 in the OpenVPN documentation. The current value of
867 this property is readable in the "Provider" property
868 of this service.
869
870 string OpenVPN.PushPeerInfo [writeonly]
871
872 (VPN services of type OpenVPN only) If non-empty,
873 specifies that client information should be pushed
874 to the server. See the "--push-peer-info" option
875 in the OpenVPN documentation. The current value of
876 this property is readable in the "Provider" property
877 of this service.
878
879 string OpenVPN.RemoteCertEKU [writeonly]
880
881 (VPN services of type OpenVPN only) Require that
882 the remote peer certificate be signed with the
883 specified extended key usage OID. See the
884 "--remote-cert-eku" option in the OpenVPN
885 documentation. The current value of this property
886 is readable in the "Provider" property of this service.
887
888 string OpenVPN.RemoteCertKU [writeonly]
889
890 (VPN services of type OpenVPN only) Require that
891 the remote peer certificate be signed with the
892 specified key usage in hex format. See the
893 "--remote-cert-ku" option in the OpenVPN
894 documentation. The current value of this property
895 is readable in the "Provider" property of this service.
896
897 string OpenVPN.RemoteCertTLS [writeonly]
898
899 (VPN services of type OpenVPN only) Require that
900 the remote peer certificate be signed with the
901 specified key usage and extend key usage based on
902 RFC3280 TLS rules. See the "--remote-cert-tls" option
903 in the OpenVPN documentation. The current value of
904 this property is readable in the "Provider" property
905 of this service.
906
907 string OpenVPN.RenegSec [writeonly]
908
909 (VPN services of type OpenVPN only) Specifies the
910 period (in seconds) to re-negotiate the data channel
911 key. See the "--reneg-sec" option in the OpenVPN
912 documentation. The current value of this property is
913 readable in the "Provider" property of this service.
914
915 string OpenVPN.ServerPollTimeout [writeonly]
916
917 (VPN services of type OpenVPN only) Specifies the
918 period (in seconds) to wait to for a response from
919 the server. See the "--server-poll-timeout" option
920 in the OpenVPN documentation. The current value of
921 this property is readable in the "Provider" property
922 of this service.
923
924 string OpenVPN.Shaper [writeonly]
925
926 (VPN services of type OpenVPN only) Restricts the
927 number of bytes per second to be output to the peer.
928 See the "--shaper" option in the OpenVPN documentation.
929 The current value of this property is readable in the
930 "Provider" property of this service.
931
932 string OpenVPN.StaticChallenge [writeonly]
933
934 (VPN services of type OpenVPN only) Enable static
935 challenge/response protocol. See the
936 "--static-challenge" option in the OpenVPN
937 documentation. The current value of this property
938 is readable in the "Provider" property of this service.
939
940 string OpenVPN.TLSAuth [writeonly]
941
942 (VPN services of type OpenVPN only) If non-empty,
943 passes this as the "--tls-auth" argument to OpenVPN.
944 The current value of this property is readable in the
945 "Provider" property of this service.
946
947 string OpenVPN.TLSAuthContents [writeonly]
948
949 (VPN services of type OpenVPN only) Creates a
950 temporary file with the contents of this property
951 and passes it to OpenVPN using the "--tls-auth"
952 option. The current value of this property
953 is readable in the "Provider" property of this service.
954
955 string OpenVPN.TLSRemote [writeonly]
956
957 (VPN services of type OpenVPN only) Specifies
958 the only X509 name that is allowed for the peer. See
959 the" --tls-remote" option in the OpenVPN
960 documentation. The current value of this property
961 is readable in the "Provider" property of this service.
962
Paul Stewartb5768232014-02-27 07:21:34 -0800963 string OpenVPN.Token [writeonly]
964
965 (VPN services of type OpenVPN only) Specifies a
Paul Stewart5351cbd2014-03-12 09:07:44 -0700966 single-use token to be used during the static challenge
967 phase of authentication. This will be used instead of
968 the standard OpenVPN "SCRV1:" response containing the
969 password and OTP parameters. This is useful in
970 installations where the default base64 encoding may be
971 too large to fit in the buffer size available, and
972 server implementations have been changed to avoid this.
Paul Stewartb5768232014-02-27 07:21:34 -0800973 The connection manager only stores this value for the
974 duration of a connection attempt and will never persist
975 this to a stored profile.
976
Paul Stewart70804412013-06-17 15:00:59 -0700977 string OpenVPN.User [writeonly]
978
979 (VPN services of type OpenVPN only) Specifies
980 the username to be specified in authentication to
981 the OpenVPN server. The current value of this property
982 is readable in the "Provider" property of this service.
983
984 string OpenVPN.Verb [writeonly]
985
986 (VPN services of type OpenVPN only) If non-empty,
987 passes this as the "--verb" argument to OpenVPN,
988 which sets the debug verbosity. By default this
989 value is set based on shill's debugging level for VPN.
990 The current value of this property is readable in the
991 "Provider" property of this service.
992
Paul Stewart8343c0b2013-09-30 11:58:54 -0700993 string OpenVPN.VerifyHash [writeonly]
994
995 (VPN services of type OpenVPN only) If non-empty,
996 passes this as the "--verify-hash" argument to OpenVPN,
997 which specifies the SHA1 fingerprint for level-1
998 certificate. The current value of this property is
999 readable in the "Provider" property of this service.
1000
1001 string OpenVPN.VerifyX509Name [writeonly]
1002
1003 (VPN services of type OpenVPN only) If non-empty,
1004 passes this as the "--verify-x509-name" argument to
1005 OpenVPN, which specifies the X509 subject distinguished
1006 name we mandate the remote VPN server to have. The
1007 current value of this property is readable in the
1008 "Provider" property of this service.
1009
1010 string OpenVPN.VerifyX509Type [writeonly]
1011
1012 (VPN services of type OpenVPN only) If non-empty,
1013 this string is passed as a second parameter to the
1014 "--verify-x509-name" flag sent to OpenVPN, which
1015 qualifies the type of parameter specified in the
1016 "OpenVPN.VerifyX509Name" property of this service.
1017 If the "OpenVPN.VerifyX509Name" property is unset or
1018 empty, setting this property has no effect during
1019 connection. Please see the documentation of the
1020 "--verify-x509-name" flag in the OpenVPN documentation
1021 to better understand how these two parameters interact.
1022 The current value of this property is readable in the
1023 "Provider" property of this service.
1024
Paul Stewarta4e618b2012-04-25 16:21:22 -07001025 string Passphrase [readwrite]
1026
1027 If the service type is "wifi", then this property
1028 holds a passphrase used in setting up services of
1029 type "wep", "wpa", "rsn", "psk", or a private
1030 key password used in setting up services of
1031 type "802_1x".
1032
1033 For "wep" services, this must contain the WEP
1034 key and, optionally, a key index. Only 40-bit
1035 and 104-bit WEP keys are supported. The WEP
1036 key can be formatted either as an ASCII string
1037 (5 or 13 characters), or as ASCII hex digits
1038 (10 or 26). When using ASCII hex digits, the
1039 key may optionally be preceded by "0x" or "0X".
1040 To specify an optional WEP key index, prepend
1041 the key with "0:", "1:", "2:" or "3:". If no
1042 index is specified, 0 is used.
1043
1044 By default this property is not included in get
1045 requests. It may be present if a non-default
1046 security policy is configured and the client has
1047 "read secret" privileges.
1048
1049 Note that no PropertyChanged signals are sent for
1050 this property. The PassphraseRequired property
1051 should be monitored instead.
1052
1053 boolean PassphraseRequired [readonly]
1054
1055 If the service type is "wifi", then this property
1056 indicates if a passphrase or key (for WEP) is required.
1057
1058 If a passphrase has been set already or if no
1059 passphrase is needed, then this property will
1060 be set to false.
1061
1062 UI clients may monitor this property for a
1063 PropertyChanged signals to prompt for a required
1064 passphrase or key.
1065
1066 [We will be supporting this soon for VPN]
1067
Alex Deymofddc09a2013-07-03 18:41:31 -07001068 string PhysicalTechnology [readonly, optional]
1069
1070 If the service type is "vpn" and the service is
1071 connected, this property is present and exposes the
1072 Type property of the underliying physical service used.
1073 Otherwise the property is not present.
1074
Paul Stewart1ca3ebd2015-01-23 14:58:47 -08001075 string PortalDetectionFailedPhase [readonly]
Peter Qiu9b83c892014-08-09 23:06:02 -07001076
1077 Indicates the phase that portal detection was in
1078 when it last failed.
1079
Paul Stewart1ca3ebd2015-01-23 14:58:47 -08001080 Possible values:
1081
1082 DNS - During DNS lookup
1083 Connection - during the TCP connection setup
1084 HTTP - during the HTTP connection setup
1085 Content - The content of the HTTP response
1086 Unknown - Failure in an unknown step
1087
1088 string PortalDetectionFailedStatus [readonly]
Peter Qiu9b83c892014-08-09 23:06:02 -07001089
1090 Indicates the portal detection failure reason when
1091 it last failed.
1092
Paul Stewart1ca3ebd2015-01-23 14:58:47 -08001093 Possible values:
1094
1095 Failure - The attempt failed at this phase
1096 Success - The attempt succeeded at this phase
1097 Timeout - The attempt timed out at this phase
1098
Paul Stewartd7c09a52014-02-19 12:50:29 -08001099 string PreviousError [readonly]
1100
1101 The most recent service error status logged. Even
1102 after the service leaves the failed state, this
1103 property retains the last value that the Error property
1104 contained.
1105
1106 Note that no PropertyChanged signals are sent for
1107 this property. The Error property should be monitored
1108 instead.
1109
1110 int32 PreviousErrorSerialNumber [readonly]
1111
1112 This number increases by one every time a service
1113 failure is logged. It returns to zero if shill
1114 restarts.
1115
1116 Note that no PropertyChanged signals are sent for
1117 this property. The Error property should be monitored
1118 instead.
1119
Paul Stewarta4e618b2012-04-25 16:21:22 -07001120 int32 Priority [readwrite]
1121
1122 An optional value used to calculate the priority order
1123 of this service. Priorities are between 1 to 100.
1124 Services with priorities are sorted ahead of services
1125 without. Services with the same priority are ordered
Paul Stewartd9c7cfc2015-01-06 14:26:22 -08001126 by other means such as service type signal strength
1127 or technology.
1128
1129 By default services are not assigned a priority;
1130 clients must set one if they desire. To remove an
1131 existing priority use the ClearProperty method.
1132
1133 int32 PriorityWithinTechnology [readwrite]
1134
1135 An optional value used to calculate the priority order
1136 of this service. Priorities are between 1 to 100.
1137 Services with priorities are sorted ahead of services
1138 without. Services with the same priority are ordered
Paul Stewarta4e618b2012-04-25 16:21:22 -07001139 by other means such as service type and signal
Paul Stewartd9c7cfc2015-01-06 14:26:22 -08001140 strength, but notably not technology. This property
1141 can be used instead of the Priority property when
1142 the intent is to rank the service relative to other
1143 services of the same technology.
Paul Stewarta4e618b2012-04-25 16:21:22 -07001144
1145 By default services are not assigned a priority;
1146 clients must set one if they desire. To remove an
1147 existing priority use the ClearProperty method.
1148
1149 object Profile [readwrite]
1150
1151 The object path of the associated Profile object.
1152 This may not be present if the Service object
1153 has not been written to a profile yet.
1154
1155 string ProxyConfig [readwrite]
1156
1157 An externalized json dictionary describing the proxy
1158 configuration that can be stored on the service, and
1159 modified by a user.
1160 Flimflam does not use this information for anything,
1161 but it is left available to the caller, and stored
1162 persistently.
1163 This property may be set by any client and will be
1164 adopted by chrome during run-time. If syntax of the
1165 value is wrong, chrome will ignore this property during
1166 runtime.
1167 The value of this property is a string -> string
1168 dictionary that includes the following keys. The final
1169 string is a comma separated list of key-value pairs
1170 enclosed by "{" and "}"; syntax of a key-value pair is:
1171 <key>":"<value>. Example:
1172 {"mode":"fixed-servers","server":"http=foopy:80"}
1173
1174 "mode"
1175 type of proxy that can be one of:
1176 "direct" --
1177 direct connection to network, other preferences
1178 are ignored
1179 "auto_detect" --
1180 try to retrieve a PAC script from
1181 http://wpad/wpad.dat or fall back to direct
1182 connection
1183 "pac_script" --
1184 try to retrieve PAC script specified for "pac_url"
1185 (see below) or fall back to direct connection
1186 "fixed_servers" --
1187 manual configuration of one or more servers
1188 to be used as proxy
1189
1190 "pac_url"
1191 URL for proxy .pac file (meaningful only if mode=
1192 pac_script); scheme of URL must be specified
1193
1194 "pac_mandatory"
1195 indciate if a valid PAC script is mandatory
1196 (meaningful only if mode=pac_script);
1197 value is either true or false (without quotes), e.g.
1198 "pac_mandatory":true;
1199 if true, network traffic does not fall back to
1200 direct connections in case the PAC script is not
1201 available
1202
1203 "server"
1204 proxy server for manual configuration (meaningful
1205 only if mode=fixed-servers); syntax is
1206 [<proxy-scheme>"://"]<proxy-host>[":"<proxy-port>];
1207 if the proxy to use depends on the scheme of the
1208 URL, specify a semicolon separated list of :
1209 <url-scheme>"="<proxy-uri>
1210 for example:
1211 - "http=foopy:80;ftp=foopy2" --
1212 use HTTP proxy "foopy:80" for http:// URLs, and
1213 HTTP proxy "foopy2:80" for ftp:// URLS
1214 - "foopy:80" -- use HTTP proxy "foopy:80" for all
1215 URLs
1216 - "socks4://foopy" --
1217 use SOCKS v4 proxy "foopy:80" for all URLs
1218
1219 "bypass_list"
1220 proxy bypass rules for manual configuration
1221 (meaningful only if mode=fixed-servers); format
1222 can be any one of the following:
1223 1) [<url_scheme>"://"]<hostname_pattern>[":"<port>]
1224 Match all hostnames that match the pattern
1225 hostname_pattern which can be a substring of the
1226 hostname with asterisks.
1227 Examples: "foobar.com", "*foobar.com",
1228 "*.foobar.com", "*foobar.com:99",
1229 "https://x.*.y.com:99"
1230 2) "."<hostname_suffix_pattern>[":"<port>]
1231 Match a particular domain suffix.
1232 Examples: ".google.com", ".com",
1233 "http://.google.com"
1234 3) [<scheme>"://"]<ip_literal>[":"<port>]
1235 Match URLs that are IP address literals.
1236 Conceptually this is the similar to (1), but with
1237 special cases to handle IP literal
1238 canonicalization. For example matching on
1239 "[0:0:0::1]" would be the same as matching on
1240 "[::1]" since the IPv6 canonicalization is done
1241 internally.
1242 Examples: "127.0.1", "[0:0::1]", "[::1]",
1243 "http://[::1]:99"
1244 4) <ip_literal>"/"<prefix_length_in_bits>
1245 Match any URL that is to an IP literal that falls
1246 in the given range. IP range is specified using
1247 CIDR notation.
1248 Examples: "192.168.1.1/16", "fefe:13::abc/33".
1249 5) "<local>"
1250 Match local addresses; this is a literal string.
1251 "<local>" matches one of: "127.0.0.1", "::1",
1252 "localhost".
1253
1254 dict Provider [readonly]
1255
Paul Stewart70804412013-06-17 15:00:59 -07001256 (VPN only) Provider data. The Provider is a container
1257 which reports all of the VPN-specific properties of a
1258 service.
Paul Stewarta4e618b2012-04-25 16:21:22 -07001259
Paul Stewarta4e618b2012-04-25 16:21:22 -07001260 string Host [readonly]
1261 VPN host IP address.
Paul Stewarta4e618b2012-04-25 16:21:22 -07001262 string Type [readonly]
1263 VPN provider type (e.g. openvpn).
1264
Paul Stewart70804412013-06-17 15:00:59 -07001265 string Provider.Host [writeonly]
1266
1267 (VPN only) Host name of the VPN server. The current
1268 value of this property is readable in the "Provider"
1269 property of this service.
1270
1271 string Provider.Name [writeonly]
1272
1273 (VPN only) The name assigned to this VPN service. The
1274 current value of this property is readable in the
1275 "Provider" property of this service.
1276
1277 string Provider.Type [writeonly]
1278
1279 (VPN only) The type of VPN service. This value is
1280 only settable when creating this service (via the
1281 Manager GetService or ConfigureService methods). The
1282 current value of this property is readable in the
1283 "Provider" property of this service.
1284
Paul Stewarta4e618b2012-04-25 16:21:22 -07001285 boolean SaveCredentials [readwrite]
1286
1287 This property indicates if security credentials
1288 should be reused and/or written to stable storage.
1289 Setting this property to FALSE ensures nothing is
1290 recorded and the client must supply credentials
1291 for each Connect request.
1292
1293 The following credentials are not recorded when
1294 this property is set to FALSE:
Albert Chaulk0e1cdea2013-02-27 15:32:55 -08001295
Paul Stewarta4e618b2012-04-25 16:21:22 -07001296 Passphrase
1297 EAP.Identity
1298 EAP.AnonymousIdentity
1299 EAP.ClientCert
1300 EAP.CertID
1301 EAP.PrivateKey
1302 EAP.PrivateKeyPassword
1303 EAP.KeyID
1304 EAP.PIN
1305 EAP.Password
1306
1307 Note that no PropertyChanged signals are sent for
1308 this property.
1309
1310 string Security [readonly]
1311
1312 If the service type is "wifi", then this property is
1313 present and contains the security method or key
1314 management setting.
1315
1316 Possible values are: "none" (no privacy),
1317 "wep" (fixed key WEP), "wpa" (WPA-PSK), "rsn"
1318 (IEEE 802.11i-PSK), "psk" (either "wpa" or "rsn"),
1319 and "802_1x" (IEEE 802.11i with 802.1x authentication).
1320
1321 This property is only present for WiFi services.
1322
mukesh agrawal02f1b902014-09-25 19:06:30 -07001323 string SecurityClass [readonly]
1324
1325 If the service type is "wifi", then this property is
1326 present and contains the security class of the service.
1327 The security class groups together WPA and WPA-2 networks,
1328 to allow for seamless roaming between them.
1329
1330 Possible values are: "none" (no privacy),
1331 "wep" (fixed key WEP), "psk" (WPA-PSK or IEEE 802.11i-PSK),
1332 and "802_1x" (IEEE 802.11i with 802.1x authentication).
1333
1334 This property is only present for WiFi services.
1335
Paul Stewarta4e618b2012-04-25 16:21:22 -07001336 string State [readonly]
1337
1338 The state of the service; one of:
1339
1340 "idle" The service is not enabled or otherwise
1341 operational.
1342
1343 "carrier" The associated device is powered on and
1344 ready for Layer 2 operation; e.g. a
1345 wired Ethernet device that is powered
1346 up and connected to a switch.
1347
1348 "association" Intermediate states associated with
1349 "disconnect" connection-based devices such as WiFi
1350 and Cellular. These are exposed for
1351 UI applications to provide more
1352 fine-grained status.
1353
1354 "configuration" Layer 2 is setup but Layer 3 setup
1355 has yet to completed.
1356
1357 "ready" Layer 3 setup is complete; ready to
1358 transit and receive data.
1359
1360 "portal" Layer 3 setup is complete but
1361 connectivity to the Internet may be
1362 limited or unavailable.
1363
1364 "online" Layer 3 setup is complete and an
1365 Internet connection has been checked
1366 to support HTTP access to the
1367 Manager.PortalURL site.
1368
1369 "failure" An error occurred while trying to
1370 reach the "ready" state. Consult the
1371 Error propery for details.
1372
1373 "activation-failure"
1374 An error occurred while trying to
1375 activate a cellular modem. Consult the
1376 Error property for details.
1377
Paul Stewart1291e082012-04-30 20:08:05 -07001378 string StaticIP.Address [readwrite]
1379 string StaticIP.Gateway [readwrite]
1380 int32 StaticIP.Mtu [readwrite]
1381 string StaticIP.NameServers [readwrite]
1382 string StaticIP.PeerAddress [readwrite]
1383 int32 StaticIP.Prefixlen [readwrite]
1384
Peter Qiu08bf5082014-09-08 15:57:12 -07001385 [Deprecated] The properties above are deprecated in
1386 favor of StaticIPConfig property.
1387
Paul Stewart1291e082012-04-30 20:08:05 -07001388 The properties above can be set on a service to
1389 selectively override individual parameters received
1390 over DHCP or whatever default IP aquisition technique
1391 is used by the service. The "StaticIP.NameServers"
1392 property should be a comma-separated list of IP
1393 addresses.
1394
1395 Additionally, in services that use DHCP, if the
1396 "StaticIP.Address" and "StaticIP.Prefixlen"
1397 parameters are both set on a service, the service
1398 will be configured as soon as a link is established,
1399 in order to allow full static IP configuration. A
1400 DHCP client will be launched in parallel, which, if
1401 successful, will provide values for any parameters
1402 that were not set statically.
1403
1404 The IPConfig associated with the service (object
1405 path supplied in the "IPConfig" property above)
1406 will display the result of the merged network
1407 parameters.
1408
Paul Stewartdef189e2012-08-02 20:12:09 -07001409 string SavedIP.Address [readonly]
1410 string SavedIP.Gateway [readonly]
1411 int32 SavedIP.Mtu [readonly]
1412 string SavedIP.NameServers [readonly]
1413 string SavedIP.PeerAddress [readonly]
1414 int32 SavedIP.Prefixlen [readonly]
1415
Peter Qiu08bf5082014-09-08 15:57:12 -07001416 [Deprecated] The properties above are deprecated in
1417 favor of SavedIPConfig property.
1418
Paul Stewartdef189e2012-08-02 20:12:09 -07001419 The properties above are set on a service to present
1420 the configuration that was recieved from the DHCP
1421 server prior to applying any "StaticIP.*" parameters
1422 during the most recent connection attempt. All
1423 parameters are saved regardless of whether they were
1424 overridden.
1425
1426 Note that if a "StaticIP.*" parameter is set on
1427 a service, but the service has not been re-connected,
1428 the IPConfig object will still contain the true
1429 value that the interface is set to.
1430
Peter Qiu08bf5082014-09-08 15:57:12 -07001431 dict StaticIPConfig [readwrite]
1432
1433 A dictionary of static IP configuration parameters
1434 used to selectively override individual parameters
1435 received over DHCP or whatever default IP aquisition
1436 technique is used by the service.
1437
1438 Additionally, in services that use DHCP, if the
1439 "Address" and "Prefixlen" fields are both set in the
1440 dictionary, the service will be configured as soon as
1441 a link is established, in order to allow full static
1442 IP configuration. A DHCP client will be launched in
1443 parallel, which, if successful, will provide values for
1444 any parameters that were not set statically.
1445
1446 The IPConfig associated with the service (object
1447 path supplied in the "IPConfig" property above)
1448 will display the result of the merged network
1449 parameters.
1450
1451 Here are the expected keys within the dict:
1452 string Address
1453 string Gateway
1454 int32 Mtu
1455 array{string} NameServers
1456 string PeerAddress
1457 int32 Prefixlen
1458
1459 dict SavedIPConfig [readonly]
1460
1461 This property present a dictionary of the IP config
1462 that was received from the DHCP server prior to
1463 applying any static IP parameters during the most
1464 recent connection attempt. All parameters are saved
1465 regardless of whether they were overridden.
1466
1467 Note that if a static IP parameter is set on
1468 a service, but the service has not been re-connected,
1469 the IPConfig object will still contain the true
1470 value that the interface is set to.
1471
1472 Here are the expected keys within the dict:
1473 string Address
1474 string Gateway
1475 int32 Mtu
1476 array{string} NameServers
1477 string PeerAddress
1478 int32 Prefixlen
1479
Paul Stewarta4e618b2012-04-25 16:21:22 -07001480 uint8 Strength [readonly]
1481
1482 Indicates the signal strength of the service. This
1483 is a normalized value between 0 and 100.
1484
1485 This property will not be present for Ethernet
1486 devices.
1487
Paul Stewartfa11e282013-12-02 22:04:25 -08001488 string Tethering [readonly]
1489
1490 Returns a string that indicates an estimate of
1491 whether the service is likely to be providing
1492 internet connectivity over a mobile network backhaul.
1493 The possible values of this string are:
1494
1495 NotDetected: Tethering is not detected.
1496 Suspected: Something in the network scan
1497 provides circumstantial evidence
1498 that this service is tethered.
1499 Confirmed: Some definitive evidence has
1500 been discovered that indicates
1501 either this service is tethered
1502 or the server is overtly pretending
1503 to be tethered.
1504
1505 This property is only visible in service types
1506 which can support tethering. Currently only
Paul Stewart7f5d9c02013-12-03 18:26:00 -08001507 Ethernet and WiFi services support this property
1508 directly. VPN services make this property visible
1509 if the service they're using for connectivity does
1510 (i.e., if VPN connectivity is gained via Ethernet
1511 or WiFi).
Paul Stewartfa11e282013-12-02 22:04:25 -08001512
Paul Stewarta4e618b2012-04-25 16:21:22 -07001513 string Type [readonly]
1514
1515 The service type; one of:
1516 "ethernet" (802.3 wired Ethernet),
1517 "wifi" (IEEE 802.11),
1518 "wimax" (IEEE 802.16),
1519 "bluetooth" (Bluetooth PAN),
1520 "cellular" (3G Cellular), or
1521 "vpn" (Virtual Private Network).
1522
1523 This information should only be used to determine
1524 advanced properties or showing the correct icon
1525 to the user.
1526
1527 string UIData [readwrite]
1528
1529 This is additional data available about this service
1530 for use by the user interface. This value is opaque
1531 and not used by shill.
1532
Paul Stewart7cc90682014-05-30 17:01:56 -07001533 bool Visible [readonly]
1534
1535 WiMax and WiFi services list all services for which
1536 configuration exists in the manager's
1537 ServiceCompleteList. Those service types have this
1538 property set to false if such a configured service
1539 is not actually in range. For all other services
1540 (including all other service types) this property
1541 is always true.
1542
Paul Stewarta4e618b2012-04-25 16:21:22 -07001543 string WiFi.AuthMode [readonly]
1544
1545 (WiFi only) If the service state is
1546 "configuration" or "ready", then this property
1547 will be present and contains the negotiated
1548 authentication method.
1549
1550 There are too many possible values to enumerate here.
1551 The complete set depends on the capabilities of the
1552 associated WiFi supplicant.
1553
1554 string WiFi.BSSID [readonly]
1555
1556 (WiFi only) The BSSID of the associated AP.
1557 One can monitor this property for PropertyChanged
1558 signals to identify when roaming changes the
1559 current AP.
1560
Paul Stewart0cab5682012-09-13 18:50:34 -07001561 boolean WiFi.HiddenSSID [readwrite]
Paul Stewarta4e618b2012-04-25 16:21:22 -07001562
1563 (WiFi only) If true, the associated WiFi network
1564 does not broadcast it's SSID in beacon frames.
Paul Stewart0cab5682012-09-13 18:50:34 -07001565 This property instructs shill to actively scan
1566 for this SSID. This value is cleared when this
1567 service is removed from all active profiles.
Paul Stewarta4e618b2012-04-25 16:21:22 -07001568
1569 uint16 WiFi.Frequency [readonly]
1570
1571 (WiFi only) The operating frequency in MHz of
mukesh agrawale7c7e652013-06-18 17:19:39 -07001572 the Service. If the Service is connected, this
1573 is the frequency on which it is connected.
1574 Otherwise, this is the frequency of the best
1575 available BSS (roughly, AP) for this Service.
1576
1577 array{uint16} WiFi.FrequencyList [readonly]
1578
1579 (WiFi only) The operating frequencies in MHz of
1580 the Service. This lists all of the frequencies
1581 where this Service has recently been seen.
1582
1583 This list is not necessarily complete, as:
1584 a) not all scans check every channel,
1585 b) an AP may not have responded in time, and
1586 c) some scan results may have expired from the
1587 cache.
Paul Stewarta4e618b2012-04-25 16:21:22 -07001588
1589 string WiFi.PhyMode [readonly]
1590
1591 (WiFi only) If the service state is
1592 "configuration" or "ready", then this property
1593 will be present and contains the negotiated
1594 operating mode for the channel. Possible values
1595 include "802.11a", "802.11b", "802.11g",
1596 "802.11n". This value is for informational
1597 purposes only.
1598
1599 string WiFi.HexSSID [readonly]
1600
Paul Stewart9d95dad2013-10-10 12:08:14 -07001601 (WiFi only) This property holds a hex-encoded copy
1602 of the SSID. Since the Name property is enforced
1603 by the D-Bus protocol to be a valid UTF-8 string
1604 but SSIDs can be an abitrary sequence of bytes, this
1605 property will always contain the true value of the
1606 SSID, while the Name property may differ from the
1607 true representation.
Paul Stewarta4e618b2012-04-25 16:21:22 -07001608
1609 See also the Name property. (Note that there is
Paul Stewart9d95dad2013-10-10 12:08:14 -07001610 no SSID property for reasons explained above.)
Paul Stewarta4e618b2012-04-25 16:21:22 -07001611
1612 string WiFi.SSID [readonly]
Paul Stewarta5e7d5f2013-01-09 18:06:15 -08001613
Paul Stewarta4e618b2012-04-25 16:21:22 -07001614 (WiFi only) The service's SSID. Must have a non-zero
1615 length less than or equal to 32.
Paul Stewart72b2fdc2012-06-02 08:58:51 -07001616
Paul Stewarta5e7d5f2013-01-09 18:06:15 -08001617 bool WiFi.ProtectedManagementFrameRequired [readonly]
1618
1619 (WiFi only) This property indicates whether an AP for
1620 this service has been seen that requires 802.11w
1621 (Protected Management Frame) support.
1622
Paul Stewart72b2fdc2012-06-02 08:58:51 -07001623 dict WiFi.VendorInformation [readonly]
Paul Stewarta5e7d5f2013-01-09 18:06:15 -08001624
Paul Stewart72b2fdc2012-06-02 08:58:51 -07001625 (WiFi only) Information about the vendor of the
1626 AP, gleaned from WPS and vendor-specific information
1627 elements in the beacon and probe respondss.
1628
1629 string Manufacturer [readonly]
1630 Device manufacturer name as supplied by WPS IE.
1631 string ModelName [readonly]
1632 Device model name as supplied by WPS IE.
1633 string ModelNumber [readonly]
1634 Device model number as supplied by WPS IE.
1635 string DeviceName [readonly]
1636 Device name as supplied by WPS IE.
1637 string OUIList [readonly]
1638 Space separated list of OUI identifiers for
1639 vendor-specific IEs that were neither the
1640 Microsoft nor Epigram identifiers (the former
1641 two are used for platform-neutral information).