path: root/wpa_supplicant/scan.h
Commit message (Collapse)AuthorAgeFilesLines
* WNM: Fetch scan results before checking transition candidatesKanchanapally, Vidyullatha2016-04-231-0/+5
| | | | | | | | | | | | | On receiving a WNM BSS Transition Management Request frame with a candidate list, fetch the latest scan results from the kernel to see if there are any recent scan results for the candidates and initiate a connection if found. This helps to avoid triggering a new scan in cases where a scan initiated by something else (e.g., an internal beacon measurement report functionality in a driver) has processed Beacon or Probe Response frames without wpa_supplicant having received a notification of such an update yet. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* Mark wpa_supplicant_{start,stop}_sched_scan() staticJouni Malinen2016-04-071-3/+0
| | | | | | | | With the only callers in wpas_{start,stop}_pno() moved into scan.c, there is no need to call these helper functions from outside scan.c anymore. Signed-off-by: Jouni Malinen <j@w1.fi>
* Add support for configuring scheduled scan plansAvraham Stern2015-11-301-2/+1
| | | | | | | | | | | | Add the option to configure scheduled scan plans in the config file. Each scan plan specifies the interval between scans and the number of scan iterations. The last plan will run infinitely and thus specifies only the interval between scan iterations. usage: sched_scan_plans=<interval:iterations> <interval2:iterations2> ... <interval> Signed-off-by: Avraham Stern <avraham.stern@intel.com>
* Abort an ongoing scan before connectKanchanapally, Vidyullatha2015-11-261-0/+1
| | | | | | | | | | Connect radio work is sometimes delayed for a considerable duration if there is an ongoing scan radio work. To avoid these delays abort the ongoing scan on that interface before queuing a connect request. Upon a scan done indication from the driver, connect radio work will be scheduled. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* scan: Add MAC address randomization in scan handlingIlan Peer2015-01-041-0/+6
| | | | | | | | | | 1. Supported MAC address randomization for scan. 2. Supported MAC address randomization for scheduled scan. 2. Supported MAC address randomization for pno. 4. Add functions to set and clear the MAC address randomization state variables. Signed-off-by: Ilan Peer <ilan.peer@intel.com>
* PNO: Move and rename pno_start()/pno_stop()Alexander Bondar2014-03-111-0/+2
| | | | | | | | Move pno_start() and pno_stop() to scan.c as a more relevant location and rename them to wpas_start_pno()/wpas_stop_pno(). Signed-off-by: Alexander Bondar <alexander.bondar@intel.com> Signed-off-by: Ilan Peer <ilan.peer@intel.com>
* Add helper functions for cloning and freeing scan parametersJouni Malinen2014-01-051-1/+4
| | | | Signed-hostap: Jouni Malinen <j@w1.fi>
* Handle legacy scan interruption of sched_scan/PNOJithu Jance2013-11-181-0/+4
| | | | | | | | | | | | | | | | While starting from PNO start context, the scheduled scan was not setting the flag wpa_s->scanning. This was resulting in the subsequent SCAN command to proceed further and send command to nl80211/cfg80211. The expected behavior of cancelling sched_scan was not happening here. While sched_scan is in progress and a legacy scan comes on the cli/socket, the sched_scan is cancelled and normal scan is allowed to continue. However, sometimes sched_scan cancelled event comes a bit delayed and we will send out the scan command before the wpa_s->scanning is cleared. Instead, reschedule the incoming scan req if the wpa_s->scanning shows that it is still in progress. Signed-hostap: Jithu Jance <jithu@broadcom.com>
* P2P: Allow GO to be discovered based on Beacon frameJouni Malinen2013-10-141-0/+2
| | | | | | | | | | This fixes some P2P-join-a-group cases where GO may have been discovered based on passive scan or non-P2P scan. P2P IEs may have been received from a Beacon frame in such a case and that information can be used to create a P2P peer entry, e.g., to allow provision discovery exchange to be completed. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* Cancel delayed scheduled scan when wpa_supplicant cleans upChengyi Zhao2013-07-201-0/+1
| | | | | | | | Because a delayed scheduled scan will access the members of struct wpa_supplicant which is freed and this can result in a crash, wpa_supplicant needs to cancel delayed scheduled scan during cleanups. Signed-hostap: Chengyi Zhao <chengyix.zhao@gmail.com>
* P2P: Postpone P2P scan only if station mode scan is pendingJouni Malinen2013-03-181-0/+1
| | | | | | | | | | | | sta_scan_pending was supposed to be accurate enough for determining whether a P2P scan needs to be postponed. However, it has turned out that there were cases where sta_scan_pending was not cleared properly. While the known cases have now been addressed, it is possible that some other cases may still exist. To avoid issues with P2P operationg getting stuck, verify more carefully that there is a real pending station mode scan (either in progress or scheduled to be requested). Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* Add 'SCAN TYPE=ONLY' functionalityDmitry Shmidt2013-02-071-0/+2
| | | | | | | | Usual manual scan request may cause reassociation due to several reasons. New command is intended to perform pure scan without taking any automatic action based on the results. Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* Update scan interval gracefullyPontus Fuchs2013-02-031-0/+1
| | | | | | | | | | | When the scan interval is changed the new interval is effective after the old interval timer fires off one last time. This can cause an unacceptable long delay when updating the interval. Change this behaviour to use MIN(left of old interval, new interval) for the scan interval following the interval change. Signed-hostap: Pontus Fuchs <pontus.fuchs@gmail.com>
* Remove unused wpa_scan_get_vendor_ie_multi_beacon()Jouni Malinen2012-12-271-2/+0
| | | | Signed-hostap: Jouni Malinen <j@w1.fi>
* Validate WEP key lengths based on driver capabilitiesJouni Malinen2012-05-101-1/+1
| | | | | | | | | | The nl80211 driver interface does not allow 128-bit WEP to be used without a vendor specific cipher suite and no such suite is defined for this purpose. Do not accept WEP key length 16 for nl80211 driver interface forn ow. wext-interface can still try to use these for backwards compatibility. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* Add BSSID filter for testing purposesJouni Malinen2012-02-161-0/+2
| | | | | | | | | | | wpa_supplicant can now be configured to filter out scan results based on a BSSID filter. Space-separated set of allowed BSSIDs can be set with wpa_cli set bssid_filter command. Filtering mechanism can be disabled by setting this variable to an empty list. When set, only the BSSes that have a matching entry in this list will be accepted from scan results. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* 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>
* Share a single wpa_scan_results_free() implementationJouni Malinen2011-10-221-1/+0
| | | | | There is not really a very good location for this anywhere, but the function is small enough to live as an inline function for now.
* Add delayed scheduled scan requestLuciano Coelho2011-10-151-0/+2
| | | | | | | | | | | | | | When initializing, the scheduled scan code was being called before everything is ready. With normal scans, the first scan round is delayed, so the initialization is finished by the time it really starts. Add a function that can be used to request a delayed scheduled scan. The scan will only start after the specified time has elapsed. Call this function instead of starting the scheduled scan directly during driver initialization. Signed-off-by: Luciano Coelho <coelho@ti.com>
* Add scheduled scan driver operationsLuciano Coelho2011-10-151-0/+2
| | | | | | | | | | | In new Linux kernel versions (>=3.0), nl80211 adds scheduled scan capability. In order to use this feature to its full extent, we need to support it in the wpa_supplicant core, so that it can also be used by other drivers. This commit adds initial scheduled scan support operations and events. Signed-off-by: Luciano Coelho <coelho@ti.com>
* WPS 2.0: Validate WPS attributes in management frames and WSC messagesJouni Malinen2010-09-091-0/+2
| | | | | | | | If CONFIG_WPS_STRICT is set, validate WPS IE(s) in management frames and reject the frames if any of the mandatory attributes is missing or if an included attribute uses an invalid value. In addition, verify that all mandatory attributes are included and have valid values in the WSC messages.
* Remove src/drivers/scan_helpers.cJouni Malinen2010-01-031-0/+2
| | | | | | | Most of this file was already moved into wpa_supplicant/scan.c and we can remove the file completely by having couple of small helper functions copied to the remaining users outside core wpa_supplicant code.
* Move wpa_supplicant specific scan code away from src/driversJouni Malinen2010-01-031-0/+35
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.