aboutsummaryrefslogtreecommitdiffstats
path: root/src/rsn_supp
Commit message (Collapse)AuthorAgeFilesLines
* TDLS: Add support for TDLS frame RX with bridge interfacesSubrat Dash2012-03-301-1/+3
| | | | Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* Remove the GPL notification from files contributed by Jouni MalinenJouni Malinen2012-02-1112-96/+24
| | | | | | | Remove the GPL notification text from the files that were initially contributed by myself. Signed-hostap: Jouni Malinen <j@w1.fi>
* Remove the GPL notification from files contributed by AtherosJouni Malinen2012-02-111-8/+2
| | | | | | | Remove the GPL notification text from files that were initially contributed by Atheros Communications or Qualcomm Atheros. Signed-hostap: Jouni Malinen <j@w1.fi>
* Fix pmksa_cache_get() arguments in !IEEE80211_X_EAPOL buildsAntonio Quartulli2012-02-111-1/+2
| | | | | | | | | In case of !defined(IEEE8021X_EAPOL) the definition of the stub pmksa_cache_get() in rsn_supp/pmksa_cache.h is not correct. This patch adds the missing argument to the function definition to fix a regression from commit 96efeeb66bd8762ab9fccd9fe2b5c3e276ff220c. Signed-hostap: Antonio Quartulli <ordex@autistici.org>
* Use PMKSA cache entries with only a single network contextJouni Malinen2012-02-044-17/+35
| | | | | | | | When looking for PMKSA cache entries to use with a new association, only accept entries created with the same network block that was used to create the cache entry. Signed-hostap: Jouni Malinen <j@w1.fi>
* Check wpa_supplicant_parse_ies() return value more consistentlyJouni Malinen2011-12-041-3/+6
| | | | | | | Reject messages that fail to be parsed instead of trying to use partially parsed information. Signed-hostap: Jouni Malinen <j@w1.fi>
* Move wpa_sm_remove_pmkid() call to PMKSA cache entry freeingJouni Malinen2011-11-201-3/+1
| | | | | | | | | | | | This makes it clearer that the PMKSA caching entry gets removed from the driver regardless of how the internal entry from wpa_supplicant gets cleared. In practice, this call was skipped only for the case when the entry for the current AP was being updated, so the previous version was likely to work with all drivers. Anyway, it is cleaner to explicitly remove the old entry even in that case before the new entry gets added. Signed-hostap: Jouni Malinen <j@w1.fi>
* Remove unnecessary include file inclusionJouni Malinen2011-11-132-2/+0
| | | | Signed-hostap: Jouni Malinen <j@w1.fi>
* TDLS: Do not clear peer data too early for teardownJouni Malinen2011-10-271-5/+6
| | | | | | TPK will be needed to be able to generate FTIE MIC for the teardown message, so maintain peer data for a bit longer in case the teardown FTIE request comes back from the driver.
* TDLS: Disable link on various error casesJouni Malinen2011-10-271-0/+10
| | | | This is needed to be able to return back to AP path on error cases.
* TDLS: Disable previous link to fix renegotiationJouni Malinen2011-10-271-0/+8
|
* TDLS: Fix concurrent initialization test codeJouni Malinen2011-10-271-0/+13
| | | | | Must not use data from peer TDLS Setup Request if the concurrent initialization from us is supposed to be the one that gets completed.
* TDLS: Fix teardown on renegotiationJouni Malinen2011-10-271-1/+5
| | | | | Need to disable the link when receiving TDLS Setup Request from a peer with which a direct link has already been set up.
* TDLS: Fix long frame test for teardownJouni Malinen2011-10-271-1/+2
|
* TDLS: Make use of wpa_tdls_add_peer to avoid code duplicationArik Nemtsov2011-10-231-11/+2
| | | | | | | Use the wpa_tdls_add_peer function to allocate TDLS peer structures. Signed-off-by: Arik Nemtsov <arik@wizery.com> Cc: Kalyan C Gaddam <chakkal@iit.edu>
* TDLS: Support mgmt-frame Tx for ctrl-iface operationsArik Nemtsov2011-10-232-0/+7
| | | | | | | | Use capability information to decide whether to perform a given TDLS operation internally or through mgmt-frame Tx. Signed-off-by: Arik Nemtsov <arik@wizery.com> Cc: Kalyan C Gaddam <chakkal@iit.edu>
* TDLS: Add peer as a STA during link setupArik Nemtsov2011-10-233-2/+36
| | | | | | | | | | | | | | | | | | | 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: Collect peer capabilities and supp-rates during link setupArik Nemtsov2011-10-233-23/+77
| | | | | | | | | Record the capabilities and supported rates of the TDLS peer during link setup. These are given in the IEs passed in Setup Request and Setup Response frames. Signed-off-by: Arik Nemtsov <arik@wizery.com> Cc: Kalyan C Gaddam <chakkal@iit.edu>
* TDLS: Implement low-ack event for lost TDLS peersArik Nemtsov2011-10-232-0/+17
| | | | | | | | Disable the direct connection when a TDLS peer stops responding to packets, as indicated by the "LOW ACK" event coming from a driver. Signed-off-by: Arik Nemtsov <arik@wizery.com> Cc: Kalyan C Gaddam <chakkal@iit.edu>
* TDLS: Support sending TDLS discovery requestsArik Nemtsov2011-10-232-0/+13
| | | | | | | Allow sending a TDLS discovery request as a frame through the driver. Signed-off-by: Arik Nemtsov <arik@wizery.com> Cc: Kalyan C Gaddam <chakkal@iit.edu>
* TDLS: Support sending a teardown frame from usermodeArik Nemtsov2011-10-232-12/+56
| | | | | | | | | | When a driver does not implement the TDLS_TEARDOWN operation internally, send an explicit TDLS link teardown frame to the driver. Change all teardown calls to use these calling semantics. Signed-off-by: Arik Nemtsov <arik@wizery.com> Cc: Kalyan C Gaddam <chakkal@iit.edu>
* TDLS: Process discovery requests and send discovery responsesArik Nemtsov2011-10-231-1/+87
| | | | | | | | | When a discovery request is received, add the peer to the TDLS peer cache and send a response containing minimal data. Mandatory IEs in the discovery response frame will be filled out by the driver. Signed-off-by: Arik Nemtsov <arik@wizery.com> Cc: Kalyan C Gaddam <chakkal@iit.edu>
* TDLS: Get TDLS related capabilities from driverArik Nemtsov2011-10-233-5/+42
| | | | | | | | | | | | | | 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>
* TDLS: Use a valid dialog-token in a setup requestArik Nemtsov2011-10-231-1/+1
| | | | | | | A zero dialog-token is considered invalid by IEEE Std 802.11z-2010. Signed-off-by: Arik Nemtsov <arik@wizery.com> Cc: Kalyan C Gaddam <chakkal@iit.edu>
* Clear OKC-based PMKSA caching entries if PMK is changedJouni Malinen2011-10-021-0/+8
| | | | | | | | | Whenever PMK gets changed (e.g., due to re-authentication), all PMKSA caching entries that were created using the previous PMK needs to be replaced. Previously, only the entry for the current AP was cleared. Flush the other entries based on network_ctx matches to get rid of the OKC entries. These entries can then be re-creating using OKC with the new PMK.
* Fix typos found by codespellPavel Roskin2011-09-221-1/+1
| | | | Signed-off-by: Pavel Roskin <proski@gnu.org>
* RSN: Add a debug message when considing addition of OKC entryJouni Malinen2011-09-161-0/+1
|
* Flush PMKSA cache entries and invalidate EAP state on network changesJouni Malinen2011-09-074-23/+55
| | | | | | | | | | | If a network configuration block is removed or modified, flush all PMKSA cache entries that were created using that network configuration. Similarly, invalidate EAP state (fast re-auth). The special case for OKC on wpa_supplicant reconfiguration (network_ctx pointer change) is now addressed as part of the PMKSA cache flushing, so it does not need a separate mechanism for clearing the network_ctx values in the PMKSA cache.
* Clear driver PMKSA cache entry on PMKSA cache expirationJouni Malinen2011-09-071-0/+1
| | | | | | If the driver maintains its own copy of the PMKSA cache, we need to clear an entry from the driver whenever wpa_supplicant is dropping an old PMKSA cache entry.
* FT: Share IE parser implementation for Authenticator and SupplicantJouni Malinen2011-07-161-172/+0
| | | | | These are almost identical, so there is no point in using separate implementations.
* FT: Fix FT IE parser to not count TIE as protected IEJouni Malinen2011-07-161-2/+0
|
* FT: Fix the calculation of MIC Control field in FTIEHong Wu2011-07-161-2/+2
| | | | | | | | Reassociation Request/Response frame validation need to count all IEs in the RIC. In addition, TIE is not protected, so it should not be included in the count. Signed-off-by: Hong Wu <hong.wu@dspg.com>
* nl80211: Support GTK rekey offloadJohannes Berg2011-07-123-0/+27
| | | | | | | | 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>
* FT: Disable PMKSA cache for FT-IEEE8021XHong Wu2011-07-051-2/+4
| | | | | | | wpa_supplicant uses XXKEY instead of PMK to derive PMK-R0 and PMK-R1 for FT-IEEE8021X key mgmt. Signed-off-by: Hong Wu <hong.wu@dspg.com>
* Avoid theoretical NULL pointer dereference from debug codeJouni Malinen2011-04-141-1/+4
| | | | | | | | The change to use wpa_dbg() in wpa_sm_parse_own_wpa_ie() could result in a NULL pointer dereference if the function were called when WPA state machine has not been initialized. While this cannot really happen in practice, it is better to be prepared for that since that was the case before the wpa_dbg() change.
* TDLS: Validate FTIE length before processing itJouni Malinen2011-04-131-5/+7
| | | | | | | This avoids reading past the end of the IE buffer should the FTIE be too short. In addition, one debug hexdump was using uninitialized pointer to the FTIE buffer, so fixed it to use the pointer from the parse data.
* TDLS: Disable teardown MIC validation workaroundJouni Malinen2011-04-071-7/+0
| | | | | This MIC is required to be correct if the keys are set, so reject the message if it does not have a valid MIC.
* TDLS: Allow TDLS to be disabled at runtime for testing purposesJouni Malinen2011-03-243-0/+23
| | | | | | Control interface command 'SET tdls_disabled <1/0>' can now be used to disable/enable TDLS at runtime. This is mainly for testing purposes.
* TDLS: Add tdls_testing 0x400 for ignoring AP prohibit TDLSJouni Malinen2011-03-061-0/+17
|
* TDLS: Do not allow setup to be started if AP prohibits TDLSJouni Malinen2011-03-065-0/+58
|
* TDLS: Add tdls_testing 0x200 for declining TDLS Setup ResponseJouni Malinen2011-03-061-0/+9
|
* TDLS: Allow wpa_cli tdls_setup to start renegotiationJouni Malinen2011-03-062-0/+17
| | | | | | If there is already a link the requested peer, request start of renegotiation instead of completely new link. This seems to be needed to allow some driver to accept the trigger for a new negotiation.
* TDLS: Add testing mode for disabling TPK expirationJouni Malinen2011-03-061-0/+8
| | | | | tdls_testing 0x104 can now be used to disable expiration of TPK (0x100) and to use a short lifetime when initiating link (0x4).
* TDLS: Add testing code for concurrent initiationJouni Malinen2011-03-061-0/+22
| | | | | | tdls_testing 0x80 can now be used to request wpa_supplicant to send a TDLS Setup Request frame (i.e., try to initiate TDLS setup) whenever a TDLS Setup Request frame has been received from a peer.
* TDLS: Fix higher/lower MAC address check for concurrent initJouni Malinen2011-03-061-16/+11
| | | | | The logic here was reversed: the STA with lower MAC address is the one that continues as the initiator.
* TDLS: Tear down old link when receiving TDLS Setup RequestJouni Malinen2011-03-061-2/+24
|
* TDLS: Add tdls_testing flag (bit 6) for testing long TPK lifetimeJouni Malinen2011-03-061-0/+6
|
* TDLS: Use more thorough validation of TPK handshakeJouni Malinen2011-03-061-67/+114
|
* TDLS: Replace os_memset() of all peer data with safer approachJouni Malinen2011-03-061-24/+12
| | | | | | | | | Blindly clearing all struct wpa_tdls_peer members is a risky operation since it could easily clear pointers to allocated memory, etc. information that really should not be removed. Instead of hoping that new code gets added here to restore the important variables, reverse the approach and only clear structure members one by one when needed.
* TDLS: Remove unnecessary storing of Link ID IE in peer dataJouni Malinen2011-03-061-14/+20
|