• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Service 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 SetProperties(dict properties)
26
27			Set multiple properties in a Service at once.
28			Each property from the dict is applied, excluding
29			the "Profile" property and all properties intrinsic
30			to the service including "Type" for all services,
31			as well as "Mode", "SSID" and "Security" for WiFi
32			services.  In the event of multiple errors while
33			applying properties to the service, the first error
34			code is returned by this call.
35
36			Possible Errors: [service].Error.InvalidArguments
37					 [service].Error.InvalidProperty
38					 [service].Error.InvalidService
39					 [service].Error.InvalidPassphrase
40
41		void ClearProperty(string name)
42
43			Clear the value of the specified property. Only
44			properties that are listed as read-write are
45			changeable. On success a PropertyChanged signal
46			will be emitted.
47
48			Possible Errors: [service].Error.InvalidArguments
49					 [service].Error.InvalidProperty
50
51		array{bool} ClearProperties(array{string} names)
52
53			Clear the value of the specified properties.  Calls
54			ClearProperty above on each of the property names
55			and returns an array of boolean values indicating
56			whether each ClearProperty attempt succeeded.
57
58		void Connect()
59
60			Initiate a connection for the specified service.
61
62			For Ethernet devices this method can only be used
63			if it has previously been disconnected. Otherwise
64			the plugging of a cable automatically triggers
65			a connection.  If no cable is plugged in this
66			method will fail.
67
68			If the requested service is already connected
69			then this request is ignored and AlreadyConnected
70			is returned.
71
72			If the requested service is in the process of
73			connecting then this request is ignored and
74			InProgress is returned.
75
76			If another service of the same type is connected or
77			connecting then it is terminated before this request
78			is handled.
79
80                        If the requested service cannot, for reasons not
81                        described above, be connected, OperationFailed is
82                        returned.
83
84			Possible Errors: [service].Error.AlreadyConnected
85					 [service].Error.InProgress
86					 [service].Error.OperationAborted
87					 [service].Error.InvalidService
88					 [service].Error.OperationFailed
89
90		void Disconnect()
91
92			Disconnect a service. If the service is not
93			connected or in the process of connecting an
94			error message will be generated.
95
96			For Ethernet devices this will remove all
97			Layer 3 state and mark the associated network
98			interface down.  If no cable is plugged in this
99			request will fail.
100
101			This method can also be used to abort a previous
102			connection attempt via the Connect method.
103
104			Possible Errors: [service].Error.InvalidArguments
105			                 [service].Error.OperationFailed
106
107		void Remove()
108
109			Disconnect and remove the configuration of a
110			service.  This disassociates the service from
111			its current profile.  If another profile supports
112			this service, it will be re-configured there.
113
114			This method is not permitted for Ethernet devices;
115			it will generate a NotSupported error response.
116
117			Possible Errors: [service].Error.InvalidArguments
118					 [service].Error.NotSupported
119
120		void ActivateCellularModem(string carrier)
121
122			Activate a cellular modem on the provided carrier.
123
124			This method returns immediately.  The caller
125			can either poll the Cellular.ActivationState
126			property, or monitor the PropertyChanged
127			signal to know when and if the
128			ActivateCellularModem call succeeded.
129
130			The correct carrier specific modem firmware
131			must already be loaded before this method is
132			called.
133
134			If this method is called for a non-cellular
135			service or on a service associated with a
136			non-CDMA device, it will return a NotSupported
137			error.
138
139			If the device is already activated nothing is returned.
140			but if the device needs to be activated an InProgress
141			error is returned.
142
143			Expected Result: [service].Error.InProgress
144			Possible Errors: [service].Error.NotSupported
145
146		void CompleteCellularActivation()
147
148			Complete the activation of a cellular service that is
149			being activated over a non-cellular network.  This
150			method is called upon the completion of the online
151			payment portal and performs the necessary checks
152			to ensure the activation process has fully completed.
153
154			This method returns immediately.  The caller
155			can either poll the Cellular.ActivationState
156			property, or monitor the PropertyChanged
157			signal to know when and if the activation process
158			has completed.
159
160			If this method is called on a non-cellular service
161			or on a cellular service that is not being activated
162			over a non-cellular network, it will return a
163			NotSupported error.
164
165			If the cellular service is already activated or being
166			activated, nothing is returned.
167
168			Possible Errors: [service].Error.NotSupported
169
170		dict GetLoadableProfileEntries()
171
172			Return a dictionary of object_path -> string pairs
173			which refer to the profile entries from the loaded
174			profiles in the Manager that could possibly provide
175			configuration for this service.  Each entry contains
176			the DBus path of the profile and the string entry
177			name (within that profile) that contains configuration
178			for this service.  Callers can use each of these
179			argument pairs to do a "GetEntry" call on each profile
180			object.
181
182Signals		PropertyChanged(string name, variant value)
183
184			This signal indicates a changed value of the given
185			property.
186
187
188Properties	boolean AutoConnect [readwrite]
189
190			If set to true, this service will auto-connect
191			when no other connection is available.  If multiple
192			services are marked for auto-connect then the highest
193			priority available service will be selected.
194
195			On a successful connection, this property may be
196			set to true automatically, depending on the service
197			type and if this property was not explicitly set on
198			the service before.
199
200		boolean Cellular.ActivateOverNonCellularNetwork [readonly]
201
202			(Cellular only) If set to true, this service must be
203			activated over a non-cellular network instead of the
204			same cellular network.
205
206		string Cellular.ActivationState [readonly]
207
208			(Cellular only) The activate state of the device
209			on the cellular network.  Possible values for
210			activate_state are:
211			   "not-activated"
212			   "activating"
213			   "partially-activated"
214			   "activated"
215
216			A CDMA device can be activated by calling the
217			Activate method.
218
219			This property is relevant only for services
220			associated with a CDMA cellular device.
221
222		dict Cellular.ServingOperator [readonly] [GSM only]
223			(Cellular only) Description of the operator on whose
224			network the modem is currently registered, if any.
225			The dictionary may contain the following string-valued
226			properties:
227
228			"name"       The operator name
229			"country"    The two-letter country code.
230			"network_id" The MCC (Mobile Country Code)
231				     and MNC (Mobile Network Code) of the
232				     operator on whose network the device is
233				     registered. The value of the property is
234				     the simple concatenation of the MCC and
235				     the MNC, with no separator. The first
236				     three digits are always the MCC, and
237				     the following two or three digits are the
238				     MNC.
239
240		string Cellular.NetworkTechnology [readonly]
241
242			(Cellular only) If the modem is registered on a
243			network, then this property gives the data bearer
244			technology currently in use.  The following
245			table lists the values this property may have,
246			along with a rough indication of the "generation"
247			to which the technology is considered to belong.
248
249			Value          Generation
250			-----------------------------
251			"1xRTT" (CDMA) 2.5G
252			"EVDO" (CDMA)  3G to 3.5G
253			"GPRS"         2.5G
254			"EDGE"         2.75G
255			"UMTS"         3G
256			"HSPA"         3.5G
257			"HSPA+"        3.75G
258			"LTE"          3.9G
259			"LTE Advanced" 4G
260
261		string Cellular.RoamingState [readonly]
262
263			(Cellular only) The roaming status of the modem on
264			the current network. Possible values are "home",
265			"roaming", and "unknown".
266
267		string Cellular.Olp [readonly]
268
269			(Cellular only) A dictionary describing the
270			online payment portal (OLP) at which a user
271			can sign up for, or modify, a mobile data
272			plan.  The value of this property is a
273			string -> string dictionary, which includes
274			the following keys:
275
276			"url"      The URL for the portal
277			"method"   The HTTP method to use, "GET" or "POST"
278			"postdata" If the method is POST then this key is
279				   present and contains the postdata
280				   to send.
281
282		dict Cellular.APN [readwrite] [GSM only]
283
284			(Cellular only) The APN to be used with a GSM
285			carrier for making data connections. The value of
286			this property is a string -> string dictionary,
287			which must include at least the following key:
288
289			"apn"  The APN to use for making connections
290
291			There are three optional properties. The first is
292
293			"network_id" The network ID (MCC/MNC pair) of the
294			             network for which the APN should be used.
295				     If not specified, then the network ID of
296				     the currently registered network is used.
297
298			The other two optional properties are "username"
299			and "password", which, if specified, will be supplied
300			to the connect operation on the modem along with the
301			APN.
302
303			When the APN is set using this method, it overrides
304			any APN that may be associated with the specified
305			network ID in the APN database. The APN setting is
306			persistent across reboots.
307
308			A user-specified APN may be cleared by clearing this
309			property.
310
311			The algorithm for connecting to GSM networks is as
312			follows, stopping when a connection is succesfully
313			established:
314			1. Try the last APN that resulted in a successful
315			   connection.
316			2. Try the APN that was set from the Cellular.APN
317			   property (if any).
318			3. Try the list of APNs for the current provider one
319			   at a time. The list comes from the mobile broadband
320			   provider information database.
321			4. As a last resort, try connecting without specifying
322			   an APN.
323
324			If all these steps fail, then the connect attempt fails.
325			Whenever this property is set to establish a new APN to
326			use, the remembered last-good-APN is cleared. The
327			remembered last-good-APN is persistent across reboots.
328
329		dict Cellular.LastGoodAPN [readonly] [GSM only]
330
331			(Cellular only) The APN information used in the
332			last successful connection attempt.  If the last
333			attempt was unsuccesful, this property is unset.
334			The format of this property is the same as for
335			the Cellular.APN property.
336
337		boolean Cellular.OutOfCredits [readonly]
338
339			(Cellular only) Indicates whether a cellular service
340			has any remaining bandwidth credits with the carrier.
341
342		string Cellular.PPP.Username [readwrite]
343			(Cellular only) For cellular devices with a PPP
344			link-layer, the username for PPP authentication.
345
346		string Cellular.PPP.Password [writeonly]
347			(Cellular only) For cellular devices with a PPP
348			link-layer, the password for PPP authentication.
349
350		string CheckPortal [readwrite]
351
352			Control captive portal checking.  Possible values
353			are "true", "false", and "auto" (default).
354			When set to "auto" captive portal checking is
355			controlled by Manager.CheckPortalList (which
356			is a per-technology mask/list of which services
357			should do captive portal checking).
358
359		boolean Connectable [readonly]
360
361			Indicates whether a service is prepared for use
362			as an argument to the Connect method.  A service
363			will not be marked Connectable if, for example,
364			it is missing necessary security credentials.
365			Clients may use this property to not disable
366			services or to mark them in some way to indicate
367			they are present but not usable.
368
369		string Country [readonly]
370
371			(WiFi only) Indicates the 2-letter country code
372			reported by the representative endpoint for this
373			service.
374
375		object Device [readonly]
376
377			The object path of the associated device.
378			This value may be used to retrieve and manipulate
379			Layer 3 configuration state.
380
381			A value of "/" indicates that the service is
382			not bound to any device.
383
384		string DHCPProperty.Hostname [readwrite]
385
386			Optional setting to configure DHCP requests.  Some DHCP
387			servers may register a DNS entry on behalf of this
388			hostname; others may just make available a table for
389			administrators to tell what machines are on their
390			network.
391
392			The default for this name is empty, which means that the
393			system will not report a hostname.  When this property
394			is set it will be persisted in the default profile.
395
396		string DHCPProperty.VendorClass [readwrite]
397
398			Optional setting to configure DHCP requests.  This
399			setting can be used to identify the vendor that
400			manufactured the client hardware, the software in use,
401			or an industry consortium to which the vendor belongs.
402
403			The default for this property is empty, which means the
404			system will not report a Vendor Class.  When set, this
405			property will override the default setting and be
406			persisted in the default profile.
407
408		array{string} Diagnostics.Disconnects [readonly]
409
410			History (wall-clock timestamps) of connection drops.
411
412		array{string} Diagnostics.Misconnects [readonly]
413
414			History (wall-clock timestamps) of failed connection
415			attempts.
416
417		string EAP.Identity [readwrite]
418
419			The client identity string used in setting up
420			services of type "802_1x".
421
422			This property is included in get requests only
423			when the requester has sufficient privileges.
424
425		string EAP.EAP [readwrite]
426
427			The EAP methods that will be accepted when setting
428			up services of type "802_1x".
429
430			This property is included in get requests only
431			when the requester has sufficient privileges.
432
433		string EAP.InnerEAP [readwrite]
434
435			The authentication methods that will be on the
436			inside of a PEAP or EAP-TTLS tunnel.
437
438			This property is included in get requests only
439			when the requester has sufficient privileges.
440
441		string EAP.AnonymousIdentity [readwrite]
442
443			The client identity string that will be used
444			for the outer EAP authentication for tunneled
445			methods such as PEAP and EAP-TTLS.
446
447			This property is included in get requests only
448			when the requester has sufficient privileges.
449
450		string EAP.CertID [readwrite]
451
452			The PKCS#11 identifier of the client certificate
453			to use when setting up services of type "802_1x".
454
455			This property is included in get requests only
456			when the requester has sufficient privileges.
457
458		string EAP.PrivateKey [readwrite]
459
460			The pathname of a file containing the private
461			key for setting up services of type "802_1x".
462			The private key file must be in PEM format.
463
464			This property is included in get requests only
465			when the requester has sufficient privileges.
466
467		string EAP.PrivateKeyPassword [readwrite]
468
469			The password to decrypt a private key given
470			in EAP.PrivateKey.
471
472			This property is included in get requests only
473			when the requester has sufficient privileges.
474
475		string EAP.KeyID [readwrite]
476
477			The PKCS#11 identifier of the private key to
478			use when setting up services of type "802_1x".
479
480			This property is included in get requests only
481			when the requester has sufficient privileges.
482
483		string EAP.CACert [readwrite]
484
485			The pathname of a file containing the Certificate
486			Authority's certificate for validating server
487			certificates during the 802.1x authentication
488			process.
489
490			This property is included in get requests only
491			when the requester has sufficient privileges.
492
493		string EAP.CACertID [readwrite]
494
495			The PKCS#11 ID of the EAP.CACert file for
496			validating server certificate recieved during
497			the 802.1x authentication process.
498
499			This property is included in get requests only
500			when the requester has sufficient privileges.
501
502		string EAP.CACertPEM [readwrite]
503
504			An x509 CA certificate in PEM format; specifically
505			the base64 counterpart of the DER contents
506			surrounded by a "-----BEGIN CERTIFICATE-----" and
507			"-----END CERTIFICATE-----" line.  This certificate
508			will be used to authenticate the remote RADIUS
509			server in the 802.1x authentication process.
510
511		boolean EAP.UseSystemCAs [readwrite]
512
513			Control whether EAP operations are
514			configured to use the system's installed set
515			of certificate authorities when validating
516			server certificates. Note that if UseSystemCAs
517			is false and no CA is specified with EAP.CACert
518			or EAP.CaCertID - that is, no CAs are configured
519			at all - server certificates will not have their
520			signatures checked. Defaults to true.
521
522			This property is included in get requests only
523			when the requester has sufficient privileges.
524
525		string EAP.PIN [readwrite]
526
527			The PIN used to authenticate to the PKCS#11 device
528			to retrieve a client certificate, private key,
529			or certificate authority certificate.
530
531			This property is included in get requests only
532			when the requester has sufficient privileges.
533
534		string EAP.Password [readwrite]
535
536			The password to use in 802.1x authentication.
537
538			This property is included in get requests only
539			when the requester has sufficient privileges.
540
541		string EAP.KeyMgmt [readwrite]
542
543			(WiFi only) The key management algorithm to be
544			used in 802.1x authentication.	If this property
545			is not set then "WPA-EAP" is used for the key
546			management algorithm.
547
548			This property is included in get requests only
549			when the requester has sufficient privileges.
550
551		array{string} EAP.RemoteCertification [readonly]
552
553			(WiFi only) The list of certificate subject names
554			reported by the remote RADIUS server.  This
555			property is set during 802.1x negotiation and
556			persists after disconnection for later inspection,
557			but is not persisted between connection manager
558			restarts.  It is also cleared at the beginning of
559			the next connection.
560
561		string EAP.SubjectMatch [readwrite]
562
563			(WiFi only) A substring which the remote
564			RADIUS server certificate subject name must
565			contain.  If the subject does not contain this
566			substring, abort 802.1x negotiation.
567
568		string Error [readonly]
569
570			The service error status details.
571
572			When error occur during connection or disconnection
573			the detailed information are represented in this
574			property to help the user interface to present the
575			user with alternate options.
576
577			This property is only valid when the service is in a
578			failure state. Otherwise it might be empty or not
579			present at all.
580
581			Look for "Flimflam error options" in
582			system_api/dbus/shill/dbus-constants.h for the set of
583			defined error codes.
584
585		string ErrorDetails [readonly]
586
587			Free-style service error status details in addition to
588			the defined error codes presented through the
589			Service.Error property. For example, this property may
590			contain a server-supplied error description for a
591			rejected VPN connection attempt.
592
593			This property is only valid when the service is in a
594			failure state. Otherwise it might be empty or not
595			present at all.
596
597		string GUID [readwrite]
598
599			The Globally Unique IDentifier for the service.
600			This value may be set by a client and is
601			intended for cross-referencing Service objects
602			to externally-maintained data.
603
604		object IPConfig [readonly]
605
606			The object path of the associated IP configuration.
607			This value only exists when the service is connected,
608			and is used used to retrieve Layer 3 configuration
609			state.  A PropertyChanged signal for this object path
610			is emitted every time the IP address is configured
611			(for example during DHCP renewals), although the
612			actual value may not have changed.
613
614		boolean IsActive [readonly]
615
616			Will be true if this service has a default route;
617			i.e.  network traffic is being sent through it.
618
619		boolean LinkMonitorDisable [readwrite]
620
621			Specifies whether to disable or enable link monitoring
622			for this service. When link monitor is enabled, periodic
623			ARP to the gateway IP address will be performed.
624
625		boolean ManagedCredentials [readwrite]
626
627			Specifies whether the credentials for this service
628			are managed outside of shill, and are validated
629			in some manner other than by the user.  As such, these
630			credentials need not be validated via an initial
631			connection attempt.  Even without this validation,
632			the service will be considered of equal priority to
633			other services that have been connected before.
634
635		string Mode [readonly]
636
637			If the service type is "wifi", then this property is
638			present and contains the mode of the network. The
639			possible values are "managed" or "adhoc".
640
641			This property is present only for WiFi services.
642
643		string Name [readonly]
644
645			The service name (for example "Wireless" etc.)
646
647			This name can be used for directly displaying it in
648			the application. It has pure informational purpose.
649
650			For Ethernet devices and hidden WiFi networks it is
651			not guaranteed that this property is present. For
652			visible WiFi networks, this may contain the SSID.
653
654			See also the WiFi.HexSSID property.
655
656		string OpenVPN.Auth [writeonly]
657
658			(VPN services of type OpenVPN only) Specify the
659			authentication algorithm to OpenVPN.
660			See the "--auth" option in the OpenVPN documentation.
661			The current value of this property is readable
662			in the "Provider" property of this service.
663
664		string OpenVPN.AuthNoCache [writeonly]
665
666			(VPN services of type OpenVPN only) If this value
667			is set to anything, do not cache usernames or passwords
668			in the OpenVPN client.  See the "--auth" flag in the
669			OpenVPN documentation.  The current value of this
670			property is readable in the "Provider" property of this
671			service.
672
673		string OpenVPN.AuthRetry [writeonly]
674
675			(VPN services of type OpenVPN only) Specify how to
676			handle authentication failures.
677			See the "--auth-retry" option in the OpenVPN
678			documentation.  The current value of this property
679			is readable in the "Provider" property of this service.
680
681		string OpenVPN.AuthUserPass [writeonly]
682
683			(VPN services of type OpenVPN only) Authenticate
684			with username and password if this option is non-empty.
685			For this option to work, the "OpenVPN.User" property
686			must also be set.  The current value of this property
687			is readable in the "Provider" property of this service.
688
689		string OpenVPN.CACert [writeonly]
690
691			(VPN services of type OpenVPN only) Specify the
692			filename of the certificate to be used to verify the
693			OpenVPN server.  Only one of "OpenVPN.CACert" or
694			"OpenVPN.CACertPEM" can be specified.  The current
695			value of this property is readable in the "Provider"
696			property of this service.
697
698		string OpenVPN.CACertNSS [writeonly]
699
700			(VPN services of type OpenVPN only) [Deprecated]
701			This value is no longer honored in shill, but any
702			value stored here is persisted so that callers can
703			migrate this to the correct value of OpenVPN.CACertPEM.
704			The current value of this property is readable in the
705			"Provider" property of this service.
706
707		array{string} OpenVPN.CACertPEM [writeonly]
708
709			(VPN services of type OpenVPN only) The list of
710			x509 CA certificates to be used to verify the remote
711			server.  Any of these certificates can directly sign
712			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.  Only one of
717			"OpenVPN.CACert" or "OpenVPN.CACertPEM" can be
718			specified.  The current value of this property is
719			readable in the "Provider" property of this service.
720
721		string OpenVPN.Cert [writeonly]
722
723			(VPN services of type OpenVPN only) Specify a
724			filename of to use as the client certificate in
725			authentication.   See the "--cert" option in the
726			OpenVPN documentation.  The current value of this
727			property is readable in the "Provider" property of
728			this service.
729
730		string OpenVPN.Cipher [writeonly]
731
732			(VPN services of type OpenVPN only) Specify the
733			cipher algorithm for encrypted packets.  See the
734			"--cipher" option in the OpenVPN documentation.
735			The current value of this property is readable in
736			the "Provider" property of this service.
737
738		string OpenVPN.CompLZO [writeonly]
739
740			(VPN services of type OpenVPN only) If non-empty,
741			enable fast LZO compression.  See the
742			"--comp-lzo" option in the OpenVPN documentation.
743			The current value of this property is readable in
744			the "Provider" property of this service.
745
746		string OpenVPN.CompNoAdapt [writeonly]
747
748			(VPN services of type OpenVPN only) If non-empty,
749			don't use adaptive compression when fast LZO
750			is enabled compression.  See the "--comp-noadapt"
751			option in the OpenVPN documentation.  The current
752			value of this property is readable in the "Provider"
753			property of this service.
754
755		array{string} OpenVPN.ExtraCertPEM [writeonly]
756
757			(VPN services of type OpenVPN only) A list of
758			additonal x509 CA certificates to be used to complete
759			the certificate authentication chain from the CA
760			certificates.  Each x509 CA certificate must be in in
761			PEM format; specifically the base64 counterpart of
762			the DER contents, optionally surrounded by a
763			"-----BEGIN CERTIFICATE-----" and
764			"-----END CERTIFICATE-----" line.  The current
765			value of this property is readable in the "Provider"
766			property of this service.
767
768		string OpenVPN.IgnoreDefaultRoute [writeonly]
769
770			(VPN services of type OpenVPN only) If set, a
771			default route to the default gateway specified by
772			the server will not be configured.  This allows this
773			connection to operate as a "split tunnel" in
774			configurations where the server allows this.  Since
775			this option does not ignore routes explicitly pushed
776			from the server, this option does not allow split
777			tunnels when they are expressly forbidden in the
778			server configuration.  The server can directly
779			override this option by pushing a "redirect-gateway"
780			or "redirect-private" option to the client.  The
781			current value of this property is readable in the
782			"Provider" property of this service.
783
784		string OpenVPN.Key [writeonly]
785
786			(VPN services of type OpenVPN only) Specify the
787			filename of the private key the client uses to
788			verify itself to the OpenVPN server.  See the
789			"--key" option in the OpenVPN documentation.  The
790			current value of this property is readable in the
791			"Provider" property of this service.
792
793		string OpenVPN.KeyDirection [writeonly]
794
795			(VPN services of type OpenVPN only) [Deprecated]
796			This property is only provided for backwards
797			compatibility.
798
799		string OpenVPN.Mgmt.Enable [writeonly]
800
801			(VPN services of type OpenVPN only) [Deprecated]
802			This property is only provided for backwards
803			compatibility.
804
805		string OpenVPN.NsCertType [writeonly]
806
807			(VPN services of type OpenVPN only) If non-empty,
808			specifies that the peer certificate must be signed
809			with an explicit nsCertType designation.  The value
810			assigned to this property specified the role that
811			should be assigned to the certificate.  See the
812			"--ns-cert-type" option in the OpenVPN documentation.
813			The current value of this property is readable in the
814			"Provider" property of this service.
815
816		string OpenVPN.OTP [writeonly]
817
818			(VPN services of type OpenVPN only) Specifies a
819			one-time-password (OTP) to be used during the
820			authentication phase.  The connection manager only
821			stores this value for the duration of a connection
822			attempt and will never persist this to a stored
823			profile.
824
825		string OpenVPN.Password [writeonly]
826
827			(VPN services of type OpenVPN only) Specifies a
828			password to be used during the authentication phase.
829
830		string OpenVPN.Pkcs11.ID [writeonly]
831
832			(VPN services of type OpenVPN only) Specify the
833			PKCS11 certificate id when using a crypto token
834			to perform certificate authentication.
835
836		string OpenVPN.Pkcs11.PIN [writeonly]
837
838			(VPN services of type OpenVPN only) Specifies a
839			PIN used to gain access to the cryptographic token
840			when using the "OpenVPN.Pkcs11.ID" property.
841
842		string OpenVPN.Pkcs11.Provider [writeonly]
843
844			(VPN services of type OpenVPN only) Specifies a
845			the provider for the the cryptographic token
846			when using the "OpenVPN.Pkcs11.ID" property.
847			The current value of this property is readable in the
848			"Provider" property of this service.
849
850		string OpenVPN.Ping [writeonly]
851
852			(VPN services of type OpenVPN only) If non-empty,
853			this specifies the period in seconds between sending
854			pings to the OpenVPN server.  See the "--ping" option
855			in the OpenVPN documentation.  The current value of
856			this property is readable in the "Provider" property
857			of this service.
858
859		string OpenVPN.PingExit [writeonly]
860
861			(VPN services of type OpenVPN only) If non-empty,
862			exit if this many seconds pass without reception
863			of a ping reply from the OpenVPN server.  See the
864			"--ping-exit" option in the OpenVPN documentation.
865			The current value of this property is readable in the
866			"Provider" property of this service.
867
868		string OpenVPN.PingRestart [writeonly]
869
870			(VPN services of type OpenVPN only) If non-empty,
871			restart if this many seconds pass without reception
872			of a ping reply from the OpenVPN server.  See the
873			"--ping-restart" option in the OpenVPN documentation.
874			The current value of this property is readable in the
875			"Provider" property of this service.
876
877		string OpenVPN.Port [writeonly]
878
879			(VPN services of type OpenVPN only) If non-empty,
880			use this port for both the local and remote.
881			See the "--port" option in the OpenVPN documentation.
882			The current value of this property is readable in the
883			"Provider" property of this service.
884
885		string OpenVPN.Proto [writeonly]
886
887			(VPN services of type OpenVPN only) If non-empty,
888			sets the protocol ("udp", "tcp-client", "tcp-server)
889			for the OpenVPN connection.  See the "--proto" option
890			in the OpenVPN documentation.  The current value of
891			this property is readable in the "Provider" property
892			of this service.
893
894		string OpenVPN.PushPeerInfo [writeonly]
895
896			(VPN services of type OpenVPN only) If non-empty,
897			specifies that client information should be pushed
898			to the server.  See the "--push-peer-info" option
899			in the OpenVPN documentation.  The current value of
900			this property is readable in the "Provider" property
901			of this service.
902
903		string OpenVPN.RemoteCertEKU [writeonly]
904
905			(VPN services of type OpenVPN only) Require that
906			the remote peer certificate be signed with the
907			specified extended key usage OID.  See the
908			"--remote-cert-eku" option in the OpenVPN
909			documentation.  The current value of this property
910			is readable in the "Provider" property of this service.
911
912		string OpenVPN.RemoteCertKU [writeonly]
913
914			(VPN services of type OpenVPN only) Require that
915			the remote peer certificate be signed with the
916			specified key usage in hex format.  See the
917			"--remote-cert-ku" option in the OpenVPN
918			documentation.  The current value of this property
919			is readable in the "Provider" property of this service.
920
921		string OpenVPN.RemoteCertTLS [writeonly]
922
923			(VPN services of type OpenVPN only) Require that
924			the remote peer certificate be signed with the
925			specified key usage and extend key usage based on
926			RFC3280 TLS rules.  See the "--remote-cert-tls" option
927			in the OpenVPN documentation.  The current value of
928			this property is readable in the "Provider" property
929			of this service.
930
931		string OpenVPN.RenegSec [writeonly]
932
933			(VPN services of type OpenVPN only) Specifies the
934			period (in seconds) to re-negotiate the data channel
935			key.  See the "--reneg-sec" option in the OpenVPN
936			documentation.  The current value of this property is
937			readable in the "Provider" property of this service.
938
939		string OpenVPN.ServerPollTimeout [writeonly]
940
941			(VPN services of type OpenVPN only) Specifies the
942			period (in seconds) to wait to for a response from
943			the server.  See the "--server-poll-timeout" option
944			in the OpenVPN documentation.  The current value of
945			this property is readable in the "Provider" property
946			of this service.
947
948		string OpenVPN.Shaper [writeonly]
949
950			(VPN services of type OpenVPN only) Restricts the
951			number of bytes per second to be output to the peer.
952			See the "--shaper" option in the OpenVPN documentation.
953			The current value of this property is readable in the
954			"Provider" property of this service.
955
956		string OpenVPN.StaticChallenge [writeonly]
957
958			(VPN services of type OpenVPN only) Enable static
959			challenge/response protocol.  See the
960			"--static-challenge" option in the OpenVPN
961			documentation.  The current value of this property
962			is readable in the "Provider" property of this service.
963
964		string OpenVPN.TLSAuth [writeonly]
965
966			(VPN services of type OpenVPN only) If non-empty,
967			passes this as the "--tls-auth" argument to OpenVPN.
968			The current value of this property is readable in the
969			"Provider" property of this service.
970
971		string OpenVPN.TLSAuthContents [writeonly]
972
973			(VPN services of type OpenVPN only) Creates a
974			temporary file with the contents of this property
975			and passes it to OpenVPN using the "--tls-auth"
976			option.  The current value of this property
977			is readable in the "Provider" property of this service.
978
979		string OpenVPN.TLSRemote [writeonly]
980
981			(VPN services of type OpenVPN only) Specifies
982			the only X509 name that is allowed for the peer.  See
983			the" --tls-remote" option in the OpenVPN
984			documentation.  The current value of this property
985			is readable in the "Provider" property of this service.
986
987		string OpenVPN.Token [writeonly]
988
989			(VPN services of type OpenVPN only) Specifies a
990			single-use token to be used during the static challenge
991			phase of authentication.  This will be used instead of
992			the standard OpenVPN "SCRV1:" response containing the
993			password and OTP parameters.  This is useful in
994			installations where the default base64 encoding may be
995			too large to fit in the buffer size available, and
996			server implementations have been changed to avoid this.
997			The connection manager only stores this value for the
998			duration of a connection attempt and will never persist
999			this to a stored profile.
1000
1001		string OpenVPN.User [writeonly]
1002
1003			(VPN services of type OpenVPN only) Specifies
1004			the username to be specified in authentication to
1005			the OpenVPN server.  The current value of this property
1006			is readable in the "Provider" property of this service.
1007
1008		string OpenVPN.Verb [writeonly]
1009
1010			(VPN services of type OpenVPN only) If non-empty,
1011			passes this as the "--verb" argument to OpenVPN,
1012			which sets the debug verbosity.  By default this
1013			value is set based on shill's debugging level for VPN.
1014			The current value of this property is readable in the
1015			"Provider" property of this service.
1016
1017		string OpenVPN.VerifyHash [writeonly]
1018
1019			(VPN services of type OpenVPN only) If non-empty,
1020			passes this as the "--verify-hash" argument to OpenVPN,
1021			which specifies the SHA1 fingerprint for level-1
1022			certificate.  The current value of this property is
1023			readable in the "Provider" property of this service.
1024
1025		string OpenVPN.VerifyX509Name [writeonly]
1026
1027			(VPN services of type OpenVPN only) If non-empty,
1028			passes this as the "--verify-x509-name" argument to
1029			OpenVPN, which specifies the X509 subject distinguished
1030			name we mandate the remote VPN server to have.  The
1031			current value of this property is readable in the
1032			"Provider" property of this service.
1033
1034		string OpenVPN.VerifyX509Type [writeonly]
1035
1036			(VPN services of type OpenVPN only) If non-empty,
1037			this string is passed as a second parameter to the
1038			"--verify-x509-name" flag sent to OpenVPN, which
1039			qualifies the type of parameter specified in the
1040			"OpenVPN.VerifyX509Name" property of this service.
1041			If the "OpenVPN.VerifyX509Name" property is unset or
1042			empty, setting this property has no effect during
1043			connection.  Please see the documentation of the
1044			"--verify-x509-name" flag in the OpenVPN documentation
1045			to better understand how these two parameters interact.
1046			The current value of this property is readable in the
1047			"Provider" property of this service.
1048
1049		int PPPoE.LCPEchoFailure
1050
1051			(PPPoE only) If set, the number of LCP echo responses
1052			that this service will tolerate missing from the PPP
1053			peer before terminating the connection.
1054
1055		int PPPoE.LCPEchoInterval
1056
1057			(PPPoE only) If set, used as the number of seconds
1058			between sending LCP echo requests to the PPP peer.
1059
1060		int PPPoE.MaxAuthFailure
1061
1062			(PPPoE only) The maximum number of authentication
1063			failures to allow before terminating the connection.  A
1064			value of 0 means no limit.  The default is 3.
1065
1066		string PPPoE.Password
1067
1068			(PPPoE only) This string is used as the password
1069			during authentication with a PPPoE server.  If empty,
1070			it will still be used during authentication if
1071			requested.
1072
1073		string PPPoE.Username
1074
1075			(PPPoE only) If non-empty, this string is used as the
1076			username during authentication with a PPPoE server.  If
1077			empty, it will still be used during authentication if
1078			requested.
1079
1080		string Passphrase [readwrite]
1081
1082			If the service type is "wifi", then this property
1083			holds a passphrase used in setting up services of
1084			type "wep", "wpa", "rsn", "psk", or a private
1085			key password used in setting up services of
1086			type "802_1x".
1087
1088			For "wep" services, this must contain the WEP
1089			key and, optionally, a key index.  Only 40-bit
1090			and 104-bit WEP keys are supported.  The WEP
1091			key can be formatted either as an ASCII string
1092			(5 or 13 characters), or as ASCII hex digits
1093			(10 or 26). When using ASCII hex digits, the
1094			key may optionally be preceded by "0x" or "0X".
1095			To specify an optional WEP key index, prepend
1096			the key with "0:", "1:", "2:" or "3:".  If no
1097			index is specified, 0 is used.
1098
1099			By default this property is not included in get
1100			requests.  It may be present if a non-default
1101			security policy is configured and the client has
1102			"read secret" privileges.
1103
1104			Note that no PropertyChanged signals are sent for
1105			this property. The PassphraseRequired property
1106			should be monitored instead.
1107
1108		boolean PassphraseRequired [readonly]
1109
1110			If the service type is "wifi", then this property
1111			indicates if a passphrase or key (for WEP) is required.
1112
1113			If a passphrase has been set already or if no
1114			passphrase is needed, then this property will
1115			be set to false.
1116
1117			UI clients may monitor this property for a
1118			PropertyChanged signals to prompt for a required
1119			passphrase or key.
1120
1121                        [We will be supporting this soon for VPN]
1122
1123		string PhysicalTechnology [readonly, optional]
1124
1125			If the service type is "vpn" and the service is
1126			connected, this property is present and exposes the
1127			Type property of the underliying physical service used.
1128			Otherwise the property is not present.
1129
1130		string PortalDetectionFailedPhase [readonly]
1131
1132			Indicates the phase that portal detection was in
1133			when it last failed.
1134
1135			Possible values:
1136
1137				DNS - During DNS lookup
1138				Connection - during the TCP connection setup
1139				HTTP - during the HTTP connection setup
1140				Content - The content of the HTTP response
1141				Unknown - Failure in an unknown step
1142
1143		string PortalDetectionFailedStatus [readonly]
1144
1145			Indicates the portal detection failure reason when
1146			it last failed.
1147
1148			Possible values:
1149
1150				Failure - The attempt failed at this phase
1151				Success - The attempt succeeded at this phase
1152				Timeout - The attempt timed out at this phase
1153
1154		string PreviousError [readonly]
1155
1156			The most recent service error status logged.  Even
1157			after the service leaves the failed state, this
1158			property retains the last value that the Error property
1159			contained.
1160
1161			Note that no PropertyChanged signals are sent for
1162			this property. The Error property should be monitored
1163			instead.
1164
1165		int32 PreviousErrorSerialNumber [readonly]
1166
1167			This number increases by one every time a service
1168			failure is logged.  It returns to zero if shill
1169			restarts.
1170
1171			Note that no PropertyChanged signals are sent for
1172			this property. The Error property should be monitored
1173			instead.
1174
1175		int32 Priority [readwrite]
1176
1177			An optional value used to calculate the priority order
1178			of this service.  Priorities are between 1 to 100.
1179			Services with priorities are sorted ahead of services
1180			without.  Services with the same priority are ordered
1181			by other means such as service type signal strength
1182			or technology.
1183
1184			By default services are not assigned a priority;
1185			clients must set one if they desire.  To remove an
1186			existing priority use the ClearProperty method.
1187
1188		int32 PriorityWithinTechnology [readwrite]
1189
1190			An optional value used to calculate the priority order
1191			of this service.  Priorities are between 1 to 100.
1192			Services with priorities are sorted ahead of services
1193			without.  Services with the same priority are ordered
1194			by other means such as service type and signal
1195			strength, but notably not technology.  This property
1196			can be used instead of the Priority property when
1197			the intent is to rank the service relative to other
1198			services of the same technology.
1199
1200			By default services are not assigned a priority;
1201			clients must set one if they desire.  To remove an
1202			existing priority use the ClearProperty method.
1203
1204		string Profile [readwrite]
1205
1206			The object path of the associated Profile object.
1207			This may not be present or may be empty if the Service
1208			object has not been written to a profile yet.
1209
1210		string ProxyConfig [readwrite]
1211
1212			An externalized json dictionary describing the proxy
1213                        configuration that can be stored on the service, and
1214                        modified by a user.
1215			Flimflam does not use this information for anything,
1216			but it is left available to the caller, and stored
1217			persistently.
1218			This property may be set by any client and will be
1219                        adopted by chrome during run-time.  If syntax of the
1220                        value is wrong, chrome will ignore this property during
1221                        runtime.
1222                        The value of this property is a string -> string
1223                        dictionary that includes the following keys. The final
1224                        string is a comma separated list of key-value pairs
1225                        enclosed by "{" and "}"; syntax of a key-value pair is:
1226                        <key>":"<value>. Example:
1227                        {"mode":"fixed-servers","server":"http=foopy:80"}
1228
1229			"mode"
1230                            type of proxy that can be one of:
1231                            "direct" --
1232                              direct connection to network, other preferences
1233                              are ignored
1234                            "auto_detect" --
1235                              try to retrieve a PAC script from
1236                              http://wpad/wpad.dat or fall back to direct
1237                              connection
1238                            "pac_script" --
1239                              try to retrieve PAC script specified for "pac_url"
1240                              (see below) or fall back to direct connection
1241                            "fixed_servers" --
1242                              manual configuration of one or more servers
1243                              to be used as proxy
1244
1245			"pac_url"
1246                            URL for proxy .pac file (meaningful only if mode=
1247                            pac_script); scheme of URL must be specified
1248
1249			"pac_mandatory"
1250                            indciate if a valid PAC script is mandatory
1251                            (meaningful only if mode=pac_script);
1252                            value is either true or false (without quotes), e.g.
1253                            "pac_mandatory":true;
1254                            if true, network traffic does not fall back to
1255                            direct connections in case the PAC script is not
1256                            available
1257
1258			"server"
1259                            proxy server for manual configuration (meaningful
1260                            only if mode=fixed-servers); syntax is
1261                            [<proxy-scheme>"://"]<proxy-host>[":"<proxy-port>];
1262                            if the proxy to use depends on the scheme of the
1263                            URL, specify a semicolon separated list of :
1264                            <url-scheme>"="<proxy-uri>
1265                            for example:
1266                            - "http=foopy:80;ftp=foopy2" --
1267                              use HTTP proxy "foopy:80" for http:// URLs, and
1268                              HTTP proxy "foopy2:80" for ftp:// URLS
1269                            - "foopy:80" -- use HTTP proxy "foopy:80" for all
1270                              URLs
1271                            - "socks4://foopy" --
1272                              use SOCKS v4 proxy "foopy:80" for all URLs
1273
1274			"bypass_list"
1275                            proxy bypass rules for manual configuration
1276                            (meaningful only if mode=fixed-servers); format
1277                            can be any one of the following:
1278                            1) [<url_scheme>"://"]<hostname_pattern>[":"<port>]
1279                               Match all hostnames that match the pattern
1280                               hostname_pattern which can be a substring of the
1281                               hostname with asterisks.
1282                               Examples: "foobar.com", "*foobar.com",
1283                               "*.foobar.com", "*foobar.com:99",
1284                               "https://x.*.y.com:99"
1285                            2) "."<hostname_suffix_pattern>[":"<port>]
1286                               Match a particular domain suffix.
1287                               Examples: ".google.com", ".com",
1288                               "http://.google.com"
1289                            3) [<scheme>"://"]<ip_literal>[":"<port>]
1290                               Match URLs that are IP address literals.
1291                               Conceptually this is the similar to (1), but with
1292                               special cases to handle IP literal
1293                               canonicalization. For example matching on
1294                               "[0:0:0::1]" would be the same as matching on
1295                               "[::1]" since the IPv6 canonicalization is done
1296                               internally.
1297                               Examples: "127.0.1", "[0:0::1]", "[::1]",
1298                               "http://[::1]:99"
1299                            4) <ip_literal>"/"<prefix_length_in_bits>
1300                               Match any URL that is to an IP literal that falls
1301                               in the given range. IP range is specified using
1302                               CIDR notation.
1303                               Examples: "192.168.1.1/16", "fefe:13::abc/33".
1304                            5)  "<local>"
1305                                Match local addresses; this is a literal string.
1306                                "<local>" matches one of: "127.0.0.1", "::1",
1307                                "localhost".
1308
1309		dict Provider [readonly]
1310
1311			(VPN only) Provider data.  The Provider is a container
1312			which reports all of the VPN-specific properties of a
1313			service.
1314
1315			string Host [readonly]
1316				VPN host IP address.
1317			string Type [readonly]
1318				VPN provider type (e.g. openvpn).
1319
1320		string Provider.Host [writeonly]
1321
1322			(VPN only) Host name of the VPN server.  The current
1323			value of this property is readable in the "Provider"
1324			property of this service.
1325
1326		string Provider.Name [writeonly]
1327
1328			(VPN only) The name assigned to this VPN service.  The
1329			current value of this property is readable in the
1330			"Provider" property of this service.
1331
1332		string Provider.Type [writeonly]
1333
1334			(VPN only) The type of VPN service.  This value is
1335			only settable when creating this service (via the
1336			Manager GetService or ConfigureService methods).  The
1337			current value of this property is readable in the
1338			"Provider" property of this service.
1339
1340		boolean SaveCredentials [readwrite]
1341
1342			This property indicates if security credentials
1343			should be reused and/or written to stable storage.
1344			Setting this property to FALSE ensures nothing is
1345			recorded and the client must supply credentials
1346			for each Connect request.
1347
1348			The following credentials are not recorded when
1349			this property is set to FALSE:
1350
1351			Passphrase
1352			EAP.Identity
1353			EAP.AnonymousIdentity
1354			EAP.ClientCert
1355			EAP.CertID
1356			EAP.PrivateKey
1357			EAP.PrivateKeyPassword
1358			EAP.KeyID
1359			EAP.PIN
1360			EAP.Password
1361
1362			Note that no PropertyChanged signals are sent for
1363			this property.
1364
1365		string Security [readonly]
1366
1367			If the service type is "wifi", then this property is
1368			present and contains the security method or key
1369			management setting.
1370
1371			Possible values are: "none" (no privacy),
1372			"wep" (fixed key WEP), "wpa" (WPA-PSK), "rsn"
1373			(IEEE 802.11i-PSK), "psk" (either "wpa" or "rsn"),
1374			and "802_1x" (IEEE 802.11i with 802.1x authentication).
1375
1376			This property is only present for WiFi services.
1377
1378		string SecurityClass [readonly]
1379
1380			If the service type is "wifi", then this property is
1381			present and contains the security class of the service.
1382			The security class groups together WPA and WPA-2 networks,
1383			to allow for seamless roaming between them.
1384
1385			Possible values are: "none" (no privacy),
1386			"wep" (fixed key WEP), "psk" (WPA-PSK or IEEE 802.11i-PSK),
1387			and "802_1x" (IEEE 802.11i with 802.1x authentication).
1388
1389			This property is only present for WiFi services.
1390
1391		string State [readonly]
1392
1393			The state of the service; one of:
1394
1395			"idle"		The service is not enabled or otherwise
1396					operational.
1397
1398			"association"	Intermediate states associated with
1399					connection-based devices such as WiFi
1400					and Cellular.  These are exposed for
1401					UI applications to provide more
1402					fine-grained status.
1403
1404			"configuration"	Layer 2 is setup but Layer 3 setup
1405					has yet to completed.
1406
1407			"ready"		Layer 3 setup is complete; ready to
1408					transit and receive data.
1409
1410			"portal"	Layer 3 setup is complete but
1411					connectivity to the Internet may be
1412					limited or unavailable.
1413
1414			"online"	Layer 3 setup is complete and an
1415					Internet connection has been checked
1416					to support HTTP access to the
1417					Manager.PortalURL site.
1418
1419			"failure"	An error occurred while trying to
1420					reach the "ready" state. Consult the
1421					Error propery for details.
1422
1423		string StaticIP.Address [readwrite]
1424		string StaticIP.Gateway [readwrite]
1425		int32 StaticIP.Mtu [readwrite]
1426		string StaticIP.NameServers [readwrite]
1427		string StaticIP.PeerAddress [readwrite]
1428		int32 StaticIP.Prefixlen [readwrite]
1429
1430			[Deprecated] The properties above are deprecated in
1431			favor of StaticIPConfig property.
1432
1433			The properties above can be set on a service to
1434			selectively override individual parameters received
1435			over DHCP or whatever default IP aquisition technique
1436			is used by the service.  The "StaticIP.NameServers"
1437			property should be a comma-separated list of IP
1438			addresses.
1439
1440			Additionally, in services that use DHCP, if the
1441			"StaticIP.Address" and "StaticIP.Prefixlen"
1442			parameters are both set on a service, the service
1443			will be configured as soon as a link is established,
1444			in order to allow full static IP configuration.  A
1445			DHCP client will be launched in parallel, which, if
1446			successful, will provide values for any parameters
1447			that were not set statically.
1448
1449			The IPConfig associated with the service (object
1450			path supplied in the "IPConfig" property above)
1451			will display the result of the merged network
1452			parameters.
1453
1454		string SavedIP.Address [readonly]
1455		string SavedIP.Gateway [readonly]
1456		int32 SavedIP.Mtu [readonly]
1457		string SavedIP.NameServers [readonly]
1458		string SavedIP.PeerAddress [readonly]
1459		int32 SavedIP.Prefixlen [readonly]
1460
1461			[Deprecated] The properties above are deprecated in
1462			favor of SavedIPConfig property.
1463
1464			The properties above are set on a service to present
1465			the configuration that was recieved from the DHCP
1466			server prior to applying any "StaticIP.*" parameters
1467			during the most recent connection attempt.  All
1468			parameters are saved regardless of whether they were
1469			overridden.
1470
1471			Note that if a "StaticIP.*" parameter is set on
1472			a service, but the service has not been re-connected,
1473			the IPConfig object will still contain the true
1474			value that the interface is set to.
1475
1476		dict StaticIPConfig [readwrite]
1477
1478			A dictionary of static IP configuration parameters
1479			used to selectively override individual parameters
1480			received over DHCP or whatever default IP aquisition
1481			technique is used by the service.
1482
1483			Additionally, in services that use DHCP, if the
1484			"Address" and "Prefixlen" fields are both set in the
1485			dictionary, the service will be configured as soon as
1486			a link is established, in order to allow full static
1487			IP configuration.  A DHCP client will be launched in
1488			parallel, which, if successful, will provide values for
1489			any parameters that were not set statically.
1490
1491			The IPConfig associated with the service (object
1492			path supplied in the "IPConfig" property above)
1493			will display the result of the merged network
1494			parameters.
1495
1496			Here are the expected keys within the dict:
1497				string Address
1498				string Gateway
1499				int32 Mtu
1500				array{string} NameServers
1501				string PeerAddress
1502				int32 Prefixlen
1503
1504		dict SavedIPConfig [readonly]
1505
1506			This property present a dictionary of the IP config
1507			that was received from the DHCP server prior to
1508			applying any static IP parameters during the most
1509			recent connection attempt. All parameters are saved
1510			regardless of whether they were overridden.
1511
1512			Note that if a static IP parameter is set on
1513			a service, but the service has not been re-connected,
1514			the IPConfig object will still contain the true
1515			value that the interface is set to.
1516
1517			Here are the expected keys within the dict:
1518				string Address
1519				string Gateway
1520				int32 Mtu
1521				array{string} NameServers
1522				string PeerAddress
1523				int32 Prefixlen
1524
1525		uint8 Strength [readonly]
1526
1527			Indicates the signal strength of the service. This
1528			is a normalized value between 0 and 100.
1529
1530			This property will not be present for Ethernet
1531			devices.
1532
1533		string Tethering [readonly]
1534
1535			Returns a string that indicates an estimate of
1536			whether the service is likely to be providing
1537			internet connectivity over a mobile network backhaul.
1538			The possible values of this string are:
1539
1540				NotDetected: Tethering is not detected.
1541				Suspected: Something in the network scan
1542					provides circumstantial evidence
1543					that this service is tethered.
1544				Confirmed: Some definitive evidence has
1545					been discovered that indicates
1546					either this service is tethered
1547					or the server is overtly pretending
1548					to be tethered.
1549
1550			This property is only visible in service types
1551			which can support tethering.  Currently only
1552			Ethernet and WiFi services support this property
1553			directly.  VPN services make this property visible
1554			if the service they're using for connectivity does
1555			(i.e., if VPN connectivity is gained via Ethernet
1556			or WiFi).
1557
1558		string Type [readonly]
1559
1560			The service type; one of:
1561			  "ethernet"    (802.3 wired Ethernet),
1562			  "wifi"        (IEEE 802.11),
1563			  "wimax"       (IEEE 802.16),
1564			  "bluetooth"   (Bluetooth PAN),
1565			  "cellular"    (3G Cellular), or
1566			  "vpn"         (Virtual Private Network).
1567
1568			This information should only be used to determine
1569			advanced properties or showing the correct icon
1570			to the user.
1571
1572		string UIData [readwrite]
1573
1574			This is additional data available about this service
1575			for use by the user interface.  This value is opaque
1576			and not used by shill.
1577
1578		bool Visible [readonly]
1579
1580			WiMax and WiFi services list all services for which
1581			configuration exists in the manager's
1582			ServiceCompleteList.  Those service types have this
1583			property set to false if such a configured service
1584			is not actually in range.  For all other services
1585			(including all other service types) this property
1586			is always true.
1587
1588		string WiFi.AuthMode [readonly]
1589
1590			(WiFi only) If the service state is
1591			"configuration" or "ready", then this property
1592			will be present and contains the negotiated
1593			authentication method.
1594
1595			There are too many possible values to enumerate here.
1596			The complete set depends on the capabilities of the
1597			associated WiFi supplicant.
1598
1599		string WiFi.BSSID [readonly]
1600
1601			(WiFi only) The BSSID of the associated AP.
1602			One can monitor this property for PropertyChanged
1603			signals to identify when roaming changes the
1604			current AP.
1605
1606			The BSSID is formatted as colon-separated octets.
1607			E.g. "00:01:02:03:04:05".
1608
1609		boolean WiFi.HiddenSSID [readwrite]
1610
1611			(WiFi only) If true, the associated WiFi network
1612			does not broadcast its SSID in beacon frames.
1613			This property instructs shill to actively scan
1614			for this SSID.  This value is cleared when this
1615			service is removed from all active profiles.
1616
1617		uint16 WiFi.Frequency [readonly]
1618
1619			(WiFi only) The operating frequency in MHz of
1620			the Service. If the Service is connected, this
1621			is the frequency on which it is connected.
1622			Otherwise, this is the frequency of the best
1623			available BSS (roughly, AP) for this Service.
1624
1625		array{uint16} WiFi.FrequencyList [readonly]
1626
1627			(WiFi only) The operating frequencies in MHz of
1628			the Service. This lists all of the frequencies
1629			where this Service has recently been seen.
1630
1631			This list is not necessarily complete, as:
1632			a) not all scans check every channel,
1633			b) an AP may not have responded in time, and
1634			c) some scan results may have expired from the
1635                           cache.
1636
1637		string WiFi.PhyMode [readonly]
1638
1639			(WiFi only) If the service state is
1640			"configuration" or "ready", then this property
1641			will be present and contains the negotiated
1642			operating mode for the channel.  Possible values
1643			include "802.11a", "802.11b", "802.11g",
1644			"802.11n".  This value is for informational
1645			purposes only.
1646
1647		string WiFi.HexSSID [readonly]
1648
1649			(WiFi only) This property holds a hex-encoded copy
1650			of the SSID.  Since the Name property is enforced
1651			by the D-Bus protocol to be a valid UTF-8 string
1652			but SSIDs can be an abitrary sequence of bytes, this
1653			property will always contain the true value of the
1654			SSID, while the Name property may differ from the
1655			true representation.
1656
1657			See also the Name property. (Note that there is
1658			no SSID property for reasons explained above.)
1659
1660		string WiFi.SSID [readonly]
1661
1662			(WiFi only) The service's SSID. Must have a non-zero
1663			length less than or equal to 32.
1664
1665		bool WiFi.ProtectedManagementFrameRequired [readonly]
1666
1667			(WiFi only) This property indicates whether an AP for
1668			this service has been seen that requires 802.11w
1669			(Protected Management Frame) support.
1670
1671		dict WiFi.VendorInformation [readonly]
1672
1673			(WiFi only) Information about the vendor of the
1674			AP, gleaned from WPS and vendor-specific information
1675			elements in the beacon and probe respondss.
1676
1677			string Manufacturer [readonly]
1678				Device manufacturer name as supplied by WPS IE.
1679			string ModelName [readonly]
1680				Device model name as supplied by WPS IE.
1681			string ModelNumber [readonly]
1682				Device model number as supplied by WPS IE.
1683			string DeviceName [readonly]
1684				Device name as supplied by WPS IE.
1685			string OUIList [readonly]
1686				Space separated list of OUI identifiers for
1687				vendor-specific IEs that were neither the
1688				Microsoft nor Epigram identifiers (the former
1689				two are used for platform-neutral information).
1690
1691		uint16 WiFi.RoamThreshold [readwrite]
1692
1693			(WiFi only) The roam threshold is the AP
1694			signal-to-noise value (in dB) below which
1695			wpa_supplicant will attempt to roam to a new AP.
1696			This per-service RoamThreshold property overrides
1697			the WiFi device-wide RoamThreshold set through the
1698			device DBus API. Changes to this property will only
1699			take effect on the next time the WiFi device connects
1700			to this service.
1701