path: root/wpa_supplicant/wpas_glue.c
Commit message (Collapse)AuthorAgeFilesLines
* EAP peer: Add framework for external SIM/USIM processingJouni Malinen2013-10-201-0/+5
| | | | | | | | | | | | | | The new configuration parameter external_sim=<0/1> can now be used to configure wpa_supplicant to use external SIM/USIM processing (e.g., GSM authentication for EAP-SIM or UMTS authentication for EAP-AKA). The requests and responses for such operations are sent over the ctrl_iface CTRL-REQ-SIM and CTRL-RSP-SIM commands similarly to the existing password query mechanism. Changes to the EAP methods to use this new mechanism will be added in separate commits. Signed-hostap: Jouni Malinen <j@w1.fi>
* Remove compiler warnings if TDLS is enabled without WPA2Jouni Malinen2013-06-071-2/+2
| | | | Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* Add test code for fetching the last configured GTKJouni Malinen2013-05-201-0/+7
| | | | | | | | | | | | This can be useful for some test cases, so allow wpa_supplicant to be built with special test functionality to expose the current (last configured) GTK. This is disabled by default and can be enabled by adding following line into .config: CFLAGS += -DCONFIG_TESTING_GET_GTK The GTK can then be fetched with "wpa_cli get gtk". Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* TDLS: Move AID=1 workaround into driver_nl80211.cJouni Malinen2013-05-061-1/+1
| | | | | | | | The use of AID=1 for the nl80211 dummy STA case is specific to the driver (cfg80211), so better move this into the driver wrapper instead of generic TDLS implementation. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* TDLS: Pass peer's AID information to kernelSunil Dutt2013-05-061-2/+2
| | | | | | | | | The information of the peer's AID is required for the driver to construct partial AID in VHT PPDU's. Pass this information to the driver during add/set station operations (well, as soon as the information is available, i.e., with set station operation currently). Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* Fix build with CONFIG_NO_CONFIG_BLOBSJouni Malinen2013-03-161-0/+2
| | | | Signed-hostap: Jouni Malinen <j@w1.fi>
* TDLS: Pass peer's VHT Capability information during sta_addSunil Dutt2013-02-251-0/+2
| | | | | | | | | The information of the peer's VHT capability is required for the driver to establish a TDLS link in VHT mode with a compatible peer. Pass this information to the driver when the peer station is getting added. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* TDLS: Pass peer's Capability and Ext Capability info during sta_addSunil Dutt2013-02-141-1/+3
| | | | | | | | | The contents of the peer's capability and extended capability information is required for the driver to perform TDLS P-UAPSD and Off Channel operations. Pass this information to the driver when the peer station is getting added. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* TDLS: Pass peer's HT Capability and QOS information during sta_addSunil Dutt2013-02-141-2/+13
| | | | | | | | The information of the peer's HT capability and the QOS information is required for the driver to perform TDLS operations. Pass this information to the driver when the peer station is getting added. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* TDLS: Fix add/set STA operationJouni Malinen2013-02-141-0/+2
| | | | | | | | | | | Commit a9a1d0f08aaf7c96f40def0d7966399b89b2a7c0 added vht_capabilities to struct hostapd_sta_add_params but forgot to update wpa_supplicant_tdls_peer_addset() to initialize the variable to NULL. This could result in uninitialized pointer being used in driver_nl80211.c when adding a TDLS peer entry. Fix this by clearing the hostapd_sta_add_params with memset. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* wpa_supplicant: Add more DBus EAP statusPaul Stewart2013-01-121-0/+2
| | | | | | | Signal the start of EAP authentication as well as when additional credentials are required to complete. Signed-hostap: Paul Stewart <pstew@chromium.org>
* Remove compiler warning on CONFIG_NO_WPA buildJouni Malinen2012-12-181-0/+2
| | | | | | | wpa_supplicant_set_rekey_offload() is used only if CONFIG_NO_WPA is not defined. Signed-hostap: Jouni Malinen <j@w1.fi>
* Allow OKC to be enabled by defaultJouni Malinen2012-11-121-1/+2
| | | | | | | | | | | Previously, OKC (opportunistic key caching, a.k.a. proactive key caching) could be enabled only with a per-network parameter (proactive_key_caching). The new global parameter (okc) can now be used to change the default behavior to be OKC enabled (okc=1) for network blocks that do not override this with the proactive_key_caching parameter. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* Remove unused wpa_supplicant_disassociate()Jouni Malinen2012-11-051-9/+0
| | | | | | | | This function is now unused after the last couple of commits that removed the last uses, so remove this to keep code simpler since all places that disassociate, can use deauthentication instead. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* EAP-SIM/AKA: Store pseudonym identity in configurationJouni Malinen2012-09-021-1/+40
| | | | | | | | Use the anonymous_identity field to store EAP-SIM/AKA pseudonym identity so that this can be maintained between EAP sessions (e.g., after wpa_supplicant restart) even if fast re-authentication data was cleared. Signed-hostap: Jouni Malinen <j@w1.fi>
* wpa_supplicant: Report EAP connection progress to DBusPaul Stewart2012-06-041-0/+10
| | | | | | | | | | | | | | | | | | | | | Send an "EAP" signal via the new DBus interface under various conditions during EAP authentication: - During method selection (ACK and NAK) - During certificate verification - While sending and receiving TLS alert messages - EAP success and failure messages This provides DBus callers a number of new tools: - The ability to probe an AP for available EAP methods (given an identity). - The ability to identify why the remote certificate was not verified. - The ability to identify why the remote peer refused a TLS connection. Signed-hostap: Paul Stewart <pstew@chromium.org>
* Remove the GPL notification from files contributed by Jouni MalinenJouni Malinen2012-02-111-8/+2
| | | | | | | Remove the GPL notification text from the files that were initially contributed by myself. Signed-hostap: Jouni Malinen <j@w1.fi>
* Add wpa_supplicant_ctrl_req_from_string()Dan Williams2011-10-301-0/+18
| | | | | | | | Converts from a string to a control request enum when input from a control interface is received. Will be used by a subsequent patch. Signed-off-by: Dan Williams <dcbw@redhat.com>
* dbus: Implement EAP SM control request signalsDan Williams2011-10-301-0/+2
| | | | | | | | | Add a D-Bus signal for EAP SM requests. This signal is emitted on the Interface object so that clients only have to listen to one object for requests rather than to all network objects. This signal is analogous to the socket control interface's CTRL-REQ- request. Signed-off-by: Dan Williams <dcbw@redhat.com>
* Use an enum for EAP SM requestsDan Williams2011-10-301-3/+58
| | | | | | | | | | | Control requests will be extended for non-EAP uses later, so it makes sense to have them be generic. Furthermore, having them defined as an enum is easier for processing internally, and more generic for control interfaces that may not use field names. The public ctrl_req_type / field_name conversion function will be used later by the D-Bus control interface too. Signed-off-by: Dan Williams <dcbw@redhat.com>
* TDLS: Add peer as a STA during link setupArik Nemtsov2011-10-231-0/+22
| | | | | | | | | | | | | | | | | | | Before commencing setup, add a new STA entry to the driver representing the peer. Later during setup, update the STA entry using information received from the peer. Extend sta_add() callback for adding/modifying a TDLS peer entry and connect it to the TDLS state machine. Implement this callback for the nl80211 driver and send peer information to kernel. Mark TDLS peer entries with a new flag and translate it to a corresponding nl80211 flag in the nl80211 driver. In addition, correct TDLS related documentation in the wpa_driver_ops structure. Signed-off-by: Arik Nemtsov <arik@wizery.com> Cc: Kalyan C Gaddam <chakkal@iit.edu>
* TDLS: Get TDLS related capabilities from driverArik Nemtsov2011-10-231-0/+22
| | | | | | | | | | | | | | Put glue code in place to propagate TDLS related driver capabilities to the TDLS state machine. If the driver doesn't support capabilities, assume TDLS is supported internally. When TDLS is explicitly not supported, disable all user facing TDLS operations. Signed-off-by: Arik Nemtsov <arik@wizery.com> Cc: Kalyan C Gaddam <chakkal@iit.edu>
* Remove user space client MLMEJouni Malinen2011-10-221-13/+0
| | | | | | | | | This code was used only with driver_test.c to allow MLME operations in hostapd to be tested without having to use a real radio. There are no plans on extending this to any other use than testing and mac80211_hwsim has now obsoled the need for this type of testing. As such, we can drop this code from wpa_supplicant to clean up the implementation of unnecessary complexity.
* Fix proactive_key_caching configuration to WPA codeJouni Malinen2011-09-161-0/+1
| | | | | | | The proactive_key_caching parameter was missed in mapping the config_ssid data into the WPA state machine configuration. This prevented addition of PMKSA cache entries based on PMKSA caching candidate events.
* nl80211: Support GTK rekey offloadJohannes Berg2011-07-121-0/+11
| | | | | | | | Add support to wpa_supplicant for device-based GTK rekeying. In order to support that, pass the KEK, KCK, and replay counter to the driver, and handle rekey events that update the latter. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* Add dbus signal for information about server certificationMichael Chang2011-07-051-0/+12
| | | | | | | | | | | | In general, this patch attemps to extend commit 00468b4650998144f794762206c695c962c54734 with dbus support. This can be used by dbus client to implement subject match text entry with preset value probed from server. This preset value, if user accepts it, is remembered and passed to subject_match config for any future authentication. Signed-off-by: Michael Chang <mchang@novell.com>
* TDLS: Add initial support for TDLS (IEEE Std 802.11z-2010)Ganesh Prasadh2011-03-061-0/+26
* FT: Configure FT XXKey as PMK for driver-based 4-way handshakeJouni Malinen2011-01-311-8/+26
| | | | | | | When using FT-EAP, the second half of MSK is used as the starting point for PMK key hierarchy. Configure that instead of the first half of MSK when using FT with driver-based 4-way handshake and FT protocol.
* Use set_key addr to distinguish default and multicast keysJouni Malinen2011-01-091-2/+1
| | | | | | | | Previously, both NULL and ff:ff:ff:ff:ff:ff addr were used in various places to indicate default/broadcast keys. Make this more consistent and useful by defining NULL to mean default key (i.e., used both for unicast and broadcast) and ff:ff:ff:ff:ff:ff to indicate broadcast key (i.e., used only with broadcast).
* Use more consistent set_key seq value when nothing is being setJouni Malinen2011-01-091-1/+1
| | | | | | Use NULL instead of (u8 *) "" as the seq value and make sure the driver wrapper implementations can handle NULL value. This was previously already done in number of places, but not everywhere.
* Fix wpa_supplicant AP mode to ignore EAPOL Supplicant port callbackJouni Malinen2010-07-181-0/+8
| | | | | This is needed to avoid setting EAPOL PAE port status incorrectly when using wpa_supplicant to control AP mode operations.
* FT: Add driver op for marking a STA authenticatedJouni Malinen2010-03-131-0/+25
| | | | | | This can be used with FT-over-DS where FT Action frame exchange triggers transition to State 2 (authenticated) without Authentication frame exchange.
* Move wpa_supplicant specific scan code away from src/driversJouni Malinen2010-01-031-0/+1
| | | | | | This fits better in wpa_supplicant/scan.c. Couple of remaining scan_helpers.c functions are currently used in driver wrappers, but they can likely be removed in the future.
* Do not store raw scan resultsJouni Malinen2010-01-021-2/+1
| | | | | Use scan results to update the BSS table and to select the BSS for connection, but do not store the results for longer time.
* Use BSS table for WPA get-Beacon-IEs operationJouni Malinen2010-01-021-14/+9
* Only expire scanned BSSes based on new scan resultsJouni Malinen2010-01-021-1/+1
| | | | | | Get more information about scans when updating BSS table information. This allows the missing-from-scans expiration rule to work properly when only partial set of channels or SSIDs are being scanned.
* Get rid of unnecessary typedefs for enums.Jouni Malinen2009-12-261-4/+4
* Remove unnecessary definesJouni Malinen2009-12-051-2/+0
| | | | | | | | | The following defines are not really needed in most places, so remove them to clean up source code and build scripts: EAP_TLS_FUNCS EAP_TLS_OPENSSL EAP_TLS_GNUTLS CONFIG_TLS_INTERNAL
* Remove src/rsn_supp from default header pathJouni Malinen2009-11-291-2/+2
* Remove src/common from default header file pathJouni Malinen2009-11-291-3/+3
| | | | | | | | | | This makes it clearer which files are including header from src/common. Some of these cases should probably be cleaned up in the future not to do that. In addition, src/common/nl80211_copy.h and wireless_copy.h were moved into src/drivers since they are only used by driver wrappers and do not need to live in src/common.
* Comment out unused functions if IEEE8021X_EAPOL is not definedJouni Malinen2009-05-291-0/+2
* Add new wpa_supplicant driver op for setting 802.1X port statusJouni Malinen2009-04-221-0/+10
| | | | | This can be used with drivers that implement PAE to control whether normal data frames (non-EAPOL) are allowed.
* Disconnect if 4-way handshake processing failsJouni Malinen2009-04-201-2/+2
| | | | | | | There is no point in trying to continue if a 4-way handshake frame is discarded or if PTK/GTK/IGTK configuration fails. Force the client to disconnect in such a case to avoid confusing user by claiming the connection was successfully completed.
* Add preliminary hostapd data structure initialization for AP modeJouni Malinen2009-03-261-0/+1
| | | | | | | | wpa_supplicant can now initialize hostapd data structures when mode=2 is used to set up an AP. The hostapd configuration is not yet set based on wpa_supplicant network configuration block. In addition, the glue code for hostapd driver_ops needs number of functions that will be needed for AP functionality.
* Add SME support (separate authentication and association)Jouni Malinen2009-03-201-4/+7
| | | | | | | | | | | | | This can be used, e.g., with mac80211-based Linux drivers with nl80211. This allows over-the-air FT protocol to be used (IEEE 802.11r). Since the nl80211 interface needed for this is very recent (added today into wireless-testing.git), driver_nl80211.c has backwards compatibility code that uses WEXT for association if the kernel does not support the new commands. This compatibility code can be disabled by defining NO_WEXT_COMPAT. That code will also be removed at some point to clean up driver_nl80211.c.
* Added a separate ctx pointer for wpa_msg() calls in WPA suppJouni Malinen2009-01-171-0/+1
| | | | | This is needed to allow IBSS RSN to use per-peer context while maintaining support for wpa_msg() calls to get *wpa_s as the pointer.
* WPS: Moved mac_addr and uuid configuration into wps_contextJouni Malinen2008-11-281-2/+0
| | | | | There is no need to complicate EAPOL and EAP interfaces with WPS specific parameters now that wps_context is passed through.
* WPS: Moved wps_context initialization into wps_supplicant.cJouni Malinen2008-11-281-1/+1
| | | | | | | The wps_context data is now managed at wpa_supplicant, not EAP-WSC. This makes wpa_supplicant design for WPS match with hostapd one and also makes it easier configure whatever parameters and callbacks are needed for WPS.
* WPS: Move WPS glue code from wpas_glue.c to wps_supplicant.cJouni Malinen2008-11-281-147/+3
| | | | | | This cleans up the internal interface between different modules and is the first step in getting wpa_supplicant design closer to hostapd as far as WPS is concerned.
* WPS: Moved UUID configuration from phase1 into global config areaJouni Malinen2008-11-261-0/+1