aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant
Commit message (Collapse)AuthorAgeFilesLines
* wpa_cli: Use os_exec() for action script executionJouni Malinen2015-10-201-17/+8
| | | | | | | | | | | Use os_exec() to run the action script operations to avoid undesired command line processing for control interface event strings. Previously, it could have been possible for some of the event strings to include unsanitized data which is not suitable for system() use. (CVE-2014-3686) Change-Id: I0005ed08e4b06ba3d2ebe95b9240050e47ed2e8c Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Tested-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
* wpa_supplicant: Add get_capability freqBruno Randolf2013-04-132-1/+53
| | | | | | | | | | | | | Add "get_capability freq" command to print a more verbose list of channels and frequencies in MHz. The tag "NO_IBSS" is added, if IBSS mode is not allowed on a channel. This allows userspace programs to get the frequencies and limitations associated with each channel. This extends the information already provided in "get_capability channel" but a new interface is chosen because of backwards compatibility considerations. Signed-hostap: Bruno Randolf <br1@einfach.org> Change-Id: Ic05a080b3cdea3ab095127d8c2e86eb16408bb4f
* Add capability flag for IBSS and get_capabiliy modesBruno Randolf2013-03-202-1/+44
| | | | | | | | | | Add a driver capability flag for drivers which support IBSS mode and set it for nl80211 drivers which have set the NL80211_IFTYPE_ADHOC. Add a new option "modes" to "get_capability" which will return "AP" and "IBSS" if the corresponding capability flags are set. Change-Id: I7991ae49b6ac6bc154d4edb0b01af774f4e8522c
* Save frequency to network configBruno Randolf2013-03-201-0/+1
| | | | | | | | | Also save frequency in wpa_config_write_network(). This is necessary for creating IBSS networks which requires the frequency to be set. Change-Id: Ic051d1ca1ce3b1d4bad231d46e86c21e818af5de
* Revert "enable CONFIG_PCSC"Steve Kondik2013-02-271-1/+1
| | | | This reverts commit d04091d01db0ddfb13e0c1279e232bf9c3365cfb.
* enable CONFIG_PCSCGuilhem Lettron2013-02-111-1/+1
| | | | | | | try to fix #5203 http://code.google.com/p/cyanogenmod/issues/detail?id=5203 As said in the file, we need config_pcsc if config_eap_sim is enable.
* nl80211: add ifndef on AP SME conditionEmerson Pinter2013-01-171-0/+4
| | | | | | | | The condition causes problems on driver initialization if the NL80211_ATTR_DEVICE_AP_SME is not available. Needs BOARD_NO_APSME_ATTR:=true. Change-Id: I88e91996d8e6a70f46a5a84d6540bf3d3b628ddd
* Use legacy NL80211 STA events for older driversAndrew Dodd2012-12-155-3/+32
| | | | | | | | | | | | | | | | This allows tethering on devices with older bcmdhd drivers to be fixed. It conditionally reverts b638fe75d3cb9d21c67386173f10afe65053cc4d "nl80211: Use native cfg80211 sta events" for these boards. Use BOARD_LEGACY_NL80211_STA_EVENTS to enable this conditional revert. Forward-port to JB MR1, squashed in Steve Kondik's commit to handle additional changes. Change-Id: I4e436c57819944515455725cfd7ac7eeb31552ca
* Add parameter checking and error reporting to wpa_blacklist API.Sasha Levitskiy2012-10-291-0/+9
| | | | | | Bug: 7423119 Change-Id: Iae85361aa0dc94a75bffd07deef451c85e3d9d96 Signed-off-by: Sasha Levitskiy <sanek@google.com>
* wpa_supplicant: Try to reject proper BSSID even if not set by the driverDmitry Shmidt2012-10-291-1/+4
| | | | | | | Bug: 7423119 Change-Id: Id0266274c9c60f8eea872ca3cfa5ad40d9180789 Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* Add better handling of CTRL-EVENT-ASSOC-REJECTJeff Johnson2012-10-231-4/+10
| | | | | | | | | | | | | | | | | | In an enterprise environment a given Access Point (AP) may reject an association request due to load balancing. In an enterprise with a congested Wi-Fi network we may have to connect to many APs before we find one that will accept the connection. Currently when the wpa_supplicant receives a CTRL-EVENT-ASSOC-REJECT it will continue to count down the 10 second authentication timer, and doesn't realize that it should now attempt to find a different AP. Fix this issue in multiple ways. First, we increase the number of association rejects we handle before we disable the network. This will allow us more opportunity to authenticate with other APs which are sharing the same SSID. Second, when we are rejected we immediately blacklist the AP and rescan so that we can immediately attempt to connect to other APs. Bug: 7329568 Change-Id: I0ff66a0e05e6d4a9dec3dea98eccd850ecd5e343
* Support conc_pref when use_p2p_group_interface=0Jeff Johnson2012-10-171-15/+18
| | | | | | | | | | | The original implementation of wpas_p2p_handle_frequency_conflicts() only works correctly when P2P groups use a separate interface (i.e. use_p2p_group_interface=1). Update the implementation so that it also works when the device interfaces is used (i.e. use_p2p_group_interface=0). Bug: 7290509 Change-Id: Icbc489125c5b7bd6e174d6aecd53555cdc9ad99d
* Increase channel delay to 100msIrfan Sheriff2012-10-161-0/+6
| | | | | | | | | | | | | | There is an inherent flaw in the p2p protocol design where an ACK loss right before channel switch leads to peers being out of sync. A work around of 50ms was added persistent case, but it turns out in heavy lossy conditions that is not enough. Increase it to 100ms. Experimental evaluation showed 100ms improves the reliability of p2p persistence reinvocation. Bug: 7359500 Change-Id: I73ab1b64e32b87101e95b0e487c90818c2c0aaf3
* P2P: Improve robustness against lost ctrl::ackJouni Malinen2012-10-141-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | P2P includes two use cases where one of the devices is going to start a group and likely change channels immediately after processing a frame. This operation may be fast enough to make the device leave the current channel before the peer has completed layer 2 retransmission of the frame in case the ctrl::ack frame was lost. This can result in the peer not getting TX status success notification. For GO Negotiation Confirm frame, p2p_go_neg_conf_cb() has a workaround that ignores the TX status failure and will continue with the group formation with the assumption that the peer actually received the frame even though we did not receive ctrl::ack. For Invitation Response frame to re-invoke a persistent group, no such workaround is used in p2p_invitation_resp_cb(). Consequently, TX status failure due to lost ctrl::ack frame results in one of the peers not starting the group. Increase the likelihood of layer 2 retransmission getting acknowledged and ctrl::ack being received by waiting a short duration after having processed the GO Negotiation Confirm and Invitation Response frames for the re-invocation case. For the former, use 20 ms wait since this case has been worked around in deployed devices. For the latter, use 50 ms wait to get even higher likelihood of getting ctrl::ack through since deployed devices (and the current wpa_supplicant implementation) do not have a workaround to ignore TX status failure. 20 ms is long enough to include at least couple of retries and that should increase likelihood of getting ctrl::ack through quite a bit. The longer 50 ms wait is likely to include full set of layer 2 retries. Bug: 7282991 Change-Id: If063895046ff42fb52579bfb386281085bedce58 Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* P2P: Fix network removal to select correct blockJouni Malinen2012-10-051-1/+1
| | | | | | | | | | | | If wpa_s->current_ssid is not set (e.g., after disconnection that did not result in immediate group removal), an incorrect group could have been removed since the network block iteration here could select the network block that is used to store persistent group credentials. Fix this by verifying that disabled != 2 to avoid picking the network block that could not have been the temporary P2P group. Bug: 7290511 Change-Id: Ia61bab3e11137ab2c0c34014e4d8d8bdee2a0469
* P2P: Fix p2p_cancel processing during group formationJouni Malinen2012-10-031-0/+4
| | | | | | | | | | | | The wpa_s->p2p_in_provisioning flag did not get cleared in some cases where p2p_cancel command is used to stop group formation. This can result in some operations (like p2p_find) failing afterwards. Fix this by using wpas_group_formation_completed() when processing p2p_cancel for a group that has not yet completed group formation. Bug: 7280743 Change-Id: I2dea935bd7c0509237de54bd048954f75ce80bfc Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* wpa_supplicant: P2P-related fixesDmitry Shmidt2012-09-251-1/+3
| | | | | | | | | | | | - P2P: Show own channel list in debug log - P2P: Allow peer to propose channel in invitation process - P2P: Clear sta_scan_pending on group removal - P2P: Fix ignoring of PD Response due to dialog token mismatch BUG: 7226065, 7231289 Change-Id: Iacb0f85d80f63bcdf311ccc0d29d0c282a0c0576 Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* wpa_supplicant: P2P-related fixesDmitry Shmidt2012-09-246-22/+65
| | | | | | | | | | | | | | | | | | | | | | | | - Remove unused function warning in WPS-NFC case - P2P: Fix p2p_ctrl_invite_persistent to parse peer parameter - hostapd: Fix CONFIG_INTERWORKING=y build without CONFIG_HS20=y - hostapd: Fix WDS VLAN bridge handling - hostapd: Send EAPOL frames from the VO queue if WMM is active - P2P: Remove channel 14 from supported P2P channels - hostapd: Clear WLAN_STA_ASSOC_REQ_OK if sending the assoc response failed - hostapd: Add check for the wds sta flag before creating 4addr VLANs - nl80211: Use the monitor interface if socket tx status is not supported - wpa_supplicant: Set state to DISCONNECTED on AP creation errors - P2P: Fix p2p_group_idle in no-group-interface P2P client case - P2P: Fix PSK configuration for GO network - Print control interface commands in easier format - Add debug print for no enabled networks case - P2P: Add more debug prints for GO start routines - P2P: Fix pending sta scan processing for concurrent operation cases BUG: 6940646 Change-Id: I1b1c54a08c61ec4af2bfd2274afc93501004eea2 Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* Fix build: Add ANDROID_P2P for SCC interop fixesIrfan Sheriff2012-09-231-1/+9
| | | | Change-Id: I847b63428b47016cf9a9a0b090636e1d5b9d28b8
* GC channel fixes for better interop with SCCIrfan Sheriff2012-09-231-3/+56
| | | | | | | | | | | - Force operating channel as the only channel in channel list attribute for go negotiation and persistence - Force an operating channel in go negotiation response even if the GO indicates a different in negotiation request - Fix a bug with updating peer operating channel based on GO negotiation confirm Bug: 7217600 Change-Id: I6da0dc1a49c1d99ae97dcab8ee9899e07a80a6cb
* Do not inform other virtual interfaces of scan results in all casesJouni Malinen2012-09-142-6/+13
| | | | | | | | | | | | If a connection operation is started on an interface based on scan results, other virtual interfaces should not be information about the results to avoid potential concurrent operations during the association steps. Since the sibling notification of scan results received was added as an optimization, skipping it for this type of cases is the simplest way of avoiding unnecessary concurrent operations. Change-Id: I145b4237074a97cc75fd68933fff7ed99b850630 Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* P2P: Schedule new scan if P2P operation delays scanJouni Malinen2012-09-141-0/+2
| | | | | | | This makes sure that the interrupted station mode scan can be completed after the P2P operations have had their chance of using the radio. Signed-hostap: Jouni Malinen <j@w1.fi>
* P2P: Check all interfaces for pending scan for p2p_scan failuresJouni Malinen2012-09-141-4/+7
| | | | | | | | | Driver could reject the new scan based on any virtual interface running a concurrent scan. As such, mark the pending scan callback for P2P based on any interfaces instead of just the one used for the p2p_scan operation. Signed-hostap: Jouni Malinen <j@w1.fi>
* P2P: Move p2p_cb_on_scan_complete to global contextJouni Malinen2012-09-145-47/+17
| | | | | | | | | | | | Since we have a global P2P module, the flag to trigger scan completion events to it needs to be in similar context. The previous design maintained this separately for each virtual interface and if P2P module did not run its scan operation on the virtual interface that completed the scan, P2P module would not be allowed to restart operations properly. Change-Id: I1b5a55c03aede15bbe0ac70dcbe0011a90f69b20 Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* wpa_supplicant: Skip unnecessary scan attemptsDmitry Shmidt2012-09-142-6/+7
| | | | | Change-Id: Ieea8843c0fcb063dbb1df56e5cdf3fbdd0590cd4 Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* wpa_supplicant: Update to 10-Sep-2012 TOTDmitry Shmidt2012-09-139-79/+187
| | | | | | | | | | | commit 762b99db7a76803d1ad274e87caa6fe870d47441 Author: Jouni Malinen <j@w1.fi> Date: Mon Sep 10 12:33:29 2012 +0200 Fix last_scan_res update existing BSS entry is update Change-Id: I03f933bf6d7f7e36b0f8ac410fbc37990f127c18 Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* P2P: Skip join in case of provision discovery failureDmitry Shmidt2012-09-131-1/+12
| | | | | Change-Id: I46cb3d2f17a45bf0ff62697040602334b818d805 Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* wpa_supplicant: Fix P2P command processingDmitry Shmidt2012-09-132-9/+11
| | | | | Change-Id: Ib2e811513be7b05178e310040f7cae14cb425421 Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* wpa_supplicant: Improve scan during p2p_findDmitry Shmidt2012-09-113-10/+12
| | | | | Change-Id: I733b23c2b7a24cfa96fe6593adbcbeb7d0798002 Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* Merge "clear wfd_dev_info_hex before use" into jb-mr1-devIrfan Sheriff2012-09-111-0/+1
|\
| * clear wfd_dev_info_hex before useIrfan Sheriff2012-09-111-0/+1
| | | | | | | | Change-Id: Ic5cdb4df220834faf9e7da5cc1cc0a4191e6abd1
* | wpa_supplicant: Postpone P2P scan if usual scan is in progressDmitry Shmidt2012-09-101-23/+14
| | | | | | | | | | | | | | BUG: b/7137954 Change-Id: I64ef8dbb51c354b4cdebe490ffcd2cec07995939 Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* | wpa_supplicant: Update to 07-Sep-2012 TOTDmitry Shmidt2012-09-1011-111/+420
|/ | | | | | | | | | | | | | | | | commit 44256451130c4766e4a019162de17d0734444ee9 Author: Arik Nemtsov <arik@wizery.com> Date: Fri Sep 7 00:22:40 2012 +0300 AP: Configure basic rates from iface and not conf Skipped patches: 20ed5e40ba95440a1946cf2dffad3047fb620582 cf8baca6a5719f4f3257631e03317affee015417 a297201df15656dbb0f37e90f3410d9e8102c6fd 620c783753bddd37988269314862dc7e4a62f700 Change-Id: I857aa80af6d1a21b61f7c03a085e7dfc6066d61a Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* Add WFD dev info in device found eventIrfan Sheriff2012-09-091-2/+13
| | | | Change-Id: If25804d41e7ea1d028a30c180290d8de547f43e8
* P2P: Do not fail p2p_group_remove just based on current_ssidJouni Malinen2012-09-091-1/+3
| | | | | | | | | | | | | | The wpa_s->current_ssid pointer may get cleared, e.g., when disconnected. Commit 30ee769235f3170d9bf6b62c11c6e018e97deb84 made wpas_p2p_group_delete() exit early before removing a P2P interface in this type of case. That can cause number of issues from p2p_group_remove command failing to busy loop when terminating wpa_supplicant if there is a P2P group interface in client mode and that interface happens to be in disconnected state. Fix these issues by allowing wpas_p2p_group_delete() remove the P2P group interface regardless of whether wpa_s->currnt_ssid is set. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* P2P: Allow p2p_invite-persistent to specify channel for GOJouni Malinen2012-09-096-10/+34
| | | | | | | The freq and ht40 parameters can now be used with the p2p_invite command when reinvoking a persistent group as the GO. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* Merge "SME: Fix disconnec-while-authenticating" into jb-mr1-devDmitry Shmidt2012-09-091-1/+5
|\
| * SME: Fix disconnec-while-authenticatingJouni Malinen2012-09-091-1/+5
| | | | | | | | | | | | | | | | | | | | Commit 0d30cc240fa36905b034dc9676f9d8da0ac18e56 forced wpa_s->current_ssid to be cleared in wpa_supplicant_mark_disassoc() which gets called from wpa_supplicant_event_disassoc(). This broke SME disassoc-while-authenticating workaround for cfg80211. Fix this by restoring wpa_s->current_ssid in case SME authentication is in progress. Signed-hostap: Jouni Malinen <j@w1.fi>
* | Merge "Fix disconnection event processing" into jb-mr1-devDmitry Shmidt2012-09-093-24/+62
|\ \ | |/
| * Fix disconnection event processingJouni Malinen2012-09-093-24/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 0d30cc240fa36905b034dc9676f9d8da0ac18e56 forced wpa_s->current_ssid and wpa_s->key_mgmt to be cleared in wpa_supplicant_mark_disassoc() which gets called from wpa_supplicant_event_disassoc(). This broke IEEE 802.1X authentication failure processing and P2P deauthentication notification (group termination). Fix this by splitting wpa_supplicant_event_disassoc() into two parts and make wpas_p2p_deauth_notif() indicate whether the interface was removed. If so, the last part of disassocition event processing is skipped. Since the wpa_supplicant_mark_disassoc() call is in the second part, the above mentioned issues are resolved. In addition, this cleans up the P2P group interface removal case by not trying to use fast reconnection mechanism just before the interface gets removed. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* | Merge "Fix REMOVE_NETWORK to not run operations with invalid current_ssid" ↵Dmitry Shmidt2012-09-091-2/+7
|\ \ | |/ | | | | into jb-mr1-dev
| * Fix REMOVE_NETWORK to not run operations with invalid current_ssidDeepthi Gowri2012-09-091-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | If the REMOVE_NETWORK command is used to delete the currently connected network, some operations were run between removing the network and clearing of wpa_s->current_ssid. This left wpa_s->current_ssid pointing to freed memory and should any operation end up using it before the pointer gets cleared, freed memory could be references. Avoid this by removing the network only after having completed the operations that clear wpa_s->current_ssid. Signed-hostap: Deepthi Gowri <deepthi@codeaurora.org> intended-for: hostap-1
* | Merge "nl80211: Register read_sta_data() handler for station only builds" ↵Dmitry Shmidt2012-09-092-3/+5
|\ \ | |/ | | | | into jb-mr1-dev
| * nl80211: Register read_sta_data() handler for station only buildsJouni Malinen2012-09-092-3/+5
| | | | | | | | | | | | | | | | | | This driver_op can now be used in station mode, too, to fetch information about the connection with the AP, so allow this to be used even if wpa_supplicant is built without AP mode support. Change-Id: Ibef1d27ed0e2df312e715a88d500500c661860d1 Signed-hostap: Jouni Malinen <j@w1.fi>
* | Fix join for p2p_connectIrfan Sheriff2012-09-061-1/+1
|/ | | | | | | | wps_pbc with interface command stripped out ends up as a null character. Supplicant tries to interpret that as a bssid. Fix it to ignore null character as empty bssid Change-Id: Ic91d6657efaf03fbe5c4a03e9e630b4b3ff5dec4
* wpa_supplicant: Update to 29-Aug-2012 TOTDmitry Shmidt2012-09-0453-1618/+5661
| | | | | | | | | | | | | | | | | commit 6ffdc2f7bd496ace7a46e055f9714e7db4b1f722 Author: Jouni Malinen <jouni@qca.qualcomm.com> Date: Fri Mar 2 22:31:04 2012 +0200 WFD: Add preliminary WSD request processing and response This commit does not yet address support for different device roles, i.e., the same set of subelements are returned regardless of which role was indicated in the request. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com> Change-Id: I9d63acce719b982c02e589bb59602382e82988c8 Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* wpa_supplicant: Update to BRCM version 0.8.0-38Dmitry Shmidt2012-09-041-0/+25
| | | | | | | | - Restore p2p_group_formation pointer till the 4-way handshake completes for the p2p client Change-Id: I976659ae5dac4cf01ecdd7995ff9abb6bf914bc1 Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* Fix am cef482f8: mergeDmitry Shmidt2012-09-041-6/+0
| | | | | Change-Id: I47a4610b40092d81a4d62e53a26924c4f9d05a17 Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* am cef482f8: am 0531f204: Fix \'restore STA reconnection behavior\' cherry-pickDmitry Shmidt2012-09-041-0/+7
|\ | | | | | | | | * commit 'cef482f830a787f249e7719ffb7d45db19ba1feb': Fix 'restore STA reconnection behavior' cherry-pick
| * am 0531f204: Fix \'restore STA reconnection behavior\' cherry-pickDmitry Shmidt2012-09-043-5/+10
| |\ | | | | | | | | | | | | * commit '0531f20404b2e284d1b444d5af48b6e0c629975b': Fix 'restore STA reconnection behavior' cherry-pick