#include <config.h>
Public Attributes | |
int | ap_scan |
struct wpa_config_blob * | blobs |
unsigned int | bss_max_count |
char * | config_methods |
char | country [2] |
char * | ctrl_interface |
char * | ctrl_interface_group |
char * | device_name |
char * | device_type |
unsigned int | dot11RSNAConfigPMKLifetime |
unsigned int | dot11RSNAConfigPMKReauthThreshold |
unsigned int | dot11RSNAConfigSATimeout |
char * | driver_param |
int | eapol_version |
int | fast_reauth |
int | filter_ssids |
char * | manufacturer |
char * | model_name |
char * | model_number |
int | num_prio |
char * | opensc_engine_path |
u8 | os_version [4] |
char * | pkcs11_engine_path |
char * | pkcs11_module_path |
struct wpa_ssid ** | pssid |
char * | serial_number |
struct wpa_ssid * | ssid |
int | update_config |
u8 | uuid [16] |
int | wps_cred_processing |
struct wpa_config - wpa_supplicant configuration data
This data structure is presents the per-interface (radio) configuration data. In many cases, there is only one struct wpa_config instance, but if more than one network interface is being controlled, one instance is used for each.
ap_scan - AP scanning/selection
By default, wpa_supplicant requests driver to perform AP scanning and then uses the scan results to select a suitable AP. Another alternative is to allow the driver to take care of AP scanning and selection and use wpa_supplicant just to process EAPOL frames based on IEEE 802.11 association information from the driver.
1: wpa_supplicant initiates scanning and AP selection (default).
0: Driver takes care of scanning, AP selection, and IEEE 802.11 association parameters (e.g., WPA IE generation); this mode can also be used with non-WPA drivers when using IEEE 802.1X mode; do not try to associate with APs (i.e., external program needs to control association). This mode must also be used when using wired Ethernet drivers.
2: like 0, but associate with APs using security policy and SSID (but not BSSID); this can be used, e.g., with ndiswrapper and NDIS drivers to enable operation with hidden SSIDs and optimized roaming; in this mode, the network blocks in the configuration are tried one by one until the driver reports successful association; each network block should have explicit security policy (i.e., only one option in the lists) for key_mgmt, pairwise, group, proto variables.
struct wpa_config_blob* wpa_config::blobs |
unsigned int wpa_config::bss_max_count |
config_methods - Config Methods
This is a space-separated list of supported WPS configuration methods. For example, "label display push_button keypad". Available methods: usba ethernet label display ext_nfc_token int_nfc_token nfc_interface push_button keypad.
char wpa_config::country[2] |
ctrl_interface - Parameters for the control interface
If this is specified, wpa_supplicant will open a control interface that is available for external programs to manage wpa_supplicant. The meaning of this string depends on which control interface mechanism is used. For all cases, the existance of this parameter in configuration is used to determine whether the control interface is enabled.
For UNIX domain sockets (default on Linux and BSD): This is a directory that will be created for UNIX domain sockets for listening to requests from external programs (CLI/GUI, etc.) for status information and configuration. The socket file will be named based on the interface name, so multiple wpa_supplicant processes can be run at the same time if more than one interface is used. /var/run/wpa_supplicant is the recommended directory for sockets and by default, wpa_cli will use it when trying to connect with wpa_supplicant.
Access control for the control interface can be configured by setting the directory to allow only members of a group to use sockets. This way, it is possible to run wpa_supplicant as root (since it needs to change network configuration and open raw sockets) and still allow GUI/CLI components to be run as non-root users. However, since the control interface can be used to change the network configuration, this access needs to be protected in many cases. By default, wpa_supplicant is configured to use gid 0 (root). If you want to allow non-root users to use the control interface, add a new group and change this value to match with that group. Add users that should have control interface access to this group.
When configuring both the directory and group, use following format: DIR=/var/run/wpa_supplicant GROUP=wheel DIR=/var/run/wpa_supplicant GROUP=0 (group can be either group name or gid)
For UDP connections (default on Windows): The value will be ignored. This variable is just used to select that the control interface is to be created. The value can be set to, e.g., udp (ctrl_interface=udp).
For Windows Named Pipe: This value can be used to set the security descriptor for controlling access to the control interface. Security descriptor can be set using Security Descriptor String Format (see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/secauthz/security/security_descriptor_string_format.asp). The descriptor string needs to be prefixed with SDDL=. For example, ctrl_interface=SDDL=D: would set an empty DACL (which will reject all connections).
char* wpa_config::device_name |
char* wpa_config::device_type |
device_type - Primary Device Type (WPS) Used format: categ-OUI-subcateg categ = Category as an integer value OUI = OUI and type octet as a 4-octet hex-encoded value; 0050F204 for default WPS OUI subcateg = OUI-specific Sub Category as an integer value Examples: 1-0050F204-1 (Computer / PC) 1-0050F204-2 (Computer / Server) 5-0050F204-1 (Storage / NAS) 6-0050F204-1 (Network Infrastructure / AP)
unsigned int wpa_config::dot11RSNAConfigPMKLifetime |
unsigned int wpa_config::dot11RSNAConfigPMKReauthThreshold |
unsigned int wpa_config::dot11RSNAConfigSATimeout |
char* wpa_config::driver_param |
driver_param - Driver interface parameters
This text string is passed to the selected driver interface with the optional struct wpa_driver_ops::set_param() handler. This can be used to configure driver specific options without having to add new driver interface functionality.
eapol_version - IEEE 802.1X/EAPOL version number
wpa_supplicant is implemented based on IEEE Std 802.1X-2004 which defines EAPOL version 2. However, there are many APs that do not handle the new version number correctly (they seem to drop the frames completely). In order to make wpa_supplicant interoperate with these APs, the version number is set to 1 by default. This configuration value can be used to set it to the new version (2).
fast_reauth - EAP fast re-authentication (session resumption)
By default, fast re-authentication is enabled for all EAP methods that support it. This variable can be used to disable fast re-authentication (by setting fast_reauth=0). Normally, there is no need to disable fast re-authentication.
char* wpa_config::manufacturer |
char* wpa_config::model_name |
char* wpa_config::model_number |
u8 wpa_config::os_version[4] |
struct wpa_ssid** wpa_config::pssid |
struct wpa_ssid* wpa_config::ssid |
update_config - Is wpa_supplicant allowed to update configuration
This variable control whether wpa_supplicant is allow to re-write its configuration with wpa_config_write(). If this is zero, configuration data is only changed in memory and the external data is not overriden. If this is non-zero, wpa_supplicant will update the configuration data (e.g., a file) whenever configuration is changed. This update may replace the old configuration which can remove comments from it in case of a text file configuration.
u8 wpa_config::uuid[16] |
wps_cred_processing - Credential processing
0 = process received credentials internally 1 = do not process received credentials; just pass them over ctrl_iface to external program(s) 2 = process received credentials internally and pass them over ctrl_iface to external program(s)