blob: 60237cc5b01b85dbe2ba2171cf739860006d78f5 [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
Garret Kelly75fba812015-03-09 15:18:02 -04001025 int PPPoE.LCPEchoFailure
1026
Garret Kellyb84e02c2015-03-26 15:54:51 -04001027 (PPPoE only) If set, the number of LCP echo responses
1028 that this service will tolerate missing from the PPP
1029 peer before terminating the connection.
Garret Kelly75fba812015-03-09 15:18:02 -04001030
1031 int PPPoE.LCPEchoInterval
1032
Garret Kellyb84e02c2015-03-26 15:54:51 -04001033 (PPPoE only) If set, used as the number of seconds
Garret Kelly75fba812015-03-09 15:18:02 -04001034 between sending LCP echo requests to the PPP peer.
1035
Garret Kellyb84e02c2015-03-26 15:54:51 -04001036 int PPPoE.MaxAuthFailure
1037
1038 (PPPoE only) The maximum number of authentication
1039 failures to allow before terminating the connection. A
1040 value of 0 means no limit. The default is 3.
1041
Garret Kelly75fba812015-03-09 15:18:02 -04001042 string PPPoE.Password
1043
1044 (PPPoE only) This string is used as the password
1045 during authentication with a PPPoE server. If empty,
1046 it will still be used during authentication if
1047 requested.
1048
1049 string PPPoE.Username
1050
1051 (PPPoE only) If non-empty, this string is used as the
1052 username during authentication with a PPPoE server. If
1053 empty, it will still be used during authentication if
1054 requested.
1055
Paul Stewarta4e618b2012-04-25 16:21:22 -07001056 string Passphrase [readwrite]
1057
1058 If the service type is "wifi", then this property
1059 holds a passphrase used in setting up services of
1060 type "wep", "wpa", "rsn", "psk", or a private
1061 key password used in setting up services of
1062 type "802_1x".
1063
1064 For "wep" services, this must contain the WEP
1065 key and, optionally, a key index. Only 40-bit
1066 and 104-bit WEP keys are supported. The WEP
1067 key can be formatted either as an ASCII string
1068 (5 or 13 characters), or as ASCII hex digits
1069 (10 or 26). When using ASCII hex digits, the
1070 key may optionally be preceded by "0x" or "0X".
1071 To specify an optional WEP key index, prepend
1072 the key with "0:", "1:", "2:" or "3:". If no
1073 index is specified, 0 is used.
1074
1075 By default this property is not included in get
1076 requests. It may be present if a non-default
1077 security policy is configured and the client has
1078 "read secret" privileges.
1079
1080 Note that no PropertyChanged signals are sent for
1081 this property. The PassphraseRequired property
1082 should be monitored instead.
1083
1084 boolean PassphraseRequired [readonly]
1085
1086 If the service type is "wifi", then this property
1087 indicates if a passphrase or key (for WEP) is required.
1088
1089 If a passphrase has been set already or if no
1090 passphrase is needed, then this property will
1091 be set to false.
1092
1093 UI clients may monitor this property for a
1094 PropertyChanged signals to prompt for a required
1095 passphrase or key.
1096
1097 [We will be supporting this soon for VPN]
1098
Alex Deymofddc09a2013-07-03 18:41:31 -07001099 string PhysicalTechnology [readonly, optional]
1100
1101 If the service type is "vpn" and the service is
1102 connected, this property is present and exposes the
1103 Type property of the underliying physical service used.
1104 Otherwise the property is not present.
1105
Paul Stewart1ca3ebd2015-01-23 14:58:47 -08001106 string PortalDetectionFailedPhase [readonly]
Peter Qiu9b83c892014-08-09 23:06:02 -07001107
1108 Indicates the phase that portal detection was in
1109 when it last failed.
1110
Paul Stewart1ca3ebd2015-01-23 14:58:47 -08001111 Possible values:
1112
1113 DNS - During DNS lookup
1114 Connection - during the TCP connection setup
1115 HTTP - during the HTTP connection setup
1116 Content - The content of the HTTP response
1117 Unknown - Failure in an unknown step
1118
1119 string PortalDetectionFailedStatus [readonly]
Peter Qiu9b83c892014-08-09 23:06:02 -07001120
1121 Indicates the portal detection failure reason when
1122 it last failed.
1123
Paul Stewart1ca3ebd2015-01-23 14:58:47 -08001124 Possible values:
1125
1126 Failure - The attempt failed at this phase
1127 Success - The attempt succeeded at this phase
1128 Timeout - The attempt timed out at this phase
1129
Paul Stewartd7c09a52014-02-19 12:50:29 -08001130 string PreviousError [readonly]
1131
1132 The most recent service error status logged. Even
1133 after the service leaves the failed state, this
1134 property retains the last value that the Error property
1135 contained.
1136
1137 Note that no PropertyChanged signals are sent for
1138 this property. The Error property should be monitored
1139 instead.
1140
1141 int32 PreviousErrorSerialNumber [readonly]
1142
1143 This number increases by one every time a service
1144 failure is logged. It returns to zero if shill
1145 restarts.
1146
1147 Note that no PropertyChanged signals are sent for
1148 this property. The Error property should be monitored
1149 instead.
1150
Paul Stewarta4e618b2012-04-25 16:21:22 -07001151 int32 Priority [readwrite]
1152
1153 An optional value used to calculate the priority order
1154 of this service. Priorities are between 1 to 100.
1155 Services with priorities are sorted ahead of services
1156 without. Services with the same priority are ordered
Paul Stewartd9c7cfc2015-01-06 14:26:22 -08001157 by other means such as service type signal strength
1158 or technology.
1159
1160 By default services are not assigned a priority;
1161 clients must set one if they desire. To remove an
1162 existing priority use the ClearProperty method.
1163
1164 int32 PriorityWithinTechnology [readwrite]
1165
1166 An optional value used to calculate the priority order
1167 of this service. Priorities are between 1 to 100.
1168 Services with priorities are sorted ahead of services
1169 without. Services with the same priority are ordered
Paul Stewarta4e618b2012-04-25 16:21:22 -07001170 by other means such as service type and signal
Paul Stewartd9c7cfc2015-01-06 14:26:22 -08001171 strength, but notably not technology. This property
1172 can be used instead of the Priority property when
1173 the intent is to rank the service relative to other
1174 services of the same technology.
Paul Stewarta4e618b2012-04-25 16:21:22 -07001175
1176 By default services are not assigned a priority;
1177 clients must set one if they desire. To remove an
1178 existing priority use the ClearProperty method.
1179
1180 object Profile [readwrite]
1181
1182 The object path of the associated Profile object.
1183 This may not be present if the Service object
1184 has not been written to a profile yet.
1185
1186 string ProxyConfig [readwrite]
1187
1188 An externalized json dictionary describing the proxy
1189 configuration that can be stored on the service, and
1190 modified by a user.
1191 Flimflam does not use this information for anything,
1192 but it is left available to the caller, and stored
1193 persistently.
1194 This property may be set by any client and will be
1195 adopted by chrome during run-time. If syntax of the
1196 value is wrong, chrome will ignore this property during
1197 runtime.
1198 The value of this property is a string -> string
1199 dictionary that includes the following keys. The final
1200 string is a comma separated list of key-value pairs
1201 enclosed by "{" and "}"; syntax of a key-value pair is:
1202 <key>":"<value>. Example:
1203 {"mode":"fixed-servers","server":"http=foopy:80"}
1204
1205 "mode"
1206 type of proxy that can be one of:
1207 "direct" --
1208 direct connection to network, other preferences
1209 are ignored
1210 "auto_detect" --
1211 try to retrieve a PAC script from
1212 http://wpad/wpad.dat or fall back to direct
1213 connection
1214 "pac_script" --
1215 try to retrieve PAC script specified for "pac_url"
1216 (see below) or fall back to direct connection
1217 "fixed_servers" --
1218 manual configuration of one or more servers
1219 to be used as proxy
1220
1221 "pac_url"
1222 URL for proxy .pac file (meaningful only if mode=
1223 pac_script); scheme of URL must be specified
1224
1225 "pac_mandatory"
1226 indciate if a valid PAC script is mandatory
1227 (meaningful only if mode=pac_script);
1228 value is either true or false (without quotes), e.g.
1229 "pac_mandatory":true;
1230 if true, network traffic does not fall back to
1231 direct connections in case the PAC script is not
1232 available
1233
1234 "server"
1235 proxy server for manual configuration (meaningful
1236 only if mode=fixed-servers); syntax is
1237 [<proxy-scheme>"://"]<proxy-host>[":"<proxy-port>];
1238 if the proxy to use depends on the scheme of the
1239 URL, specify a semicolon separated list of :
1240 <url-scheme>"="<proxy-uri>
1241 for example:
1242 - "http=foopy:80;ftp=foopy2" --
1243 use HTTP proxy "foopy:80" for http:// URLs, and
1244 HTTP proxy "foopy2:80" for ftp:// URLS
1245 - "foopy:80" -- use HTTP proxy "foopy:80" for all
1246 URLs
1247 - "socks4://foopy" --
1248 use SOCKS v4 proxy "foopy:80" for all URLs
1249
1250 "bypass_list"
1251 proxy bypass rules for manual configuration
1252 (meaningful only if mode=fixed-servers); format
1253 can be any one of the following:
1254 1) [<url_scheme>"://"]<hostname_pattern>[":"<port>]
1255 Match all hostnames that match the pattern
1256 hostname_pattern which can be a substring of the
1257 hostname with asterisks.
1258 Examples: "foobar.com", "*foobar.com",
1259 "*.foobar.com", "*foobar.com:99",
1260 "https://x.*.y.com:99"
1261 2) "."<hostname_suffix_pattern>[":"<port>]
1262 Match a particular domain suffix.
1263 Examples: ".google.com", ".com",
1264 "http://.google.com"
1265 3) [<scheme>"://"]<ip_literal>[":"<port>]
1266 Match URLs that are IP address literals.
1267 Conceptually this is the similar to (1), but with
1268 special cases to handle IP literal
1269 canonicalization. For example matching on
1270 "[0:0:0::1]" would be the same as matching on
1271 "[::1]" since the IPv6 canonicalization is done
1272 internally.
1273 Examples: "127.0.1", "[0:0::1]", "[::1]",
1274 "http://[::1]:99"
1275 4) <ip_literal>"/"<prefix_length_in_bits>
1276 Match any URL that is to an IP literal that falls
1277 in the given range. IP range is specified using
1278 CIDR notation.
1279 Examples: "192.168.1.1/16", "fefe:13::abc/33".
1280 5) "<local>"
1281 Match local addresses; this is a literal string.
1282 "<local>" matches one of: "127.0.0.1", "::1",
1283 "localhost".
1284
1285 dict Provider [readonly]
1286
Paul Stewart70804412013-06-17 15:00:59 -07001287 (VPN only) Provider data. The Provider is a container
1288 which reports all of the VPN-specific properties of a
1289 service.
Paul Stewarta4e618b2012-04-25 16:21:22 -07001290
Paul Stewarta4e618b2012-04-25 16:21:22 -07001291 string Host [readonly]
1292 VPN host IP address.
Paul Stewarta4e618b2012-04-25 16:21:22 -07001293 string Type [readonly]
1294 VPN provider type (e.g. openvpn).
1295
Paul Stewart70804412013-06-17 15:00:59 -07001296 string Provider.Host [writeonly]
1297
1298 (VPN only) Host name of the VPN server. The current
1299 value of this property is readable in the "Provider"
1300 property of this service.
1301
1302 string Provider.Name [writeonly]
1303
1304 (VPN only) The name assigned to this VPN service. The
1305 current value of this property is readable in the
1306 "Provider" property of this service.
1307
1308 string Provider.Type [writeonly]
1309
1310 (VPN only) The type of VPN service. This value is
1311 only settable when creating this service (via the
1312 Manager GetService or ConfigureService methods). The
1313 current value of this property is readable in the
1314 "Provider" property of this service.
1315
Paul Stewarta4e618b2012-04-25 16:21:22 -07001316 boolean SaveCredentials [readwrite]
1317
1318 This property indicates if security credentials
1319 should be reused and/or written to stable storage.
1320 Setting this property to FALSE ensures nothing is
1321 recorded and the client must supply credentials
1322 for each Connect request.
1323
1324 The following credentials are not recorded when
1325 this property is set to FALSE:
Albert Chaulk0e1cdea2013-02-27 15:32:55 -08001326
Paul Stewarta4e618b2012-04-25 16:21:22 -07001327 Passphrase
1328 EAP.Identity
1329 EAP.AnonymousIdentity
1330 EAP.ClientCert
1331 EAP.CertID
1332 EAP.PrivateKey
1333 EAP.PrivateKeyPassword
1334 EAP.KeyID
1335 EAP.PIN
1336 EAP.Password
1337
1338 Note that no PropertyChanged signals are sent for
1339 this property.
1340
1341 string Security [readonly]
1342
1343 If the service type is "wifi", then this property is
1344 present and contains the security method or key
1345 management setting.
1346
1347 Possible values are: "none" (no privacy),
1348 "wep" (fixed key WEP), "wpa" (WPA-PSK), "rsn"
1349 (IEEE 802.11i-PSK), "psk" (either "wpa" or "rsn"),
1350 and "802_1x" (IEEE 802.11i with 802.1x authentication).
1351
1352 This property is only present for WiFi services.
1353
mukesh agrawal02f1b902014-09-25 19:06:30 -07001354 string SecurityClass [readonly]
1355
1356 If the service type is "wifi", then this property is
1357 present and contains the security class of the service.
1358 The security class groups together WPA and WPA-2 networks,
1359 to allow for seamless roaming between them.
1360
1361 Possible values are: "none" (no privacy),
1362 "wep" (fixed key WEP), "psk" (WPA-PSK or IEEE 802.11i-PSK),
1363 and "802_1x" (IEEE 802.11i with 802.1x authentication).
1364
1365 This property is only present for WiFi services.
1366
Paul Stewarta4e618b2012-04-25 16:21:22 -07001367 string State [readonly]
1368
1369 The state of the service; one of:
1370
1371 "idle" The service is not enabled or otherwise
1372 operational.
1373
1374 "carrier" The associated device is powered on and
1375 ready for Layer 2 operation; e.g. a
1376 wired Ethernet device that is powered
1377 up and connected to a switch.
1378
1379 "association" Intermediate states associated with
1380 "disconnect" connection-based devices such as WiFi
1381 and Cellular. These are exposed for
1382 UI applications to provide more
1383 fine-grained status.
1384
1385 "configuration" Layer 2 is setup but Layer 3 setup
1386 has yet to completed.
1387
1388 "ready" Layer 3 setup is complete; ready to
1389 transit and receive data.
1390
1391 "portal" Layer 3 setup is complete but
1392 connectivity to the Internet may be
1393 limited or unavailable.
1394
1395 "online" Layer 3 setup is complete and an
1396 Internet connection has been checked
1397 to support HTTP access to the
1398 Manager.PortalURL site.
1399
1400 "failure" An error occurred while trying to
1401 reach the "ready" state. Consult the
1402 Error propery for details.
1403
1404 "activation-failure"
1405 An error occurred while trying to
1406 activate a cellular modem. Consult the
1407 Error property for details.
1408
Paul Stewart1291e082012-04-30 20:08:05 -07001409 string StaticIP.Address [readwrite]
1410 string StaticIP.Gateway [readwrite]
1411 int32 StaticIP.Mtu [readwrite]
1412 string StaticIP.NameServers [readwrite]
1413 string StaticIP.PeerAddress [readwrite]
1414 int32 StaticIP.Prefixlen [readwrite]
1415
Peter Qiu08bf5082014-09-08 15:57:12 -07001416 [Deprecated] The properties above are deprecated in
1417 favor of StaticIPConfig property.
1418
Paul Stewart1291e082012-04-30 20:08:05 -07001419 The properties above can be set on a service to
1420 selectively override individual parameters received
1421 over DHCP or whatever default IP aquisition technique
1422 is used by the service. The "StaticIP.NameServers"
1423 property should be a comma-separated list of IP
1424 addresses.
1425
1426 Additionally, in services that use DHCP, if the
1427 "StaticIP.Address" and "StaticIP.Prefixlen"
1428 parameters are both set on a service, the service
1429 will be configured as soon as a link is established,
1430 in order to allow full static IP configuration. A
1431 DHCP client will be launched in parallel, which, if
1432 successful, will provide values for any parameters
1433 that were not set statically.
1434
1435 The IPConfig associated with the service (object
1436 path supplied in the "IPConfig" property above)
1437 will display the result of the merged network
1438 parameters.
1439
Paul Stewartdef189e2012-08-02 20:12:09 -07001440 string SavedIP.Address [readonly]
1441 string SavedIP.Gateway [readonly]
1442 int32 SavedIP.Mtu [readonly]
1443 string SavedIP.NameServers [readonly]
1444 string SavedIP.PeerAddress [readonly]
1445 int32 SavedIP.Prefixlen [readonly]
1446
Peter Qiu08bf5082014-09-08 15:57:12 -07001447 [Deprecated] The properties above are deprecated in
1448 favor of SavedIPConfig property.
1449
Paul Stewartdef189e2012-08-02 20:12:09 -07001450 The properties above are set on a service to present
1451 the configuration that was recieved from the DHCP
1452 server prior to applying any "StaticIP.*" parameters
1453 during the most recent connection attempt. All
1454 parameters are saved regardless of whether they were
1455 overridden.
1456
1457 Note that if a "StaticIP.*" parameter is set on
1458 a service, but the service has not been re-connected,
1459 the IPConfig object will still contain the true
1460 value that the interface is set to.
1461
Peter Qiu08bf5082014-09-08 15:57:12 -07001462 dict StaticIPConfig [readwrite]
1463
1464 A dictionary of static IP configuration parameters
1465 used to selectively override individual parameters
1466 received over DHCP or whatever default IP aquisition
1467 technique is used by the service.
1468
1469 Additionally, in services that use DHCP, if the
1470 "Address" and "Prefixlen" fields are both set in the
1471 dictionary, the service will be configured as soon as
1472 a link is established, in order to allow full static
1473 IP configuration. A DHCP client will be launched in
1474 parallel, which, if successful, will provide values for
1475 any parameters that were not set statically.
1476
1477 The IPConfig associated with the service (object
1478 path supplied in the "IPConfig" property above)
1479 will display the result of the merged network
1480 parameters.
1481
1482 Here are the expected keys within the dict:
1483 string Address
1484 string Gateway
1485 int32 Mtu
1486 array{string} NameServers
1487 string PeerAddress
1488 int32 Prefixlen
1489
1490 dict SavedIPConfig [readonly]
1491
1492 This property present a dictionary of the IP config
1493 that was received from the DHCP server prior to
1494 applying any static IP parameters during the most
1495 recent connection attempt. All parameters are saved
1496 regardless of whether they were overridden.
1497
1498 Note that if a static IP parameter is set on
1499 a service, but the service has not been re-connected,
1500 the IPConfig object will still contain the true
1501 value that the interface is set to.
1502
1503 Here are the expected keys within the dict:
1504 string Address
1505 string Gateway
1506 int32 Mtu
1507 array{string} NameServers
1508 string PeerAddress
1509 int32 Prefixlen
1510
Paul Stewarta4e618b2012-04-25 16:21:22 -07001511 uint8 Strength [readonly]
1512
1513 Indicates the signal strength of the service. This
1514 is a normalized value between 0 and 100.
1515
1516 This property will not be present for Ethernet
1517 devices.
1518
Paul Stewartfa11e282013-12-02 22:04:25 -08001519 string Tethering [readonly]
1520
1521 Returns a string that indicates an estimate of
1522 whether the service is likely to be providing
1523 internet connectivity over a mobile network backhaul.
1524 The possible values of this string are:
1525
1526 NotDetected: Tethering is not detected.
1527 Suspected: Something in the network scan
1528 provides circumstantial evidence
1529 that this service is tethered.
1530 Confirmed: Some definitive evidence has
1531 been discovered that indicates
1532 either this service is tethered
1533 or the server is overtly pretending
1534 to be tethered.
1535
1536 This property is only visible in service types
1537 which can support tethering. Currently only
Paul Stewart7f5d9c02013-12-03 18:26:00 -08001538 Ethernet and WiFi services support this property
1539 directly. VPN services make this property visible
1540 if the service they're using for connectivity does
1541 (i.e., if VPN connectivity is gained via Ethernet
1542 or WiFi).
Paul Stewartfa11e282013-12-02 22:04:25 -08001543
Paul Stewarta4e618b2012-04-25 16:21:22 -07001544 string Type [readonly]
1545
1546 The service type; one of:
1547 "ethernet" (802.3 wired Ethernet),
1548 "wifi" (IEEE 802.11),
1549 "wimax" (IEEE 802.16),
1550 "bluetooth" (Bluetooth PAN),
1551 "cellular" (3G Cellular), or
1552 "vpn" (Virtual Private Network).
1553
1554 This information should only be used to determine
1555 advanced properties or showing the correct icon
1556 to the user.
1557
1558 string UIData [readwrite]
1559
1560 This is additional data available about this service
1561 for use by the user interface. This value is opaque
1562 and not used by shill.
1563
Paul Stewart7cc90682014-05-30 17:01:56 -07001564 bool Visible [readonly]
1565
1566 WiMax and WiFi services list all services for which
1567 configuration exists in the manager's
1568 ServiceCompleteList. Those service types have this
1569 property set to false if such a configured service
1570 is not actually in range. For all other services
1571 (including all other service types) this property
1572 is always true.
1573
Paul Stewarta4e618b2012-04-25 16:21:22 -07001574 string WiFi.AuthMode [readonly]
1575
1576 (WiFi only) If the service state is
1577 "configuration" or "ready", then this property
1578 will be present and contains the negotiated
1579 authentication method.
1580
1581 There are too many possible values to enumerate here.
1582 The complete set depends on the capabilities of the
1583 associated WiFi supplicant.
1584
1585 string WiFi.BSSID [readonly]
1586
1587 (WiFi only) The BSSID of the associated AP.
1588 One can monitor this property for PropertyChanged
1589 signals to identify when roaming changes the
1590 current AP.
1591
mukesh agrawal37bb86e2015-02-26 12:05:57 -08001592 The BSSID is formatted as colon-separated octets.
1593 E.g. "00:01:02:03:04:05".
1594
Paul Stewart0cab5682012-09-13 18:50:34 -07001595 boolean WiFi.HiddenSSID [readwrite]
Paul Stewarta4e618b2012-04-25 16:21:22 -07001596
1597 (WiFi only) If true, the associated WiFi network
mukesh agrawal37bb86e2015-02-26 12:05:57 -08001598 does not broadcast its SSID in beacon frames.
Paul Stewart0cab5682012-09-13 18:50:34 -07001599 This property instructs shill to actively scan
1600 for this SSID. This value is cleared when this
1601 service is removed from all active profiles.
Paul Stewarta4e618b2012-04-25 16:21:22 -07001602
1603 uint16 WiFi.Frequency [readonly]
1604
1605 (WiFi only) The operating frequency in MHz of
mukesh agrawale7c7e652013-06-18 17:19:39 -07001606 the Service. If the Service is connected, this
1607 is the frequency on which it is connected.
1608 Otherwise, this is the frequency of the best
1609 available BSS (roughly, AP) for this Service.
1610
1611 array{uint16} WiFi.FrequencyList [readonly]
1612
1613 (WiFi only) The operating frequencies in MHz of
1614 the Service. This lists all of the frequencies
1615 where this Service has recently been seen.
1616
1617 This list is not necessarily complete, as:
1618 a) not all scans check every channel,
1619 b) an AP may not have responded in time, and
1620 c) some scan results may have expired from the
1621 cache.
Paul Stewarta4e618b2012-04-25 16:21:22 -07001622
1623 string WiFi.PhyMode [readonly]
1624
1625 (WiFi only) If the service state is
1626 "configuration" or "ready", then this property
1627 will be present and contains the negotiated
1628 operating mode for the channel. Possible values
1629 include "802.11a", "802.11b", "802.11g",
1630 "802.11n". This value is for informational
1631 purposes only.
1632
1633 string WiFi.HexSSID [readonly]
1634
Paul Stewart9d95dad2013-10-10 12:08:14 -07001635 (WiFi only) This property holds a hex-encoded copy
1636 of the SSID. Since the Name property is enforced
1637 by the D-Bus protocol to be a valid UTF-8 string
1638 but SSIDs can be an abitrary sequence of bytes, this
1639 property will always contain the true value of the
1640 SSID, while the Name property may differ from the
1641 true representation.
Paul Stewarta4e618b2012-04-25 16:21:22 -07001642
1643 See also the Name property. (Note that there is
Paul Stewart9d95dad2013-10-10 12:08:14 -07001644 no SSID property for reasons explained above.)
Paul Stewarta4e618b2012-04-25 16:21:22 -07001645
1646 string WiFi.SSID [readonly]
Paul Stewarta5e7d5f2013-01-09 18:06:15 -08001647
Paul Stewarta4e618b2012-04-25 16:21:22 -07001648 (WiFi only) The service's SSID. Must have a non-zero
1649 length less than or equal to 32.
Paul Stewart72b2fdc2012-06-02 08:58:51 -07001650
Paul Stewarta5e7d5f2013-01-09 18:06:15 -08001651 bool WiFi.ProtectedManagementFrameRequired [readonly]
1652
1653 (WiFi only) This property indicates whether an AP for
1654 this service has been seen that requires 802.11w
1655 (Protected Management Frame) support.
1656
Paul Stewart72b2fdc2012-06-02 08:58:51 -07001657 dict WiFi.VendorInformation [readonly]
Paul Stewarta5e7d5f2013-01-09 18:06:15 -08001658
Paul Stewart72b2fdc2012-06-02 08:58:51 -07001659 (WiFi only) Information about the vendor of the
1660 AP, gleaned from WPS and vendor-specific information
1661 elements in the beacon and probe respondss.
1662
1663 string Manufacturer [readonly]
1664 Device manufacturer name as supplied by WPS IE.
1665 string ModelName [readonly]
1666 Device model name as supplied by WPS IE.
1667 string ModelNumber [readonly]
1668 Device model number as supplied by WPS IE.
1669 string DeviceName [readonly]
1670 Device name as supplied by WPS IE.
1671 string OUIList [readonly]
1672 Space separated list of OUI identifiers for
1673 vendor-specific IEs that were neither the
1674 Microsoft nor Epigram identifiers (the former
1675 two are used for platform-neutral information).
Samuel Tane20e8da2015-04-10 11:11:20 -07001676
1677 uint16 WiFi.RoamThreshold [readwrite]
1678
1679 (WiFi only) The roam threshold is the AP
1680 signal-to-noise value (in dB) below which
1681 wpa_supplicant will attempt to roam to a new AP.
1682 This per-service RoamThreshold property overrides
1683 the WiFi device-wide RoamThreshold set through the
1684 device DBus API. Changes to this property will only
1685 take effect on the next time the WiFi device connects
1686 to this service.