blob: 749a66d308b61eb7d0501791f6f31a3398b3b48a [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
25 void ClearProperty(string name)
26
27 Clear the value of the specified property. Only
28 properties that are listed as read-write are
29 changeable. On success a PropertyChanged signal
30 will be emitted.
31
32 Possible Errors: [service].Error.InvalidArguments
33 [service].Error.InvalidProperty
34
Paul Stewartbcb2c962012-10-31 10:52:10 -070035 array{bool} ClearProperties(array{string} names)
36
37 Clear the value of the specified properties. Calls
38 ClearProperty above on each of the property names
39 and returns an array of boolean values indicating
40 whether each ClearProperty attempt succeeded.
41
Paul Stewarta4e618b2012-04-25 16:21:22 -070042 void Connect()
43
44 Initiate a connection for the specified service.
45
46 For Ethernet devices this method can only be used
47 if it has previously been disconnected. Otherwise
48 the plugging of a cable automatically triggers
49 a connection. If no cable is plugged in this
50 method will fail.
51
52 If the requested service is already connected
53 then this request is ignored and AlreadyConnected
54 is returned.
55
56 If the requested service is in the process of
57 connecting then this request is ignored and
58 InProgress is returned.
59
60 If another service of the same type is connected or
61 connecting then it is terminated before this request
62 is handled.
63
Wade Guthrie005bd342012-05-02 09:37:07 -070064 If the requested service cannot, for reasons not
65 described above, be connected, OperationFailed is
66 returned.
67
Paul Stewarta4e618b2012-04-25 16:21:22 -070068 Possible Errors: [service].Error.AlreadyConnected
69 [service].Error.InProgress
70 [service].Error.OperationAborted
71 [service].Error.InvalidService
Wade Guthrie005bd342012-05-02 09:37:07 -070072 [service].Error.OperationFailed
Paul Stewarta4e618b2012-04-25 16:21:22 -070073
74 void Disconnect()
75
76 Disconnect a service. If the service is not
77 connected or in the process of connecting an
78 error message will be generated.
79
80 For Ethernet devices this will remove all
81 Layer 3 state and mark the associated network
82 interface down. If no cable is plugged in this
83 request will fail.
84
85 This method can also be used to abort a previous
86 connection attempt via the Connect method.
87
88 Possible Errors: [service].Error.InvalidArguments
Paul Stewart3c504012013-01-17 17:49:58 -080089 [service].Error.OperationFailed
Paul Stewarta4e618b2012-04-25 16:21:22 -070090
91 void Remove()
92
93 Disconnect and remove all recorded state of a
94 service. The service must have previously had
95 a success connection so that the Favorite property
96 is marked "true".
97
98 This method is not permitted for Ethernet devices;
99 it will generate a NotSupported error response.
100
101 Possible Errors: [service].Error.InvalidArguments
102 [service].Error.NotSupported
103
Paul Stewarta4e618b2012-04-25 16:21:22 -0700104 void MoveBefore(object service)
105
106 Silently ignored in shill. Do not use.
107
108 void MoveAfter(object service)
109
110 Silently ignored in shill. Do not use.
111
112 void ActivateCellularModem(string carrier)
113
114 Activate a cellular modem on the provided carrier.
115
116 This method returns immediately. The caller
117 can either poll the Cellular.ActivationState
118 property, or monitor the PropertyChanged
119 signal to know when and if the
120 ActivateCellularModem call succeeded.
121
122 The correct carrier specific modem firmware
123 must already be loaded before this method is
124 called.
125
126 If this method is called for a non-cellular
127 service or on a service associated with a
128 non-CDMA device, it will return a NotSupported
129 error.
130
131 If the device is already activated nothing is returned.
132 but if the device needs to be activated an InProgress
133 error is returned.
134
135 Expected Result: [service].Error.InProgress
136 Possible Errors: [service].Error.NotSupported
137
Ben Chan5d924542013-02-14 17:49:08 -0800138 void CompleteCellularActivation()
139
140 Complete the activation of a cellular service that is
141 being activated over a non-cellular network. This
142 method is called upon the completion of the online
143 payment portal and performs the necessary checks
144 to ensure the activation process has fully completed.
145
146 This method returns immediately. The caller
147 can either poll the Cellular.ActivationState
148 property, or monitor the PropertyChanged
149 signal to know when and if the activation process
150 has completed.
151
152 If this method is called on a non-cellular service
153 or on a cellular service that is not being activated
154 over a non-cellular network, it will return a
155 NotSupported error.
156
157 If the cellular service is already activated or being
158 activated, nothing is returned.
159
160 Possible Errors: [service].Error.NotSupported
161
Paul Stewart967eaeb2013-04-25 19:53:07 -0700162 dict GetLoadableProfileEntries()
163
164 Return a dictionary of object_path -> string pairs
165 which refer to the profile entries from the loaded
166 profiles in the Manager that could possibly provide
167 configuration for this service. Each entry contains
168 the DBus path of the profile and the string entry
169 name (within that profile) that contains configuration
170 for this service. Callers can use each of these
171 argument pairs to do a "GetEntry" call on each profile
172 object.
173
Paul Stewarta4e618b2012-04-25 16:21:22 -0700174Signals PropertyChanged(string name, variant value)
175
176 This signal indicates a changed value of the given
177 property.
178
179
180Properties boolean AutoConnect [readwrite]
181
182 If set to true, this service will auto-connect
183 when no other connection is available. If multiple
184 services are marked for auto-connect then the highest
185 priority available service will be selected.
186
Ben Chan3d6de0e2012-12-10 12:01:34 -0800187 boolean Cellular.ActivateOverNonCellularNetwork [readonly]
188
189 (Cellular only) If set to true, this service must be
190 activated over a non-cellular network instead of the
191 same cellular network.
192
Paul Stewarta4e618b2012-04-25 16:21:22 -0700193 string Cellular.ActivationState [readonly]
194
195 (Cellular only) The activate state of the device
196 on the cellular network. Possible values for
197 activate_state are:
198 "not-activated"
199 "activating"
200 "partially-activated"
201 "activated"
202
203 A CDMA device can be activated by calling the
204 Activate method.
205
206 This property is relevant only for services
207 associated with a CDMA cellular device.
208
209 dict Cellular.ServingOperator [readonly] [GSM only]
210 (Cellular only) Description of the operator on whose
211 network the modem is currently registered, if any.
212 The dictionary may contain the following string-valued
213 properties:
214
215 "name" The operator name
216 "country" The two-letter country code.
217 "network_id" The MCC (Mobile Country Code)
218 and MNC (Mobile Network Code) of the
219 operator on whose network the device is
220 registered. The value of the property is
221 the simple concatenation of the MCC and
222 the MNC, with no separator. The first
223 three digits are always the MCC, and
224 the following two or three digits are the
225 MNC.
226
227 string Cellular.NetworkTechnology [readonly]
228
229 (Cellular only) If the modem is registered on a
230 network, then this property gives the data bearer
231 technology currently in use. The following
232 table lists the values this property may have,
233 along with a rough indication of the "generation"
234 to which the technology is considered to belong.
235
236 Value Generation
237 -----------------------------
238 "1xRTT" (CDMA) 2.5G
239 "EVDO" (CDMA) 3G to 3.5G
240 "GPRS" 2.5G
241 "EDGE" 2.75G
242 "UMTS" 3G
243 "HSPA" 3.5G
244 "HSPA+" 3.75G
245 "LTE" 3.9G
246 "LTE Advanced" 4G
247
248 string Cellular.RoamingState [readonly]
249
250 (Cellular only) The roaming status of the modem on
251 the current network. Possible values are "home",
252 "roaming", and "unknown".
253
254 string Cellular.Olp [readonly]
255
256 (Cellular only) A dictionary describing the
257 online payment portal (OLP) at which a user
258 can sign up for, or modify, a mobile data
259 plan. The value of this property is a
260 string -> string dictionary, which includes
261 the following keys:
262
263 "url" The URL for the portal
264 "method" The HTTP method to use, "GET" or "POST"
265 "postdata" If the method is POST then this key is
266 present and contains the postdata
267 to send.
268
269 dict Cellular.APN [readwrite] [GSM only]
270
271 (Cellular only) The APN to be used with a GSM
272 carrier for making data connections. The value of
273 this property is a string -> string dictionary,
274 which must include at least the following key:
275
276 "apn" The APN to use for making connections
277
278 There are three optional properties. The first is
279
280 "network_id" The network ID (MCC/MNC pair) of the
281 network for which the APN should be used.
282 If not specified, then the network ID of
283 the currently registered network is used.
284
285 The other two optional properties are "username"
286 and "password", which, if specified, will be supplied
287 to the connect operation on the modem along with the
288 APN.
289
290 When the APN is set using this method, it overrides
291 any APN that may be associated with the specified
292 network ID in the APN database. The APN setting is
293 persistent across reboots.
294
295 A user-specified APN may be cleared by clearing this
296 property.
297
298 The algorithm for connecting to GSM networks is as
299 follows, stopping when a connection is succesfully
300 established:
301 1. Try the last APN that resulted in a successful
302 connection.
303 2. Try the APN that was set from the Cellular.APN
304 property (if any).
305 3. Try the list of APNs for the current provider one
306 at a time. The list comes from the mobile broadband
307 provider information database.
308 4. As a last resort, try connecting without specifying
309 an APN.
310
311 If all these steps fail, then the connect attempt fails.
312 Whenever this property is set to establish a new APN to
313 use, the remembered last-good-APN is cleared. The
314 remembered last-good-APN is persistent across reboots.
315
316 dict Cellular.LastGoodAPN [readonly] [GSM only]
317
318 (Cellular only) The APN information used in the
319 last successful connection attempt. If the last
320 attempt was unsuccesful, this property is unset.
321 The format of this property is the same as for
322 the Cellular.APN property.
323
Thieu Le2df97482013-03-14 10:42:42 -0700324 boolean Cellular.OutOfCredits [readonly]
325
326 (Cellular only) Indicates whether a cellular service
327 has any remaining bandwidth credits with the carrier.
328
Paul Stewarta4e618b2012-04-25 16:21:22 -0700329 string CheckPortal [readwrite]
330
331 Control captive portal checking. Possible values
332 are "true", "false", and "auto" (default).
333 When set to "auto" captive portal checking is
334 controlled by Manager.CheckPortalList (which
335 is a per-technology mask/list of which services
336 should do captive portal checking).
337
338 boolean Connectable [readonly]
339
340 Indicates whether a service is prepared for use
341 as an argument to the Connect method. A service
342 will not be marked Connectable if, for example,
343 it is missing necessary security credentials.
344 Clients may use this property to not disable
345 services or to mark them in some way to indicate
346 they are present but not usable.
347
Paul Stewartbdbd3c32013-04-17 09:47:21 -0700348 string Country [readonly]
349
350 (WiFi only) Indicates the 2-letter country code
351 reported by the representative endpoint for this
352 service.
353
Paul Stewarta4e618b2012-04-25 16:21:22 -0700354 object Device [readonly]
355
356 The object path of the associated device.
357 This value may be used to retrieve and manipulate
358 Layer 3 configuration state.
359
mukesh agrawalcbfb34e2013-04-17 19:33:25 -0700360 A value of "/" indicates that the service is
361 not bound to any device.
362
Darin Petkov0c65bdd2012-12-05 13:42:41 +0100363 array{string} Diagnostics.Disconnects [readonly]
364
365 History (wall-clock timestamps) of connection drops.
366
367 array{string} Diagnostics.Misconnects [readonly]
368
369 History (wall-clock timestamps) of failed connection
370 attempts.
371
Paul Stewarta4e618b2012-04-25 16:21:22 -0700372 string EAP.Identity [readwrite]
373
374 The client identity string used in setting up
375 services of type "802_1x".
376
377 This property is included in get requests only
378 when the requester has sufficient privileges.
379
380 string EAP.EAP [readwrite]
381
382 The EAP methods that will be accepted when setting
383 up services of type "802_1x".
384
385 This property is included in get requests only
386 when the requester has sufficient privileges.
387
388 string EAP.InnerEAP [readwrite]
389
390 The authentication methods that will be on the
391 inside of a PEAP or EAP-TTLS tunnel.
392
393 This property is included in get requests only
394 when the requester has sufficient privileges.
395
396 string EAP.AnonymousIdentity [readwrite]
397
398 The client identity string that will be used
399 for the outer EAP authentication for tunneled
400 methods such as PEAP and EAP-TTLS.
401
402 This property is included in get requests only
403 when the requester has sufficient privileges.
404
Paul Stewarta4e618b2012-04-25 16:21:22 -0700405 string EAP.CertID [readwrite]
406
407 The PKCS#11 identifier of the client certificate
408 to use when setting up services of type "802_1x".
409
410 This property is included in get requests only
411 when the requester has sufficient privileges.
412
413 string EAP.PrivateKey [readwrite]
414
415 The pathname of a file containing the private
416 key for setting up services of type "802_1x".
417 The private key file must be in PEM format.
418
419 This property is included in get requests only
420 when the requester has sufficient privileges.
421
422 string EAP.PrivateKeyPassword [readwrite]
423
424 The password to decrypt a private key given
425 in EAP.PrivateKey.
426
427 This property is included in get requests only
428 when the requester has sufficient privileges.
429
430 string EAP.KeyID [readwrite]
431
432 The PKCS#11 identifier of the private key to
433 use when setting up services of type "802_1x".
434
435 This property is included in get requests only
436 when the requester has sufficient privileges.
437
438 string EAP.CACert [readwrite]
439
440 The pathname of a file containing the Certificate
441 Authority's certificate for validating server
442 certificates during the 802.1x authentication
443 process.
444
445 This property is included in get requests only
446 when the requester has sufficient privileges.
447
448 string EAP.CACertID [readwrite]
449
450 The PKCS#11 ID of the EAP.CACert file for
451 validating server certificate recieved during
452 the 802.1x authentication process.
453
454 This property is included in get requests only
455 when the requester has sufficient privileges.
456
Paul Stewart5baebb72013-03-14 11:43:29 -0700457 string EAP.CACertPEM [readwrite]
458
459 An x509 CA certificate in PEM format; specifically
460 the base64 counterpart of the DER contents
461 surrounded by a "-----BEGIN CERTIFICATE-----" and
462 "-----END CERTIFICATE-----" line. This certificate
463 will be used to authenticate the remote RADIUS
464 server in the 802.1x authentication process.
465
Paul Stewarta4e618b2012-04-25 16:21:22 -0700466 boolean EAP.UseSystemCAs [readwrite]
467
468 Control whether EAP operations are
469 configured to use the system's installed set
470 of certificate authorities when validating
471 server certificates. Note that if UseSystemCAs
472 is false and no CA is specified with EAP.CACert
473 or EAP.CaCertID - that is, no CAs are configured
474 at all - server certificates will not have their
475 signatures checked. Defaults to true.
476
477 This property is included in get requests only
478 when the requester has sufficient privileges.
479
480 string EAP.PIN [readwrite]
481
482 The PIN used to authenticate to the PKCS#11 device
483 to retrieve a client certificate, private key,
484 or certificate authority certificate.
485
486 This property is included in get requests only
487 when the requester has sufficient privileges.
Albert Chaulk0e1cdea2013-02-27 15:32:55 -0800488
Paul Stewarta4e618b2012-04-25 16:21:22 -0700489 string EAP.Password [readwrite]
490
491 The password to use in 802.1x authentication.
492
493 This property is included in get requests only
494 when the requester has sufficient privileges.
Albert Chaulk0e1cdea2013-02-27 15:32:55 -0800495
Paul Stewarta4e618b2012-04-25 16:21:22 -0700496 string EAP.KeyMgmt [readwrite]
497
498 (WiFi only) The key management algorithm to be
499 used in 802.1x authentication. If this property
500 is not set then "WPA-EAP" is used for the key
501 management algorithm.
502
503 This property is included in get requests only
504 when the requester has sufficient privileges.
505
Paul Stewartbc6e7392012-05-24 07:07:48 -0700506 array{string} EAP.RemoteCertification [readonly]
507
508 (WiFi only) The list of certificate subject names
509 reported by the remote RADIUS server. This
510 property is set during 802.1x negotiation and
511 persists after disconnection for later inspection,
512 but is not persisted between connection manager
513 restarts. It is also cleared at the beginning of
514 the next connection.
515
516 string EAP.SubjectMatch [readwrite]
517
518 (WiFi only) A substring which the remote
519 RADIUS server certificate subject name must
520 contain. If the subject does not contain this
521 substring, abort 802.1x negotiation.
522
Paul Stewarta4e618b2012-04-25 16:21:22 -0700523 string Error [readonly]
524
525 The service error status details.
526
527 When error occur during connection or disconnection
528 the detailed information are represented in this
529 property to help the user interface to present the
530 user with alternate options.
531
Darin Petkov9a6b1712013-03-15 10:18:43 +0100532 This property is only valid when the service is in a
533 failure state. Otherwise it might be empty or not
534 present at all.
Paul Stewarta4e618b2012-04-25 16:21:22 -0700535
Darin Petkov9a6b1712013-03-15 10:18:43 +0100536 Look for "Flimflam error options" in
537 system_api/dbus/service_constants.h for the set of
538 defined error codes.
539
540 string ErrorDetails [readonly]
541
542 Free-style service error status details in addition to
543 the defined error codes presented through the
544 Service.Error property. For example, this property may
545 contain a server-supplied error description for a
546 rejected VPN connection attempt.
547
548 This property is only valid when the service is in a
549 failure state. Otherwise it might be empty or not
550 present at all.
Paul Stewarta4e618b2012-04-25 16:21:22 -0700551
552 boolean Favorite [readonly]
553
554 Will be true if a cable is plugged in or the user
555 selected and successfully connected to this service.
556
557 This value is automatically changed and to revert
558 it back to false the Remove() method needs to be
559 used.
560
561 string GUID [readwrite]
562
563 The Globally Unique IDentifier for the service.
564 This value may be set by a client and is
565 intended for cross-referencing Service objects
566 to externally-maintained data.
567
568 object IPConfig [readonly]
569
570 The object path of the associated IP configuration.
571 This value only exists when the service is connected,
572 and is used used to retrieve Layer 3 configuration
Paul Stewart1e3bc4962012-09-14 12:20:22 -0700573 state. A PropertyChanged signal for this object path
574 is emitted every time the IP address is configured
575 (for example during DHCP renewals), although the
576 actual value may not have changed.
Paul Stewarta4e618b2012-04-25 16:21:22 -0700577
578 boolean IsActive [readonly]
579
580 Will be true if this service has a default route;
581 i.e. network traffic is being sent through it.
582
583 string Mode [readonly]
584
585 If the service type is "wifi", then this property is
586 present and contains the mode of the network. The
587 possible values are "managed" or "adhoc".
588
589 This property is present only for WiFi services.
590
591 string Name [readonly]
592
593 The service name (for example "Wireless" etc.)
594
595 This name can be used for directly displaying it in
596 the application. It has pure informational purpose.
597
598 For Ethernet devices and hidden WiFi networks it is
599 not guaranteed that this property is present. For
600 visible WiFi networks, this may contain the SSID.
601
602 See also the WiFi.HexSSID property.
603
Paul Stewart70804412013-06-17 15:00:59 -0700604 string OpenVPN.Auth [writeonly]
605
606 (VPN services of type OpenVPN only) Specify the
607 authentication algorithm to OpenVPN.
608 See the "--auth" option in the OpenVPN documentation.
609 The current value of this property is readable
610 in the "Provider" property of this service.
611
612 string OpenVPN.AuthNoCache [writeonly]
613
614 (VPN services of type OpenVPN only) If this value
615 is set to anything, do not cache usernames or passwords
616 in the OpenVPN client. See the "--auth" flag in the
617 OpenVPN documentation. The current value of this
618 property is readable in the "Provider" property of this
619 service.
620
621 string OpenVPN.AuthRetry [writeonly]
622
623 (VPN services of type OpenVPN only) Specify how to
624 handle authentication failures.
625 See the "--auth-retry" option in the OpenVPN
626 documentation. The current value of this property
627 is readable in the "Provider" property of this service.
628
629 string OpenVPN.AuthUserPass [writeonly]
630
631 (VPN services of type OpenVPN only) Authenticate
632 with username and password if this option is non-empty.
633 For this option to work, the "OpenVPN.User" property
634 must also be set. The current value of this property
635 is readable in the "Provider" property of this service.
636
637 string OpenVPN.CACert [writeonly]
638
639 (VPN services of type OpenVPN only) Specify the
640 filename of the certificate to be used to verify the
641 OpenVPN server. Only one of "OpenVPN.CACert",
642 "OpenVPN.CACertNSS" or "OpenVPN.CACertPEM" can be
643 specified. The current value of this property
644 is readable in the "Provider" property of this service.
645
646 string OpenVPN.CACertNSS [writeonly]
647
648 (VPN services of type OpenVPN only) [Deprecated]
649 Specify the NSS nickname for the certificate to be used
650 to verify the OpenVPN server. This certificate will
651 be retrieved from currently logged in user's NSS
652 database. Only one of "OpenVPN.CACert",
653 "OpenVPN.CACertNSS" or "OpenVPN.CACertPEM" can be
654 specified. The current value of this property
655 is readable in the "Provider" property of this service.
656
657 array{string} OpenVPN.CACertPEM [writeonly]
658
659 (VPN services of type OpenVPN only) The list of
660 x509 CA certificates to be used to verify the remote
661 server. Any of these certificates can directly sign
662 the server certificate. Each x509 CA certificate
663 must be in in PEM format; specifically
664 the base64 counterpart of the DER contents, optionally
665 surrounded by a "-----BEGIN CERTIFICATE-----" and
666 "-----END CERTIFICATE-----" line. Only one of
667 "OpenVPN.CACert", "OpenVPN.CACertNSS" or
668 "OpenVPN.CACertPEM" can be specified. The current
669 value of this property is readable in the "Provider"
670 property of this service.
671
672 string OpenVPN.Cert [writeonly]
673
674 (VPN services of type OpenVPN only) Specify a
675 filename of to use as the client certificate in
676 authentication. See the "--cert" option in the
677 OpenVPN documentation. The current value of this
678 property is readable in the "Provider" property of
679 this service.
680
681 string OpenVPN.Cipher [writeonly]
682
683 (VPN services of type OpenVPN only) Specify the
684 cipher algorithm for encrypted packets. See the
685 "--cipher" option in the OpenVPN documentation.
686 The current value of this property is readable in
687 the "Provider" property of this service.
688
689 string OpenVPN.CompLZO [writeonly]
690
691 (VPN services of type OpenVPN only) If non-empty,
692 enable fast LZO compression. See the
693 "--comp-lzo" option in the OpenVPN documentation.
694 The current value of this property is readable in
695 the "Provider" property of this service.
696
697 string OpenVPN.CompNoAdapt [writeonly]
698
699 (VPN services of type OpenVPN only) If non-empty,
700 don't use adaptive compression when fast LZO
701 is enabled compression. See the "--comp-noadapt"
702 option in the OpenVPN documentation. The current
703 value of this property is readable in the "Provider"
704 property of this service.
705
706 array{string} OpenVPN.ExtraCertPEM [writeonly]
707
708 (VPN services of type OpenVPN only) The list of
709 x509 CA certificates to be used to complete the
710 certificate authentication chain from the CA
711 certificates. None of these certificates can directly
712 sign the server certificate. Each x509 CA certificate
713 must be in in PEM format; specifically
714 the base64 counterpart of the DER contents, optionally
715 surrounded by a "-----BEGIN CERTIFICATE-----" and
716 "-----END CERTIFICATE-----" line. The current
717 value of this property is readable in the "Provider"
718 property of this service.
719
720 string OpenVPN.Key [writeonly]
721
722 (VPN services of type OpenVPN only) Specify the
723 filename of the private key the client uses to
724 verify itself to the OpenVPN server. See the
725 "--key" option in the OpenVPN documentation. The
726 current value of this property is readable in the
727 "Provider" property of this service.
728
729 string OpenVPN.KeyDirection [writeonly]
730
731 (VPN services of type OpenVPN only) [Deprecated]
732 This property is only provided for backwards
733 compatibility.
734
735 string OpenVPN.Mgmt.Enable [writeonly]
736
737 (VPN services of type OpenVPN only) [Deprecated]
738 This property is only provided for backwards
739 compatibility.
740
741 string OpenVPN.NsCertType [writeonly]
742
743 (VPN services of type OpenVPN only) If non-empty,
744 specifies that the peer certificate must be signed
745 with an explicit nsCertType designation. The value
746 assigned to this property specified the role that
747 should be assigned to the certificate. See the
748 "--ns-cert-type" option in the OpenVPN documentation.
749 The current value of this property is readable in the
750 "Provider" property of this service.
751
752 string OpenVPN.OTP [writeonly]
753
754 (VPN services of type OpenVPN only) Specifies a
755 one-time-password (OTP) to be used during the
756 authentication phase. The connection manager only
757 stores this value for the duration of a connection
758 attempt and will never persist this to a stored
759 profile.
760
761 string OpenVPN.Password [writeonly]
762
763 (VPN services of type OpenVPN only) Specifies a
764 password to be used during the authentication phase.
765
766 string OpenVPN.Pkcs11.ID [writeonly]
767
768 (VPN services of type OpenVPN only) Specify the
769 PKCS11 certificate id when using a crypto token
770 to perform certificate authentication.
771
772 string OpenVPN.Pkcs11.PIN [writeonly]
773
774 (VPN services of type OpenVPN only) Specifies a
775 PIN used to gain access to the cryptographic token
776 when using the "OpenVPN.Pkcs11.ID" property.
777
778 string OpenVPN.Pkcs11.Provider [writeonly]
779
780 (VPN services of type OpenVPN only) Specifies a
781 the provider for the the cryptographic token
782 when using the "OpenVPN.Pkcs11.ID" property.
783 The current value of this property is readable in the
784 "Provider" property of this service.
785
786 string OpenVPN.Ping [writeonly]
787
788 (VPN services of type OpenVPN only) If non-empty,
789 this specifies the period in seconds between sending
790 pings to the OpenVPN server. See the "--ping" option
791 in the OpenVPN documentation. The current value of
792 this property is readable in the "Provider" property
793 of this service.
794
795 string OpenVPN.PingExit [writeonly]
796
797 (VPN services of type OpenVPN only) If non-empty,
798 exit if this many seconds pass without reception
799 of a ping reply from the OpenVPN server. See the
800 "--ping-exit" option in the OpenVPN documentation.
801 The current value of this property is readable in the
802 "Provider" property of this service.
803
804 string OpenVPN.PingRestart [writeonly]
805
806 (VPN services of type OpenVPN only) If non-empty,
807 restart if this many seconds pass without reception
808 of a ping reply from the OpenVPN server. See the
809 "--ping-restart" option in the OpenVPN documentation.
810 The current value of this property is readable in the
811 "Provider" property of this service.
812
813 string OpenVPN.Port [writeonly]
814
815 (VPN services of type OpenVPN only) If non-empty,
816 use this port for both the local and remote.
817 See the "--port" option in the OpenVPN documentation.
818 The current value of this property is readable in the
819 "Provider" property of this service.
820
821 string OpenVPN.Proto [writeonly]
822
823 (VPN services of type OpenVPN only) If non-empty,
824 sets the protocol ("udp", "tcp-client", "tcp-server)
825 for the OpenVPN connection. See the "--proto" option
826 in the OpenVPN documentation. The current value of
827 this property is readable in the "Provider" property
828 of this service.
829
830 string OpenVPN.PushPeerInfo [writeonly]
831
832 (VPN services of type OpenVPN only) If non-empty,
833 specifies that client information should be pushed
834 to the server. See the "--push-peer-info" option
835 in the OpenVPN documentation. The current value of
836 this property is readable in the "Provider" property
837 of this service.
838
839 string OpenVPN.RemoteCertEKU [writeonly]
840
841 (VPN services of type OpenVPN only) Require that
842 the remote peer certificate be signed with the
843 specified extended key usage OID. See the
844 "--remote-cert-eku" option in the OpenVPN
845 documentation. The current value of this property
846 is readable in the "Provider" property of this service.
847
848 string OpenVPN.RemoteCertKU [writeonly]
849
850 (VPN services of type OpenVPN only) Require that
851 the remote peer certificate be signed with the
852 specified key usage in hex format. See the
853 "--remote-cert-ku" option in the OpenVPN
854 documentation. The current value of this property
855 is readable in the "Provider" property of this service.
856
857 string OpenVPN.RemoteCertTLS [writeonly]
858
859 (VPN services of type OpenVPN only) Require that
860 the remote peer certificate be signed with the
861 specified key usage and extend key usage based on
862 RFC3280 TLS rules. See the "--remote-cert-tls" option
863 in the OpenVPN documentation. The current value of
864 this property is readable in the "Provider" property
865 of this service.
866
867 string OpenVPN.RenegSec [writeonly]
868
869 (VPN services of type OpenVPN only) Specifies the
870 period (in seconds) to re-negotiate the data channel
871 key. See the "--reneg-sec" option in the OpenVPN
872 documentation. The current value of this property is
873 readable in the "Provider" property of this service.
874
875 string OpenVPN.ServerPollTimeout [writeonly]
876
877 (VPN services of type OpenVPN only) Specifies the
878 period (in seconds) to wait to for a response from
879 the server. See the "--server-poll-timeout" option
880 in the OpenVPN documentation. The current value of
881 this property is readable in the "Provider" property
882 of this service.
883
884 string OpenVPN.Shaper [writeonly]
885
886 (VPN services of type OpenVPN only) Restricts the
887 number of bytes per second to be output to the peer.
888 See the "--shaper" option in the OpenVPN documentation.
889 The current value of this property is readable in the
890 "Provider" property of this service.
891
892 string OpenVPN.StaticChallenge [writeonly]
893
894 (VPN services of type OpenVPN only) Enable static
895 challenge/response protocol. See the
896 "--static-challenge" option in the OpenVPN
897 documentation. The current value of this property
898 is readable in the "Provider" property of this service.
899
900 string OpenVPN.TLSAuth [writeonly]
901
902 (VPN services of type OpenVPN only) If non-empty,
903 passes this as the "--tls-auth" argument to OpenVPN.
904 The current value of this property is readable in the
905 "Provider" property of this service.
906
907 string OpenVPN.TLSAuthContents [writeonly]
908
909 (VPN services of type OpenVPN only) Creates a
910 temporary file with the contents of this property
911 and passes it to OpenVPN using the "--tls-auth"
912 option. The current value of this property
913 is readable in the "Provider" property of this service.
914
915 string OpenVPN.TLSRemote [writeonly]
916
917 (VPN services of type OpenVPN only) Specifies
918 the only X509 name that is allowed for the peer. See
919 the" --tls-remote" option in the OpenVPN
920 documentation. The current value of this property
921 is readable in the "Provider" property of this service.
922
923 string OpenVPN.User [writeonly]
924
925 (VPN services of type OpenVPN only) Specifies
926 the username to be specified in authentication to
927 the OpenVPN server. The current value of this property
928 is readable in the "Provider" property of this service.
929
930 string OpenVPN.Verb [writeonly]
931
932 (VPN services of type OpenVPN only) If non-empty,
933 passes this as the "--verb" argument to OpenVPN,
934 which sets the debug verbosity. By default this
935 value is set based on shill's debugging level for VPN.
936 The current value of this property is readable in the
937 "Provider" property of this service.
938
Paul Stewarta4e618b2012-04-25 16:21:22 -0700939 string Passphrase [readwrite]
940
941 If the service type is "wifi", then this property
942 holds a passphrase used in setting up services of
943 type "wep", "wpa", "rsn", "psk", or a private
944 key password used in setting up services of
945 type "802_1x".
946
947 For "wep" services, this must contain the WEP
948 key and, optionally, a key index. Only 40-bit
949 and 104-bit WEP keys are supported. The WEP
950 key can be formatted either as an ASCII string
951 (5 or 13 characters), or as ASCII hex digits
952 (10 or 26). When using ASCII hex digits, the
953 key may optionally be preceded by "0x" or "0X".
954 To specify an optional WEP key index, prepend
955 the key with "0:", "1:", "2:" or "3:". If no
956 index is specified, 0 is used.
957
958 By default this property is not included in get
959 requests. It may be present if a non-default
960 security policy is configured and the client has
961 "read secret" privileges.
962
963 Note that no PropertyChanged signals are sent for
964 this property. The PassphraseRequired property
965 should be monitored instead.
966
967 boolean PassphraseRequired [readonly]
968
969 If the service type is "wifi", then this property
970 indicates if a passphrase or key (for WEP) is required.
971
972 If a passphrase has been set already or if no
973 passphrase is needed, then this property will
974 be set to false.
975
976 UI clients may monitor this property for a
977 PropertyChanged signals to prompt for a required
978 passphrase or key.
979
980 [We will be supporting this soon for VPN]
981
982 int32 Priority [readwrite]
983
984 An optional value used to calculate the priority order
985 of this service. Priorities are between 1 to 100.
986 Services with priorities are sorted ahead of services
987 without. Services with the same priority are ordered
988 by other means such as service type and signal
989 strength.
990
991 By default services are not assigned a priority;
992 clients must set one if they desire. To remove an
993 existing priority use the ClearProperty method.
994
995 object Profile [readwrite]
996
997 The object path of the associated Profile object.
998 This may not be present if the Service object
999 has not been written to a profile yet.
1000
1001 string ProxyConfig [readwrite]
1002
1003 An externalized json dictionary describing the proxy
1004 configuration that can be stored on the service, and
1005 modified by a user.
1006 Flimflam does not use this information for anything,
1007 but it is left available to the caller, and stored
1008 persistently.
1009 This property may be set by any client and will be
1010 adopted by chrome during run-time. If syntax of the
1011 value is wrong, chrome will ignore this property during
1012 runtime.
1013 The value of this property is a string -> string
1014 dictionary that includes the following keys. The final
1015 string is a comma separated list of key-value pairs
1016 enclosed by "{" and "}"; syntax of a key-value pair is:
1017 <key>":"<value>. Example:
1018 {"mode":"fixed-servers","server":"http=foopy:80"}
1019
1020 "mode"
1021 type of proxy that can be one of:
1022 "direct" --
1023 direct connection to network, other preferences
1024 are ignored
1025 "auto_detect" --
1026 try to retrieve a PAC script from
1027 http://wpad/wpad.dat or fall back to direct
1028 connection
1029 "pac_script" --
1030 try to retrieve PAC script specified for "pac_url"
1031 (see below) or fall back to direct connection
1032 "fixed_servers" --
1033 manual configuration of one or more servers
1034 to be used as proxy
1035
1036 "pac_url"
1037 URL for proxy .pac file (meaningful only if mode=
1038 pac_script); scheme of URL must be specified
1039
1040 "pac_mandatory"
1041 indciate if a valid PAC script is mandatory
1042 (meaningful only if mode=pac_script);
1043 value is either true or false (without quotes), e.g.
1044 "pac_mandatory":true;
1045 if true, network traffic does not fall back to
1046 direct connections in case the PAC script is not
1047 available
1048
1049 "server"
1050 proxy server for manual configuration (meaningful
1051 only if mode=fixed-servers); syntax is
1052 [<proxy-scheme>"://"]<proxy-host>[":"<proxy-port>];
1053 if the proxy to use depends on the scheme of the
1054 URL, specify a semicolon separated list of :
1055 <url-scheme>"="<proxy-uri>
1056 for example:
1057 - "http=foopy:80;ftp=foopy2" --
1058 use HTTP proxy "foopy:80" for http:// URLs, and
1059 HTTP proxy "foopy2:80" for ftp:// URLS
1060 - "foopy:80" -- use HTTP proxy "foopy:80" for all
1061 URLs
1062 - "socks4://foopy" --
1063 use SOCKS v4 proxy "foopy:80" for all URLs
1064
1065 "bypass_list"
1066 proxy bypass rules for manual configuration
1067 (meaningful only if mode=fixed-servers); format
1068 can be any one of the following:
1069 1) [<url_scheme>"://"]<hostname_pattern>[":"<port>]
1070 Match all hostnames that match the pattern
1071 hostname_pattern which can be a substring of the
1072 hostname with asterisks.
1073 Examples: "foobar.com", "*foobar.com",
1074 "*.foobar.com", "*foobar.com:99",
1075 "https://x.*.y.com:99"
1076 2) "."<hostname_suffix_pattern>[":"<port>]
1077 Match a particular domain suffix.
1078 Examples: ".google.com", ".com",
1079 "http://.google.com"
1080 3) [<scheme>"://"]<ip_literal>[":"<port>]
1081 Match URLs that are IP address literals.
1082 Conceptually this is the similar to (1), but with
1083 special cases to handle IP literal
1084 canonicalization. For example matching on
1085 "[0:0:0::1]" would be the same as matching on
1086 "[::1]" since the IPv6 canonicalization is done
1087 internally.
1088 Examples: "127.0.1", "[0:0::1]", "[::1]",
1089 "http://[::1]:99"
1090 4) <ip_literal>"/"<prefix_length_in_bits>
1091 Match any URL that is to an IP literal that falls
1092 in the given range. IP range is specified using
1093 CIDR notation.
1094 Examples: "192.168.1.1/16", "fefe:13::abc/33".
1095 5) "<local>"
1096 Match local addresses; this is a literal string.
1097 "<local>" matches one of: "127.0.0.1", "::1",
1098 "localhost".
1099
1100 dict Provider [readonly]
1101
Paul Stewart70804412013-06-17 15:00:59 -07001102 (VPN only) Provider data. The Provider is a container
1103 which reports all of the VPN-specific properties of a
1104 service.
Paul Stewarta4e618b2012-04-25 16:21:22 -07001105
Paul Stewarta4e618b2012-04-25 16:21:22 -07001106 string Host [readonly]
1107 VPN host IP address.
Paul Stewarta4e618b2012-04-25 16:21:22 -07001108 string Type [readonly]
1109 VPN provider type (e.g. openvpn).
1110
Paul Stewart70804412013-06-17 15:00:59 -07001111 string Provider.Host [writeonly]
1112
1113 (VPN only) Host name of the VPN server. The current
1114 value of this property is readable in the "Provider"
1115 property of this service.
1116
1117 string Provider.Name [writeonly]
1118
1119 (VPN only) The name assigned to this VPN service. The
1120 current value of this property is readable in the
1121 "Provider" property of this service.
1122
1123 string Provider.Type [writeonly]
1124
1125 (VPN only) The type of VPN service. This value is
1126 only settable when creating this service (via the
1127 Manager GetService or ConfigureService methods). The
1128 current value of this property is readable in the
1129 "Provider" property of this service.
1130
Paul Stewarta4e618b2012-04-25 16:21:22 -07001131 boolean SaveCredentials [readwrite]
1132
1133 This property indicates if security credentials
1134 should be reused and/or written to stable storage.
1135 Setting this property to FALSE ensures nothing is
1136 recorded and the client must supply credentials
1137 for each Connect request.
1138
1139 The following credentials are not recorded when
1140 this property is set to FALSE:
Albert Chaulk0e1cdea2013-02-27 15:32:55 -08001141
Paul Stewarta4e618b2012-04-25 16:21:22 -07001142 Passphrase
1143 EAP.Identity
1144 EAP.AnonymousIdentity
1145 EAP.ClientCert
1146 EAP.CertID
1147 EAP.PrivateKey
1148 EAP.PrivateKeyPassword
1149 EAP.KeyID
1150 EAP.PIN
1151 EAP.Password
1152
1153 Note that no PropertyChanged signals are sent for
1154 this property.
1155
1156 string Security [readonly]
1157
1158 If the service type is "wifi", then this property is
1159 present and contains the security method or key
1160 management setting.
1161
1162 Possible values are: "none" (no privacy),
1163 "wep" (fixed key WEP), "wpa" (WPA-PSK), "rsn"
1164 (IEEE 802.11i-PSK), "psk" (either "wpa" or "rsn"),
1165 and "802_1x" (IEEE 802.11i with 802.1x authentication).
1166
1167 This property is only present for WiFi services.
1168
1169 string State [readonly]
1170
1171 The state of the service; one of:
1172
1173 "idle" The service is not enabled or otherwise
1174 operational.
1175
1176 "carrier" The associated device is powered on and
1177 ready for Layer 2 operation; e.g. a
1178 wired Ethernet device that is powered
1179 up and connected to a switch.
1180
1181 "association" Intermediate states associated with
1182 "disconnect" connection-based devices such as WiFi
1183 and Cellular. These are exposed for
1184 UI applications to provide more
1185 fine-grained status.
1186
1187 "configuration" Layer 2 is setup but Layer 3 setup
1188 has yet to completed.
1189
1190 "ready" Layer 3 setup is complete; ready to
1191 transit and receive data.
1192
1193 "portal" Layer 3 setup is complete but
1194 connectivity to the Internet may be
1195 limited or unavailable.
1196
1197 "online" Layer 3 setup is complete and an
1198 Internet connection has been checked
1199 to support HTTP access to the
1200 Manager.PortalURL site.
1201
1202 "failure" An error occurred while trying to
1203 reach the "ready" state. Consult the
1204 Error propery for details.
1205
1206 "activation-failure"
1207 An error occurred while trying to
1208 activate a cellular modem. Consult the
1209 Error property for details.
1210
Paul Stewart1291e082012-04-30 20:08:05 -07001211 string StaticIP.Address [readwrite]
1212 string StaticIP.Gateway [readwrite]
1213 int32 StaticIP.Mtu [readwrite]
1214 string StaticIP.NameServers [readwrite]
1215 string StaticIP.PeerAddress [readwrite]
1216 int32 StaticIP.Prefixlen [readwrite]
1217
1218 The properties above can be set on a service to
1219 selectively override individual parameters received
1220 over DHCP or whatever default IP aquisition technique
1221 is used by the service. The "StaticIP.NameServers"
1222 property should be a comma-separated list of IP
1223 addresses.
1224
1225 Additionally, in services that use DHCP, if the
1226 "StaticIP.Address" and "StaticIP.Prefixlen"
1227 parameters are both set on a service, the service
1228 will be configured as soon as a link is established,
1229 in order to allow full static IP configuration. A
1230 DHCP client will be launched in parallel, which, if
1231 successful, will provide values for any parameters
1232 that were not set statically.
1233
1234 The IPConfig associated with the service (object
1235 path supplied in the "IPConfig" property above)
1236 will display the result of the merged network
1237 parameters.
1238
Paul Stewartdef189e2012-08-02 20:12:09 -07001239 string SavedIP.Address [readonly]
1240 string SavedIP.Gateway [readonly]
1241 int32 SavedIP.Mtu [readonly]
1242 string SavedIP.NameServers [readonly]
1243 string SavedIP.PeerAddress [readonly]
1244 int32 SavedIP.Prefixlen [readonly]
1245
1246 The properties above are set on a service to present
1247 the configuration that was recieved from the DHCP
1248 server prior to applying any "StaticIP.*" parameters
1249 during the most recent connection attempt. All
1250 parameters are saved regardless of whether they were
1251 overridden.
1252
1253 Note that if a "StaticIP.*" parameter is set on
1254 a service, but the service has not been re-connected,
1255 the IPConfig object will still contain the true
1256 value that the interface is set to.
1257
Paul Stewarta4e618b2012-04-25 16:21:22 -07001258 uint8 Strength [readonly]
1259
1260 Indicates the signal strength of the service. This
1261 is a normalized value between 0 and 100.
1262
1263 This property will not be present for Ethernet
1264 devices.
1265
1266 string Type [readonly]
1267
1268 The service type; one of:
1269 "ethernet" (802.3 wired Ethernet),
1270 "wifi" (IEEE 802.11),
1271 "wimax" (IEEE 802.16),
1272 "bluetooth" (Bluetooth PAN),
1273 "cellular" (3G Cellular), or
1274 "vpn" (Virtual Private Network).
1275
1276 This information should only be used to determine
1277 advanced properties or showing the correct icon
1278 to the user.
1279
1280 string UIData [readwrite]
1281
1282 This is additional data available about this service
1283 for use by the user interface. This value is opaque
1284 and not used by shill.
1285
1286 string WiFi.AuthMode [readonly]
1287
1288 (WiFi only) If the service state is
1289 "configuration" or "ready", then this property
1290 will be present and contains the negotiated
1291 authentication method.
1292
1293 There are too many possible values to enumerate here.
1294 The complete set depends on the capabilities of the
1295 associated WiFi supplicant.
1296
1297 string WiFi.BSSID [readonly]
1298
1299 (WiFi only) The BSSID of the associated AP.
1300 One can monitor this property for PropertyChanged
1301 signals to identify when roaming changes the
1302 current AP.
1303
Paul Stewart0cab5682012-09-13 18:50:34 -07001304 boolean WiFi.HiddenSSID [readwrite]
Paul Stewarta4e618b2012-04-25 16:21:22 -07001305
1306 (WiFi only) If true, the associated WiFi network
1307 does not broadcast it's SSID in beacon frames.
Paul Stewart0cab5682012-09-13 18:50:34 -07001308 This property instructs shill to actively scan
1309 for this SSID. This value is cleared when this
1310 service is removed from all active profiles.
Paul Stewarta4e618b2012-04-25 16:21:22 -07001311
1312 uint16 WiFi.Frequency [readonly]
1313
1314 (WiFi only) The operating frequency in MHz of
mukesh agrawale7c7e652013-06-18 17:19:39 -07001315 the Service. If the Service is connected, this
1316 is the frequency on which it is connected.
1317 Otherwise, this is the frequency of the best
1318 available BSS (roughly, AP) for this Service.
1319
1320 array{uint16} WiFi.FrequencyList [readonly]
1321
1322 (WiFi only) The operating frequencies in MHz of
1323 the Service. This lists all of the frequencies
1324 where this Service has recently been seen.
1325
1326 This list is not necessarily complete, as:
1327 a) not all scans check every channel,
1328 b) an AP may not have responded in time, and
1329 c) some scan results may have expired from the
1330 cache.
Paul Stewarta4e618b2012-04-25 16:21:22 -07001331
1332 string WiFi.PhyMode [readonly]
1333
1334 (WiFi only) If the service state is
1335 "configuration" or "ready", then this property
1336 will be present and contains the negotiated
1337 operating mode for the channel. Possible values
1338 include "802.11a", "802.11b", "802.11g",
1339 "802.11n". This value is for informational
1340 purposes only.
1341
1342 string WiFi.HexSSID [readonly]
1343
1344 (WiFi only) If the service's SSID contains
1345 unprintable characters then this property is
1346 present and holds a hex-encoded copy of the SSID.
1347
1348 See also the Name property. (Note that there is
1349 no SSID property.)
1350
1351 string WiFi.SSID [readonly]
Paul Stewarta5e7d5f2013-01-09 18:06:15 -08001352
Paul Stewarta4e618b2012-04-25 16:21:22 -07001353 (WiFi only) The service's SSID. Must have a non-zero
1354 length less than or equal to 32.
Paul Stewart72b2fdc2012-06-02 08:58:51 -07001355
Paul Stewarta5e7d5f2013-01-09 18:06:15 -08001356 bool WiFi.ProtectedManagementFrameRequired [readonly]
1357
1358 (WiFi only) This property indicates whether an AP for
1359 this service has been seen that requires 802.11w
1360 (Protected Management Frame) support.
1361
Paul Stewart72b2fdc2012-06-02 08:58:51 -07001362 dict WiFi.VendorInformation [readonly]
Paul Stewarta5e7d5f2013-01-09 18:06:15 -08001363
Paul Stewart72b2fdc2012-06-02 08:58:51 -07001364 (WiFi only) Information about the vendor of the
1365 AP, gleaned from WPS and vendor-specific information
1366 elements in the beacon and probe respondss.
1367
1368 string Manufacturer [readonly]
1369 Device manufacturer name as supplied by WPS IE.
1370 string ModelName [readonly]
1371 Device model name as supplied by WPS IE.
1372 string ModelNumber [readonly]
1373 Device model number as supplied by WPS IE.
1374 string DeviceName [readonly]
1375 Device name as supplied by WPS IE.
1376 string OUIList [readonly]
1377 Space separated list of OUI identifiers for
1378 vendor-specific IEs that were neither the
1379 Microsoft nor Epigram identifiers (the former
1380 two are used for platform-neutral information).