NAME
Config::Apple::Profile::Payload::Wi-Fi - Class for the Wi-Fi payload type.
DESCRIPTION
This class implements the Wi-Fi payload.
INSTANCE METHODS
The following instance methods are provided by this class.
validate_key($key, $value)
Performs additional validation for certain payload keys in this class:
EncryptionType
Only
WEP
,WPA
,Any
, andNone
are accepted as values.MCCAndMNCs
Only six-digit numbers are accepted.
ProxyPort
This must be a number within the range 1 to 65,535, inclusive.
This is done in addition to the validation performed by the parent class.
See also the documentation in Config::Apple::Profile::Payload::Common.
PAYLOAD KEYS
All of the payload keys defined in Config::Apple::Profile::Payload::Common are used by this payload.
This payload has the following additional keys:
General Configuration
SSID_STR
A string, this is the SSID (the name) of the Wi-Fi network.
HIDDEN_NETWORK
Optional
If true
, this Wi-Fi network does not broadcast itself, meaning that the SSID and encryption information must be specified in this configuration.
Defaults to false
.
AutoJoin
Optional
If true
, the device will automatically join the Wi-Fi network if it is detected. If the device sees multiple Wi-Fi networks that have auto-join enabled, only one Wi-Fi network will be joined.
Defaults to true
.
EncryptionType
A string. The type of encryption to support. Valid values are Any
, None
, WEP
, and WPA
. WPA
includes WPA and WPA2, the -Personal and -Enterprise versions.
The encryption type specified must exactly match what is configured on the access point. For maximum flexibility, with the higher possibility of connecting to an unexpected access point, use the value Any
.
Encryption Configuration
EAPClientConfiguration
Optional, for use with WPA- and WPA2-Enterprise encryption.
An object of the class Config::Apple::Profile::Payload::WiFi::EAPClientConfiguration
. This object becomes a dict containing the list of supported EAP types and all other EAP-related configuration, except for a password or identity certificate.
See Config::Apple::Profile::Payload::WiFi::EAPClientConfiguration.
Password
Optional
A string. If password-based authentication is used (such as WEP, WPA-Personal, WPA2-Personal, or -Enterprise with a password-based EAP), this is the password to use. If no other authentication methods are available, the user may be prompted for a password.
PayloadCertificateUUID
Optional, for use with WPA- and WPA2-Enterprise encryption and EAP-TLS.
A UUID. This is the UUID of an identity certificate that has already been loaded onto the device, using a payload class of type Config::Apple::Profile::Payload::Certificate::PKCS12
. The identity certificate may be included in the same configuration profile, or in a previously-installed profile.
See Config::Apple::Profile::Payload::Certificate::PKCS12.
Hotspot Configuration
The payload keys in this section refer to Hotspot 2.0, also known as Wi-Fi CERTIFIED Passpoint. More information on Hotspot 2.0 is available here:
- http://www.wi-fi.org/discover-wi-fi/wi-fi-certified-passpoint
- http://en.wikipedia.org/wiki/Hotspot_(Wi-Fi)#Hotspot_2.0
IsHotspot
Optional. Available in iOS starting with iOS 7.0.
A boolean. If true
, this Wi-Fi network is treated as a hotspot.
Default is false
.
DomainName
Optional. Available in iOS starting with iOS 7.0.
A string. The domain name used in Hotspot 2.0 negotiation.
If this payload key is present, the SSID_STR
payload key may be omitted.
ServiceProviderRoamingEnabled
Optional. Available in iOS starting with iOS 7.0.
A boolean. Used in Hotspot 2.0 negotation. If true
, connection is allowed to roaming service providers.
The default value is not specified in the documentation (see issue #13).
RoamingConsortiumOIs
Optional. Available in iOS starting with iOS 7.0.
An array of strings. Used in Hotspot 2.0 negotation, this is a list of Roaming Consortium Organization Identifiers.
NAIRealmNames
Optional. Available in iOS starting with iOS 7.0.
An array of strings. Used in Hotspot 2.0 negotiation, this is a list of Network Access Identifier Realm names.
MCCAndMNCs
Optional. Available in iOS starting with iOS 7.0.
An array of strings, where each string must be a six-digit number. Used in Hotspot 2.0 negotiation, the first three digits of the string are the Mobile Country Code (MCC) and the last three digits of the string are the Mobile Network Code (MNC).
NOTE: This is not an array of numbers, this is an array of strings. That being said, thanks to the way Perl handles scalars, and how the pushed values are validated, you can provide a six-digit number and it may be accepted. If your MCC has any leading zeroes, though, treating it as a number will cause a validation failure.
DisplayedOperatorName
Presumed Optional. Available in iOS starting with iOS 7.0.
A string. No description is available (see issue #11).
Proxy Configuration
ProxyType
Optional.
A string. Valid values are None
, Manual
, and Auto
.
ProxyServer
A string. The proxy server's network address.
ProxyPort
A number. The proxy server's port.
ProxyUsername
Optional.
A string. The username to use when authenticating to the proxy server.
ProxyPassword
Optional.
A string. The password to use when authenticating to the proxy server.
ProxyPACURL
Optional.
A string. The URL of the PAC file containing the proxy configuration.
ProxyPACFallbackAllowed
Optional.
A boolean. If the PAC file can not be loaded, and this payload key is false
, then this Wi-Fi connection will not be used. If true
, the device will attempt to connect directly to the destination.
Defaults to true
.
ACKNOWLEDGEMENTS
Refer to Config::Apple::Profile for acknowledgements.
AUTHOR
A. Karl Kornel, <karl at kornel.us>
COPYRIGHT AND LICENSE
Copyright © 2014 A. Karl Kornel.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.