blob: adc2c1d5fb6c80e5cbe94968dd8facaad2fe4bcf [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 Stewarta4e618b2012-04-25 16:21:22 -0700162Signals PropertyChanged(string name, variant value)
163
164 This signal indicates a changed value of the given
165 property.
166
167
168Properties boolean AutoConnect [readwrite]
169
170 If set to true, this service will auto-connect
171 when no other connection is available. If multiple
172 services are marked for auto-connect then the highest
173 priority available service will be selected.
174
175 For favorite services it is possible to change
176 this value to prevent or permit automatic
177 connection attempts. For non-favorite services, setting
178 AutoConnect to TRUE causes favorite to be set to TRUE.
179
Ben Chan3d6de0e2012-12-10 12:01:34 -0800180 boolean Cellular.ActivateOverNonCellularNetwork [readonly]
181
182 (Cellular only) If set to true, this service must be
183 activated over a non-cellular network instead of the
184 same cellular network.
185
Paul Stewarta4e618b2012-04-25 16:21:22 -0700186 string Cellular.ActivationState [readonly]
187
188 (Cellular only) The activate state of the device
189 on the cellular network. Possible values for
190 activate_state are:
191 "not-activated"
192 "activating"
193 "partially-activated"
194 "activated"
195
196 A CDMA device can be activated by calling the
197 Activate method.
198
199 This property is relevant only for services
200 associated with a CDMA cellular device.
201
202 dict Cellular.ServingOperator [readonly] [GSM only]
203 (Cellular only) Description of the operator on whose
204 network the modem is currently registered, if any.
205 The dictionary may contain the following string-valued
206 properties:
207
208 "name" The operator name
209 "country" The two-letter country code.
210 "network_id" The MCC (Mobile Country Code)
211 and MNC (Mobile Network Code) of the
212 operator on whose network the device is
213 registered. The value of the property is
214 the simple concatenation of the MCC and
215 the MNC, with no separator. The first
216 three digits are always the MCC, and
217 the following two or three digits are the
218 MNC.
219
220 string Cellular.NetworkTechnology [readonly]
221
222 (Cellular only) If the modem is registered on a
223 network, then this property gives the data bearer
224 technology currently in use. The following
225 table lists the values this property may have,
226 along with a rough indication of the "generation"
227 to which the technology is considered to belong.
228
229 Value Generation
230 -----------------------------
231 "1xRTT" (CDMA) 2.5G
232 "EVDO" (CDMA) 3G to 3.5G
233 "GPRS" 2.5G
234 "EDGE" 2.75G
235 "UMTS" 3G
236 "HSPA" 3.5G
237 "HSPA+" 3.75G
238 "LTE" 3.9G
239 "LTE Advanced" 4G
240
241 string Cellular.RoamingState [readonly]
242
243 (Cellular only) The roaming status of the modem on
244 the current network. Possible values are "home",
245 "roaming", and "unknown".
246
247 string Cellular.Olp [readonly]
248
249 (Cellular only) A dictionary describing the
250 online payment portal (OLP) at which a user
251 can sign up for, or modify, a mobile data
252 plan. The value of this property is a
253 string -> string dictionary, which includes
254 the following keys:
255
256 "url" The URL for the portal
257 "method" The HTTP method to use, "GET" or "POST"
258 "postdata" If the method is POST then this key is
259 present and contains the postdata
260 to send.
261
262 dict Cellular.APN [readwrite] [GSM only]
263
264 (Cellular only) The APN to be used with a GSM
265 carrier for making data connections. The value of
266 this property is a string -> string dictionary,
267 which must include at least the following key:
268
269 "apn" The APN to use for making connections
270
271 There are three optional properties. The first is
272
273 "network_id" The network ID (MCC/MNC pair) of the
274 network for which the APN should be used.
275 If not specified, then the network ID of
276 the currently registered network is used.
277
278 The other two optional properties are "username"
279 and "password", which, if specified, will be supplied
280 to the connect operation on the modem along with the
281 APN.
282
283 When the APN is set using this method, it overrides
284 any APN that may be associated with the specified
285 network ID in the APN database. The APN setting is
286 persistent across reboots.
287
288 A user-specified APN may be cleared by clearing this
289 property.
290
291 The algorithm for connecting to GSM networks is as
292 follows, stopping when a connection is succesfully
293 established:
294 1. Try the last APN that resulted in a successful
295 connection.
296 2. Try the APN that was set from the Cellular.APN
297 property (if any).
298 3. Try the list of APNs for the current provider one
299 at a time. The list comes from the mobile broadband
300 provider information database.
301 4. As a last resort, try connecting without specifying
302 an APN.
303
304 If all these steps fail, then the connect attempt fails.
305 Whenever this property is set to establish a new APN to
306 use, the remembered last-good-APN is cleared. The
307 remembered last-good-APN is persistent across reboots.
308
309 dict Cellular.LastGoodAPN [readonly] [GSM only]
310
311 (Cellular only) The APN information used in the
312 last successful connection attempt. If the last
313 attempt was unsuccesful, this property is unset.
314 The format of this property is the same as for
315 the Cellular.APN property.
316
Thieu Le2df97482013-03-14 10:42:42 -0700317 boolean Cellular.OutOfCredits [readonly]
318
319 (Cellular only) Indicates whether a cellular service
320 has any remaining bandwidth credits with the carrier.
321
Paul Stewarta4e618b2012-04-25 16:21:22 -0700322 string CheckPortal [readwrite]
323
324 Control captive portal checking. Possible values
325 are "true", "false", and "auto" (default).
326 When set to "auto" captive portal checking is
327 controlled by Manager.CheckPortalList (which
328 is a per-technology mask/list of which services
329 should do captive portal checking).
330
331 boolean Connectable [readonly]
332
333 Indicates whether a service is prepared for use
334 as an argument to the Connect method. A service
335 will not be marked Connectable if, for example,
336 it is missing necessary security credentials.
337 Clients may use this property to not disable
338 services or to mark them in some way to indicate
339 they are present but not usable.
340
Paul Stewartbdbd3c32013-04-17 09:47:21 -0700341 string Country [readonly]
342
343 (WiFi only) Indicates the 2-letter country code
344 reported by the representative endpoint for this
345 service.
346
Paul Stewarta4e618b2012-04-25 16:21:22 -0700347 object Device [readonly]
348
349 The object path of the associated device.
350 This value may be used to retrieve and manipulate
351 Layer 3 configuration state.
352
Darin Petkov0c65bdd2012-12-05 13:42:41 +0100353 array{string} Diagnostics.Disconnects [readonly]
354
355 History (wall-clock timestamps) of connection drops.
356
357 array{string} Diagnostics.Misconnects [readonly]
358
359 History (wall-clock timestamps) of failed connection
360 attempts.
361
Paul Stewarta4e618b2012-04-25 16:21:22 -0700362 string EAP.Identity [readwrite]
363
364 The client identity string used in setting up
365 services of type "802_1x".
366
367 This property is included in get requests only
368 when the requester has sufficient privileges.
369
370 string EAP.EAP [readwrite]
371
372 The EAP methods that will be accepted when setting
373 up services of type "802_1x".
374
375 This property is included in get requests only
376 when the requester has sufficient privileges.
377
378 string EAP.InnerEAP [readwrite]
379
380 The authentication methods that will be on the
381 inside of a PEAP or EAP-TTLS tunnel.
382
383 This property is included in get requests only
384 when the requester has sufficient privileges.
385
386 string EAP.AnonymousIdentity [readwrite]
387
388 The client identity string that will be used
389 for the outer EAP authentication for tunneled
390 methods such as PEAP and EAP-TTLS.
391
392 This property is included in get requests only
393 when the requester has sufficient privileges.
394
Paul Stewarta4e618b2012-04-25 16:21:22 -0700395 string EAP.CertID [readwrite]
396
397 The PKCS#11 identifier of the client certificate
398 to use when setting up services of type "802_1x".
399
400 This property is included in get requests only
401 when the requester has sufficient privileges.
402
403 string EAP.PrivateKey [readwrite]
404
405 The pathname of a file containing the private
406 key for setting up services of type "802_1x".
407 The private key file must be in PEM format.
408
409 This property is included in get requests only
410 when the requester has sufficient privileges.
411
412 string EAP.PrivateKeyPassword [readwrite]
413
414 The password to decrypt a private key given
415 in EAP.PrivateKey.
416
417 This property is included in get requests only
418 when the requester has sufficient privileges.
419
420 string EAP.KeyID [readwrite]
421
422 The PKCS#11 identifier of the private key to
423 use when setting up services of type "802_1x".
424
425 This property is included in get requests only
426 when the requester has sufficient privileges.
427
428 string EAP.CACert [readwrite]
429
430 The pathname of a file containing the Certificate
431 Authority's certificate for validating server
432 certificates during the 802.1x authentication
433 process.
434
435 This property is included in get requests only
436 when the requester has sufficient privileges.
437
438 string EAP.CACertID [readwrite]
439
440 The PKCS#11 ID of the EAP.CACert file for
441 validating server certificate recieved during
442 the 802.1x authentication process.
443
444 This property is included in get requests only
445 when the requester has sufficient privileges.
446
Paul Stewart5baebb72013-03-14 11:43:29 -0700447 string EAP.CACertPEM [readwrite]
448
449 An x509 CA certificate in PEM format; specifically
450 the base64 counterpart of the DER contents
451 surrounded by a "-----BEGIN CERTIFICATE-----" and
452 "-----END CERTIFICATE-----" line. This certificate
453 will be used to authenticate the remote RADIUS
454 server in the 802.1x authentication process.
455
Paul Stewarta4e618b2012-04-25 16:21:22 -0700456 boolean EAP.UseSystemCAs [readwrite]
457
458 Control whether EAP operations are
459 configured to use the system's installed set
460 of certificate authorities when validating
461 server certificates. Note that if UseSystemCAs
462 is false and no CA is specified with EAP.CACert
463 or EAP.CaCertID - that is, no CAs are configured
464 at all - server certificates will not have their
465 signatures checked. Defaults to true.
466
467 This property is included in get requests only
468 when the requester has sufficient privileges.
469
470 string EAP.PIN [readwrite]
471
472 The PIN used to authenticate to the PKCS#11 device
473 to retrieve a client certificate, private key,
474 or certificate authority certificate.
475
476 This property is included in get requests only
477 when the requester has sufficient privileges.
Albert Chaulk0e1cdea2013-02-27 15:32:55 -0800478
Paul Stewarta4e618b2012-04-25 16:21:22 -0700479 string EAP.Password [readwrite]
480
481 The password to use in 802.1x authentication.
482
483 This property is included in get requests only
484 when the requester has sufficient privileges.
Albert Chaulk0e1cdea2013-02-27 15:32:55 -0800485
Paul Stewarta4e618b2012-04-25 16:21:22 -0700486 string EAP.KeyMgmt [readwrite]
487
488 (WiFi only) The key management algorithm to be
489 used in 802.1x authentication. If this property
490 is not set then "WPA-EAP" is used for the key
491 management algorithm.
492
493 This property is included in get requests only
494 when the requester has sufficient privileges.
495
Paul Stewartbc6e7392012-05-24 07:07:48 -0700496 array{string} EAP.RemoteCertification [readonly]
497
498 (WiFi only) The list of certificate subject names
499 reported by the remote RADIUS server. This
500 property is set during 802.1x negotiation and
501 persists after disconnection for later inspection,
502 but is not persisted between connection manager
503 restarts. It is also cleared at the beginning of
504 the next connection.
505
506 string EAP.SubjectMatch [readwrite]
507
508 (WiFi only) A substring which the remote
509 RADIUS server certificate subject name must
510 contain. If the subject does not contain this
511 substring, abort 802.1x negotiation.
512
Paul Stewarta4e618b2012-04-25 16:21:22 -0700513 string Error [readonly]
514
515 The service error status details.
516
517 When error occur during connection or disconnection
518 the detailed information are represented in this
519 property to help the user interface to present the
520 user with alternate options.
521
Darin Petkov9a6b1712013-03-15 10:18:43 +0100522 This property is only valid when the service is in a
523 failure state. Otherwise it might be empty or not
524 present at all.
Paul Stewarta4e618b2012-04-25 16:21:22 -0700525
Darin Petkov9a6b1712013-03-15 10:18:43 +0100526 Look for "Flimflam error options" in
527 system_api/dbus/service_constants.h for the set of
528 defined error codes.
529
530 string ErrorDetails [readonly]
531
532 Free-style service error status details in addition to
533 the defined error codes presented through the
534 Service.Error property. For example, this property may
535 contain a server-supplied error description for a
536 rejected VPN connection attempt.
537
538 This property is only valid when the service is in a
539 failure state. Otherwise it might be empty or not
540 present at all.
Paul Stewarta4e618b2012-04-25 16:21:22 -0700541
542 boolean Favorite [readonly]
543
544 Will be true if a cable is plugged in or the user
545 selected and successfully connected to this service.
546
547 This value is automatically changed and to revert
548 it back to false the Remove() method needs to be
549 used.
550
551 string GUID [readwrite]
552
553 The Globally Unique IDentifier for the service.
554 This value may be set by a client and is
555 intended for cross-referencing Service objects
556 to externally-maintained data.
557
558 object IPConfig [readonly]
559
560 The object path of the associated IP configuration.
561 This value only exists when the service is connected,
562 and is used used to retrieve Layer 3 configuration
Paul Stewart1e3bc4962012-09-14 12:20:22 -0700563 state. A PropertyChanged signal for this object path
564 is emitted every time the IP address is configured
565 (for example during DHCP renewals), although the
566 actual value may not have changed.
Paul Stewarta4e618b2012-04-25 16:21:22 -0700567
568 boolean IsActive [readonly]
569
570 Will be true if this service has a default route;
571 i.e. network traffic is being sent through it.
572
573 string Mode [readonly]
574
575 If the service type is "wifi", then this property is
576 present and contains the mode of the network. The
577 possible values are "managed" or "adhoc".
578
579 This property is present only for WiFi services.
580
581 string Name [readonly]
582
583 The service name (for example "Wireless" etc.)
584
585 This name can be used for directly displaying it in
586 the application. It has pure informational purpose.
587
588 For Ethernet devices and hidden WiFi networks it is
589 not guaranteed that this property is present. For
590 visible WiFi networks, this may contain the SSID.
591
592 See also the WiFi.HexSSID property.
593
594 string Passphrase [readwrite]
595
596 If the service type is "wifi", then this property
597 holds a passphrase used in setting up services of
598 type "wep", "wpa", "rsn", "psk", or a private
599 key password used in setting up services of
600 type "802_1x".
601
602 For "wep" services, this must contain the WEP
603 key and, optionally, a key index. Only 40-bit
604 and 104-bit WEP keys are supported. The WEP
605 key can be formatted either as an ASCII string
606 (5 or 13 characters), or as ASCII hex digits
607 (10 or 26). When using ASCII hex digits, the
608 key may optionally be preceded by "0x" or "0X".
609 To specify an optional WEP key index, prepend
610 the key with "0:", "1:", "2:" or "3:". If no
611 index is specified, 0 is used.
612
613 By default this property is not included in get
614 requests. It may be present if a non-default
615 security policy is configured and the client has
616 "read secret" privileges.
617
618 Note that no PropertyChanged signals are sent for
619 this property. The PassphraseRequired property
620 should be monitored instead.
621
622 boolean PassphraseRequired [readonly]
623
624 If the service type is "wifi", then this property
625 indicates if a passphrase or key (for WEP) is required.
626
627 If a passphrase has been set already or if no
628 passphrase is needed, then this property will
629 be set to false.
630
631 UI clients may monitor this property for a
632 PropertyChanged signals to prompt for a required
633 passphrase or key.
634
635 [We will be supporting this soon for VPN]
636
637 int32 Priority [readwrite]
638
639 An optional value used to calculate the priority order
640 of this service. Priorities are between 1 to 100.
641 Services with priorities are sorted ahead of services
642 without. Services with the same priority are ordered
643 by other means such as service type and signal
644 strength.
645
646 By default services are not assigned a priority;
647 clients must set one if they desire. To remove an
648 existing priority use the ClearProperty method.
649
650 object Profile [readwrite]
651
652 The object path of the associated Profile object.
653 This may not be present if the Service object
654 has not been written to a profile yet.
655
656 string ProxyConfig [readwrite]
657
658 An externalized json dictionary describing the proxy
659 configuration that can be stored on the service, and
660 modified by a user.
661 Flimflam does not use this information for anything,
662 but it is left available to the caller, and stored
663 persistently.
664 This property may be set by any client and will be
665 adopted by chrome during run-time. If syntax of the
666 value is wrong, chrome will ignore this property during
667 runtime.
668 The value of this property is a string -> string
669 dictionary that includes the following keys. The final
670 string is a comma separated list of key-value pairs
671 enclosed by "{" and "}"; syntax of a key-value pair is:
672 <key>":"<value>. Example:
673 {"mode":"fixed-servers","server":"http=foopy:80"}
674
675 "mode"
676 type of proxy that can be one of:
677 "direct" --
678 direct connection to network, other preferences
679 are ignored
680 "auto_detect" --
681 try to retrieve a PAC script from
682 http://wpad/wpad.dat or fall back to direct
683 connection
684 "pac_script" --
685 try to retrieve PAC script specified for "pac_url"
686 (see below) or fall back to direct connection
687 "fixed_servers" --
688 manual configuration of one or more servers
689 to be used as proxy
690
691 "pac_url"
692 URL for proxy .pac file (meaningful only if mode=
693 pac_script); scheme of URL must be specified
694
695 "pac_mandatory"
696 indciate if a valid PAC script is mandatory
697 (meaningful only if mode=pac_script);
698 value is either true or false (without quotes), e.g.
699 "pac_mandatory":true;
700 if true, network traffic does not fall back to
701 direct connections in case the PAC script is not
702 available
703
704 "server"
705 proxy server for manual configuration (meaningful
706 only if mode=fixed-servers); syntax is
707 [<proxy-scheme>"://"]<proxy-host>[":"<proxy-port>];
708 if the proxy to use depends on the scheme of the
709 URL, specify a semicolon separated list of :
710 <url-scheme>"="<proxy-uri>
711 for example:
712 - "http=foopy:80;ftp=foopy2" --
713 use HTTP proxy "foopy:80" for http:// URLs, and
714 HTTP proxy "foopy2:80" for ftp:// URLS
715 - "foopy:80" -- use HTTP proxy "foopy:80" for all
716 URLs
717 - "socks4://foopy" --
718 use SOCKS v4 proxy "foopy:80" for all URLs
719
720 "bypass_list"
721 proxy bypass rules for manual configuration
722 (meaningful only if mode=fixed-servers); format
723 can be any one of the following:
724 1) [<url_scheme>"://"]<hostname_pattern>[":"<port>]
725 Match all hostnames that match the pattern
726 hostname_pattern which can be a substring of the
727 hostname with asterisks.
728 Examples: "foobar.com", "*foobar.com",
729 "*.foobar.com", "*foobar.com:99",
730 "https://x.*.y.com:99"
731 2) "."<hostname_suffix_pattern>[":"<port>]
732 Match a particular domain suffix.
733 Examples: ".google.com", ".com",
734 "http://.google.com"
735 3) [<scheme>"://"]<ip_literal>[":"<port>]
736 Match URLs that are IP address literals.
737 Conceptually this is the similar to (1), but with
738 special cases to handle IP literal
739 canonicalization. For example matching on
740 "[0:0:0::1]" would be the same as matching on
741 "[::1]" since the IPv6 canonicalization is done
742 internally.
743 Examples: "127.0.1", "[0:0::1]", "[::1]",
744 "http://[::1]:99"
745 4) <ip_literal>"/"<prefix_length_in_bits>
746 Match any URL that is to an IP literal that falls
747 in the given range. IP range is specified using
748 CIDR notation.
749 Examples: "192.168.1.1/16", "fefe:13::abc/33".
750 5) "<local>"
751 Match local addresses; this is a literal string.
752 "<local>" matches one of: "127.0.0.1", "::1",
753 "localhost".
754
755 dict Provider [readonly]
756
757 (VPN only) Provider data. A provider is a service
758 that piggy-backs on top of a transport service.
759 This is presently used by VPN services.
760
Paul Stewarta4e618b2012-04-25 16:21:22 -0700761 string Host [readonly]
762 VPN host IP address.
Paul Stewarta4e618b2012-04-25 16:21:22 -0700763 string Type [readonly]
764 VPN provider type (e.g. openvpn).
765
766 boolean SaveCredentials [readwrite]
767
768 This property indicates if security credentials
769 should be reused and/or written to stable storage.
770 Setting this property to FALSE ensures nothing is
771 recorded and the client must supply credentials
772 for each Connect request.
773
774 The following credentials are not recorded when
775 this property is set to FALSE:
Albert Chaulk0e1cdea2013-02-27 15:32:55 -0800776
Paul Stewarta4e618b2012-04-25 16:21:22 -0700777 Passphrase
778 EAP.Identity
779 EAP.AnonymousIdentity
780 EAP.ClientCert
781 EAP.CertID
782 EAP.PrivateKey
783 EAP.PrivateKeyPassword
784 EAP.KeyID
785 EAP.PIN
786 EAP.Password
787
788 Note that no PropertyChanged signals are sent for
789 this property.
790
791 string Security [readonly]
792
793 If the service type is "wifi", then this property is
794 present and contains the security method or key
795 management setting.
796
797 Possible values are: "none" (no privacy),
798 "wep" (fixed key WEP), "wpa" (WPA-PSK), "rsn"
799 (IEEE 802.11i-PSK), "psk" (either "wpa" or "rsn"),
800 and "802_1x" (IEEE 802.11i with 802.1x authentication).
801
802 This property is only present for WiFi services.
803
804 string State [readonly]
805
806 The state of the service; one of:
807
808 "idle" The service is not enabled or otherwise
809 operational.
810
811 "carrier" The associated device is powered on and
812 ready for Layer 2 operation; e.g. a
813 wired Ethernet device that is powered
814 up and connected to a switch.
815
816 "association" Intermediate states associated with
817 "disconnect" connection-based devices such as WiFi
818 and Cellular. These are exposed for
819 UI applications to provide more
820 fine-grained status.
821
822 "configuration" Layer 2 is setup but Layer 3 setup
823 has yet to completed.
824
825 "ready" Layer 3 setup is complete; ready to
826 transit and receive data.
827
828 "portal" Layer 3 setup is complete but
829 connectivity to the Internet may be
830 limited or unavailable.
831
832 "online" Layer 3 setup is complete and an
833 Internet connection has been checked
834 to support HTTP access to the
835 Manager.PortalURL site.
836
837 "failure" An error occurred while trying to
838 reach the "ready" state. Consult the
839 Error propery for details.
840
841 "activation-failure"
842 An error occurred while trying to
843 activate a cellular modem. Consult the
844 Error property for details.
845
Paul Stewart1291e082012-04-30 20:08:05 -0700846 string StaticIP.Address [readwrite]
847 string StaticIP.Gateway [readwrite]
848 int32 StaticIP.Mtu [readwrite]
849 string StaticIP.NameServers [readwrite]
850 string StaticIP.PeerAddress [readwrite]
851 int32 StaticIP.Prefixlen [readwrite]
852
853 The properties above can be set on a service to
854 selectively override individual parameters received
855 over DHCP or whatever default IP aquisition technique
856 is used by the service. The "StaticIP.NameServers"
857 property should be a comma-separated list of IP
858 addresses.
859
860 Additionally, in services that use DHCP, if the
861 "StaticIP.Address" and "StaticIP.Prefixlen"
862 parameters are both set on a service, the service
863 will be configured as soon as a link is established,
864 in order to allow full static IP configuration. A
865 DHCP client will be launched in parallel, which, if
866 successful, will provide values for any parameters
867 that were not set statically.
868
869 The IPConfig associated with the service (object
870 path supplied in the "IPConfig" property above)
871 will display the result of the merged network
872 parameters.
873
Paul Stewartdef189e2012-08-02 20:12:09 -0700874 string SavedIP.Address [readonly]
875 string SavedIP.Gateway [readonly]
876 int32 SavedIP.Mtu [readonly]
877 string SavedIP.NameServers [readonly]
878 string SavedIP.PeerAddress [readonly]
879 int32 SavedIP.Prefixlen [readonly]
880
881 The properties above are set on a service to present
882 the configuration that was recieved from the DHCP
883 server prior to applying any "StaticIP.*" parameters
884 during the most recent connection attempt. All
885 parameters are saved regardless of whether they were
886 overridden.
887
888 Note that if a "StaticIP.*" parameter is set on
889 a service, but the service has not been re-connected,
890 the IPConfig object will still contain the true
891 value that the interface is set to.
892
Paul Stewarta4e618b2012-04-25 16:21:22 -0700893 uint8 Strength [readonly]
894
895 Indicates the signal strength of the service. This
896 is a normalized value between 0 and 100.
897
898 This property will not be present for Ethernet
899 devices.
900
901 string Type [readonly]
902
903 The service type; one of:
904 "ethernet" (802.3 wired Ethernet),
905 "wifi" (IEEE 802.11),
906 "wimax" (IEEE 802.16),
907 "bluetooth" (Bluetooth PAN),
908 "cellular" (3G Cellular), or
909 "vpn" (Virtual Private Network).
910
911 This information should only be used to determine
912 advanced properties or showing the correct icon
913 to the user.
914
915 string UIData [readwrite]
916
917 This is additional data available about this service
918 for use by the user interface. This value is opaque
919 and not used by shill.
920
921 string WiFi.AuthMode [readonly]
922
923 (WiFi only) If the service state is
924 "configuration" or "ready", then this property
925 will be present and contains the negotiated
926 authentication method.
927
928 There are too many possible values to enumerate here.
929 The complete set depends on the capabilities of the
930 associated WiFi supplicant.
931
932 string WiFi.BSSID [readonly]
933
934 (WiFi only) The BSSID of the associated AP.
935 One can monitor this property for PropertyChanged
936 signals to identify when roaming changes the
937 current AP.
938
Paul Stewart0cab5682012-09-13 18:50:34 -0700939 boolean WiFi.HiddenSSID [readwrite]
Paul Stewarta4e618b2012-04-25 16:21:22 -0700940
941 (WiFi only) If true, the associated WiFi network
942 does not broadcast it's SSID in beacon frames.
Paul Stewart0cab5682012-09-13 18:50:34 -0700943 This property instructs shill to actively scan
944 for this SSID. This value is cleared when this
945 service is removed from all active profiles.
Paul Stewarta4e618b2012-04-25 16:21:22 -0700946
947 uint16 WiFi.Frequency [readonly]
948
949 (WiFi only) The operating frequency in MHz of
950 the network.
951
952 string WiFi.PhyMode [readonly]
953
954 (WiFi only) If the service state is
955 "configuration" or "ready", then this property
956 will be present and contains the negotiated
957 operating mode for the channel. Possible values
958 include "802.11a", "802.11b", "802.11g",
959 "802.11n". This value is for informational
960 purposes only.
961
962 string WiFi.HexSSID [readonly]
963
964 (WiFi only) If the service's SSID contains
965 unprintable characters then this property is
966 present and holds a hex-encoded copy of the SSID.
967
968 See also the Name property. (Note that there is
969 no SSID property.)
970
971 string WiFi.SSID [readonly]
Paul Stewarta5e7d5f2013-01-09 18:06:15 -0800972
Paul Stewarta4e618b2012-04-25 16:21:22 -0700973 (WiFi only) The service's SSID. Must have a non-zero
974 length less than or equal to 32.
Paul Stewart72b2fdc2012-06-02 08:58:51 -0700975
Paul Stewarta5e7d5f2013-01-09 18:06:15 -0800976 bool WiFi.ProtectedManagementFrameRequired [readonly]
977
978 (WiFi only) This property indicates whether an AP for
979 this service has been seen that requires 802.11w
980 (Protected Management Frame) support.
981
Paul Stewart72b2fdc2012-06-02 08:58:51 -0700982 dict WiFi.VendorInformation [readonly]
Paul Stewarta5e7d5f2013-01-09 18:06:15 -0800983
Paul Stewart72b2fdc2012-06-02 08:58:51 -0700984 (WiFi only) Information about the vendor of the
985 AP, gleaned from WPS and vendor-specific information
986 elements in the beacon and probe respondss.
987
988 string Manufacturer [readonly]
989 Device manufacturer name as supplied by WPS IE.
990 string ModelName [readonly]
991 Device model name as supplied by WPS IE.
992 string ModelNumber [readonly]
993 Device model number as supplied by WPS IE.
994 string DeviceName [readonly]
995 Device name as supplied by WPS IE.
996 string OUIList [readonly]
997 Space separated list of OUI identifiers for
998 vendor-specific IEs that were neither the
999 Microsoft nor Epigram identifiers (the former
1000 two are used for platform-neutral information).