blob: 6780cec612d3d7546ba8b2e8a09b008b3c2fa087 [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
604 string Passphrase [readwrite]
605
606 If the service type is "wifi", then this property
607 holds a passphrase used in setting up services of
608 type "wep", "wpa", "rsn", "psk", or a private
609 key password used in setting up services of
610 type "802_1x".
611
612 For "wep" services, this must contain the WEP
613 key and, optionally, a key index. Only 40-bit
614 and 104-bit WEP keys are supported. The WEP
615 key can be formatted either as an ASCII string
616 (5 or 13 characters), or as ASCII hex digits
617 (10 or 26). When using ASCII hex digits, the
618 key may optionally be preceded by "0x" or "0X".
619 To specify an optional WEP key index, prepend
620 the key with "0:", "1:", "2:" or "3:". If no
621 index is specified, 0 is used.
622
623 By default this property is not included in get
624 requests. It may be present if a non-default
625 security policy is configured and the client has
626 "read secret" privileges.
627
628 Note that no PropertyChanged signals are sent for
629 this property. The PassphraseRequired property
630 should be monitored instead.
631
632 boolean PassphraseRequired [readonly]
633
634 If the service type is "wifi", then this property
635 indicates if a passphrase or key (for WEP) is required.
636
637 If a passphrase has been set already or if no
638 passphrase is needed, then this property will
639 be set to false.
640
641 UI clients may monitor this property for a
642 PropertyChanged signals to prompt for a required
643 passphrase or key.
644
645 [We will be supporting this soon for VPN]
646
647 int32 Priority [readwrite]
648
649 An optional value used to calculate the priority order
650 of this service. Priorities are between 1 to 100.
651 Services with priorities are sorted ahead of services
652 without. Services with the same priority are ordered
653 by other means such as service type and signal
654 strength.
655
656 By default services are not assigned a priority;
657 clients must set one if they desire. To remove an
658 existing priority use the ClearProperty method.
659
660 object Profile [readwrite]
661
662 The object path of the associated Profile object.
663 This may not be present if the Service object
664 has not been written to a profile yet.
665
666 string ProxyConfig [readwrite]
667
668 An externalized json dictionary describing the proxy
669 configuration that can be stored on the service, and
670 modified by a user.
671 Flimflam does not use this information for anything,
672 but it is left available to the caller, and stored
673 persistently.
674 This property may be set by any client and will be
675 adopted by chrome during run-time. If syntax of the
676 value is wrong, chrome will ignore this property during
677 runtime.
678 The value of this property is a string -> string
679 dictionary that includes the following keys. The final
680 string is a comma separated list of key-value pairs
681 enclosed by "{" and "}"; syntax of a key-value pair is:
682 <key>":"<value>. Example:
683 {"mode":"fixed-servers","server":"http=foopy:80"}
684
685 "mode"
686 type of proxy that can be one of:
687 "direct" --
688 direct connection to network, other preferences
689 are ignored
690 "auto_detect" --
691 try to retrieve a PAC script from
692 http://wpad/wpad.dat or fall back to direct
693 connection
694 "pac_script" --
695 try to retrieve PAC script specified for "pac_url"
696 (see below) or fall back to direct connection
697 "fixed_servers" --
698 manual configuration of one or more servers
699 to be used as proxy
700
701 "pac_url"
702 URL for proxy .pac file (meaningful only if mode=
703 pac_script); scheme of URL must be specified
704
705 "pac_mandatory"
706 indciate if a valid PAC script is mandatory
707 (meaningful only if mode=pac_script);
708 value is either true or false (without quotes), e.g.
709 "pac_mandatory":true;
710 if true, network traffic does not fall back to
711 direct connections in case the PAC script is not
712 available
713
714 "server"
715 proxy server for manual configuration (meaningful
716 only if mode=fixed-servers); syntax is
717 [<proxy-scheme>"://"]<proxy-host>[":"<proxy-port>];
718 if the proxy to use depends on the scheme of the
719 URL, specify a semicolon separated list of :
720 <url-scheme>"="<proxy-uri>
721 for example:
722 - "http=foopy:80;ftp=foopy2" --
723 use HTTP proxy "foopy:80" for http:// URLs, and
724 HTTP proxy "foopy2:80" for ftp:// URLS
725 - "foopy:80" -- use HTTP proxy "foopy:80" for all
726 URLs
727 - "socks4://foopy" --
728 use SOCKS v4 proxy "foopy:80" for all URLs
729
730 "bypass_list"
731 proxy bypass rules for manual configuration
732 (meaningful only if mode=fixed-servers); format
733 can be any one of the following:
734 1) [<url_scheme>"://"]<hostname_pattern>[":"<port>]
735 Match all hostnames that match the pattern
736 hostname_pattern which can be a substring of the
737 hostname with asterisks.
738 Examples: "foobar.com", "*foobar.com",
739 "*.foobar.com", "*foobar.com:99",
740 "https://x.*.y.com:99"
741 2) "."<hostname_suffix_pattern>[":"<port>]
742 Match a particular domain suffix.
743 Examples: ".google.com", ".com",
744 "http://.google.com"
745 3) [<scheme>"://"]<ip_literal>[":"<port>]
746 Match URLs that are IP address literals.
747 Conceptually this is the similar to (1), but with
748 special cases to handle IP literal
749 canonicalization. For example matching on
750 "[0:0:0::1]" would be the same as matching on
751 "[::1]" since the IPv6 canonicalization is done
752 internally.
753 Examples: "127.0.1", "[0:0::1]", "[::1]",
754 "http://[::1]:99"
755 4) <ip_literal>"/"<prefix_length_in_bits>
756 Match any URL that is to an IP literal that falls
757 in the given range. IP range is specified using
758 CIDR notation.
759 Examples: "192.168.1.1/16", "fefe:13::abc/33".
760 5) "<local>"
761 Match local addresses; this is a literal string.
762 "<local>" matches one of: "127.0.0.1", "::1",
763 "localhost".
764
765 dict Provider [readonly]
766
767 (VPN only) Provider data. A provider is a service
768 that piggy-backs on top of a transport service.
769 This is presently used by VPN services.
770
Paul Stewarta4e618b2012-04-25 16:21:22 -0700771 string Host [readonly]
772 VPN host IP address.
Paul Stewarta4e618b2012-04-25 16:21:22 -0700773 string Type [readonly]
774 VPN provider type (e.g. openvpn).
775
776 boolean SaveCredentials [readwrite]
777
778 This property indicates if security credentials
779 should be reused and/or written to stable storage.
780 Setting this property to FALSE ensures nothing is
781 recorded and the client must supply credentials
782 for each Connect request.
783
784 The following credentials are not recorded when
785 this property is set to FALSE:
Albert Chaulk0e1cdea2013-02-27 15:32:55 -0800786
Paul Stewarta4e618b2012-04-25 16:21:22 -0700787 Passphrase
788 EAP.Identity
789 EAP.AnonymousIdentity
790 EAP.ClientCert
791 EAP.CertID
792 EAP.PrivateKey
793 EAP.PrivateKeyPassword
794 EAP.KeyID
795 EAP.PIN
796 EAP.Password
797
798 Note that no PropertyChanged signals are sent for
799 this property.
800
801 string Security [readonly]
802
803 If the service type is "wifi", then this property is
804 present and contains the security method or key
805 management setting.
806
807 Possible values are: "none" (no privacy),
808 "wep" (fixed key WEP), "wpa" (WPA-PSK), "rsn"
809 (IEEE 802.11i-PSK), "psk" (either "wpa" or "rsn"),
810 and "802_1x" (IEEE 802.11i with 802.1x authentication).
811
812 This property is only present for WiFi services.
813
814 string State [readonly]
815
816 The state of the service; one of:
817
818 "idle" The service is not enabled or otherwise
819 operational.
820
821 "carrier" The associated device is powered on and
822 ready for Layer 2 operation; e.g. a
823 wired Ethernet device that is powered
824 up and connected to a switch.
825
826 "association" Intermediate states associated with
827 "disconnect" connection-based devices such as WiFi
828 and Cellular. These are exposed for
829 UI applications to provide more
830 fine-grained status.
831
832 "configuration" Layer 2 is setup but Layer 3 setup
833 has yet to completed.
834
835 "ready" Layer 3 setup is complete; ready to
836 transit and receive data.
837
838 "portal" Layer 3 setup is complete but
839 connectivity to the Internet may be
840 limited or unavailable.
841
842 "online" Layer 3 setup is complete and an
843 Internet connection has been checked
844 to support HTTP access to the
845 Manager.PortalURL site.
846
847 "failure" An error occurred while trying to
848 reach the "ready" state. Consult the
849 Error propery for details.
850
851 "activation-failure"
852 An error occurred while trying to
853 activate a cellular modem. Consult the
854 Error property for details.
855
Paul Stewart1291e082012-04-30 20:08:05 -0700856 string StaticIP.Address [readwrite]
857 string StaticIP.Gateway [readwrite]
858 int32 StaticIP.Mtu [readwrite]
859 string StaticIP.NameServers [readwrite]
860 string StaticIP.PeerAddress [readwrite]
861 int32 StaticIP.Prefixlen [readwrite]
862
863 The properties above can be set on a service to
864 selectively override individual parameters received
865 over DHCP or whatever default IP aquisition technique
866 is used by the service. The "StaticIP.NameServers"
867 property should be a comma-separated list of IP
868 addresses.
869
870 Additionally, in services that use DHCP, if the
871 "StaticIP.Address" and "StaticIP.Prefixlen"
872 parameters are both set on a service, the service
873 will be configured as soon as a link is established,
874 in order to allow full static IP configuration. A
875 DHCP client will be launched in parallel, which, if
876 successful, will provide values for any parameters
877 that were not set statically.
878
879 The IPConfig associated with the service (object
880 path supplied in the "IPConfig" property above)
881 will display the result of the merged network
882 parameters.
883
Paul Stewartdef189e2012-08-02 20:12:09 -0700884 string SavedIP.Address [readonly]
885 string SavedIP.Gateway [readonly]
886 int32 SavedIP.Mtu [readonly]
887 string SavedIP.NameServers [readonly]
888 string SavedIP.PeerAddress [readonly]
889 int32 SavedIP.Prefixlen [readonly]
890
891 The properties above are set on a service to present
892 the configuration that was recieved from the DHCP
893 server prior to applying any "StaticIP.*" parameters
894 during the most recent connection attempt. All
895 parameters are saved regardless of whether they were
896 overridden.
897
898 Note that if a "StaticIP.*" parameter is set on
899 a service, but the service has not been re-connected,
900 the IPConfig object will still contain the true
901 value that the interface is set to.
902
Paul Stewarta4e618b2012-04-25 16:21:22 -0700903 uint8 Strength [readonly]
904
905 Indicates the signal strength of the service. This
906 is a normalized value between 0 and 100.
907
908 This property will not be present for Ethernet
909 devices.
910
911 string Type [readonly]
912
913 The service type; one of:
914 "ethernet" (802.3 wired Ethernet),
915 "wifi" (IEEE 802.11),
916 "wimax" (IEEE 802.16),
917 "bluetooth" (Bluetooth PAN),
918 "cellular" (3G Cellular), or
919 "vpn" (Virtual Private Network).
920
921 This information should only be used to determine
922 advanced properties or showing the correct icon
923 to the user.
924
925 string UIData [readwrite]
926
927 This is additional data available about this service
928 for use by the user interface. This value is opaque
929 and not used by shill.
930
931 string WiFi.AuthMode [readonly]
932
933 (WiFi only) If the service state is
934 "configuration" or "ready", then this property
935 will be present and contains the negotiated
936 authentication method.
937
938 There are too many possible values to enumerate here.
939 The complete set depends on the capabilities of the
940 associated WiFi supplicant.
941
942 string WiFi.BSSID [readonly]
943
944 (WiFi only) The BSSID of the associated AP.
945 One can monitor this property for PropertyChanged
946 signals to identify when roaming changes the
947 current AP.
948
Paul Stewart0cab5682012-09-13 18:50:34 -0700949 boolean WiFi.HiddenSSID [readwrite]
Paul Stewarta4e618b2012-04-25 16:21:22 -0700950
951 (WiFi only) If true, the associated WiFi network
952 does not broadcast it's SSID in beacon frames.
Paul Stewart0cab5682012-09-13 18:50:34 -0700953 This property instructs shill to actively scan
954 for this SSID. This value is cleared when this
955 service is removed from all active profiles.
Paul Stewarta4e618b2012-04-25 16:21:22 -0700956
957 uint16 WiFi.Frequency [readonly]
958
959 (WiFi only) The operating frequency in MHz of
960 the network.
961
962 string WiFi.PhyMode [readonly]
963
964 (WiFi only) If the service state is
965 "configuration" or "ready", then this property
966 will be present and contains the negotiated
967 operating mode for the channel. Possible values
968 include "802.11a", "802.11b", "802.11g",
969 "802.11n". This value is for informational
970 purposes only.
971
972 string WiFi.HexSSID [readonly]
973
974 (WiFi only) If the service's SSID contains
975 unprintable characters then this property is
976 present and holds a hex-encoded copy of the SSID.
977
978 See also the Name property. (Note that there is
979 no SSID property.)
980
981 string WiFi.SSID [readonly]
Paul Stewarta5e7d5f2013-01-09 18:06:15 -0800982
Paul Stewarta4e618b2012-04-25 16:21:22 -0700983 (WiFi only) The service's SSID. Must have a non-zero
984 length less than or equal to 32.
Paul Stewart72b2fdc2012-06-02 08:58:51 -0700985
Paul Stewarta5e7d5f2013-01-09 18:06:15 -0800986 bool WiFi.ProtectedManagementFrameRequired [readonly]
987
988 (WiFi only) This property indicates whether an AP for
989 this service has been seen that requires 802.11w
990 (Protected Management Frame) support.
991
Paul Stewart72b2fdc2012-06-02 08:58:51 -0700992 dict WiFi.VendorInformation [readonly]
Paul Stewarta5e7d5f2013-01-09 18:06:15 -0800993
Paul Stewart72b2fdc2012-06-02 08:58:51 -0700994 (WiFi only) Information about the vendor of the
995 AP, gleaned from WPS and vendor-specific information
996 elements in the beacon and probe respondss.
997
998 string Manufacturer [readonly]
999 Device manufacturer name as supplied by WPS IE.
1000 string ModelName [readonly]
1001 Device model name as supplied by WPS IE.
1002 string ModelNumber [readonly]
1003 Device model number as supplied by WPS IE.
1004 string DeviceName [readonly]
1005 Device name as supplied by WPS IE.
1006 string OUIList [readonly]
1007 Space separated list of OUI identifiers for
1008 vendor-specific IEs that were neither the
1009 Microsoft nor Epigram identifiers (the former
1010 two are used for platform-neutral information).