aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant/bss.h
Commit message (Collapse)AuthorAgeFilesLines
* HS 2.0: Request and process OSU Providers NAI List ANQP-elementJouni Malinen2018-10-051-0/+1
| | | | | | | | | Extend wpa_supplicant to use a separate OSU_NAI information from OSU Providers NAI List ANQP-element instead of the OSU_NAI information from OSU Providers list ANQP-element when connecting to the shared BSS (Single SSID) for OSU. Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
* HS 2.0: Add fetching of Operator Icon Metadata ANQP-elementJouni Malinen2018-04-171-0/+1
| | | | | | | | | This extends wpa_supplicant Hotspot 2.0 ANQP routines to allow the Operator Icon Metadata ANQP-element to be fetched with "ANQP_GET <bssid> hs20:12". The result is available in the new hs20_operator_icon_metadata entry in the "BSS <bssid>" output. Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
* FILS: Use FILS Cache Identifier to extend PMKSA applicabilityJouni Malinen2017-02-261-0/+1
| | | | | | | | This allows PMKSA cache entries for FILS-enabled BSSs to be shared within an ESS when the BSSs advertise the same FILS Cache Identifier value. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* RRM: Enable beacon report with active/passive scan for all driversJouni Malinen2017-01-031-0/+4
| | | | | | | | | The requested behavior can be approximated for most use cases even if the driver does not support reporting exact TSF values for frames. Enable this capability for all drivers to make beacon report processing more useful for a common use case. Signed-off-by: Jouni Malinen <j@w1.fi>
* FILS: Add Realm Information ANQP-element in BSS dataJouni Malinen2016-12-181-0/+1
| | | | | | | Add a named BSS command output entry for FILS Realm Information ANQP-element (anqp_fils_realm_info). Signed-off-by: Jouni Malinen <j@w1.fi>
* Remove disconnected APs from BSS table if likely out-of-rangeDavid Spinadel2016-10-011-0/+2
| | | | | | | | | | | | | | | | In some cases, after a sudden AP disappearing and reconnection to another AP in the same ESS, if another scan occurs, wpa_supplicant might try to roam to the old AP (if it was better ranked than the new one) because it is still saved in BSS list and the blacklist entry was cleared in previous reconnect. This attempt is going to fail if the AP is not present anymore and it'll cause long disconnections. Remove an AP that is probably out of range from the BSS list to avoid such disconnections. In particular mac80211-based drivers use the WLAN_REASON_DISASSOC_DUE_TO_INACTIVITY reason code in locally generated disconnection events for cases where the AP does not reply anymore. Signed-off-by: David Spinadel <david.spinadel@intel.com>
* wpa_supplicant: Basic support for PBSS/PCPLior David2016-02-081-0/+11
| | | | | | | | | | | | | | | | | | | | | PBSS (Personal Basic Service Set) is a new BSS type for DMG networks. It is similar to infrastructure BSS, having an AP-like entity called PCP (PBSS Control Point), but it has few differences. PBSS support is mandatory for IEEE 802.11ad devices. Add a new "pbss" argument to network block. The argument is used in the following scenarios: 1. When network has mode=2 (AP), when pbss flag is set will start as a PCP instead of an AP. 2. When network has mode=0 (station), when pbss flag is set will connect to PCP instead of AP. The function wpa_scan_res_match() was modified to match BSS according to the pbss flag in the network block (wpa_ssid structure). When pbss flag is set it will match only PCPs, and when it is clear it will match only APs. Signed-off-by: Lior David <qca_liord@qca.qualcomm.com>
* Interworking: Support unknown ANQP-elements in BSS tableJouni Malinen2015-10-071-0/+7
| | | | | | | | | | This allows wpa_supplicant to expose internally unknown ANQP-elements in the BSS command. For example, "ANQP_GET <BSSID> 265" can be used to fetch the AP Geospatial Location ANQP-element and if the AP has this information, the "BSS <BSSID>" command will include the response as "anqp[265]=<hexdump>". Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* Use SSID_MAX_LEN define instead of value 32 when comparing SSID lengthJouni Malinen2015-04-221-1/+1
| | | | | | This makes the implementation easier to understand. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* Add snr and est_throughput to the BSS entriesJouni Malinen2015-02-221-1/+5
| | | | | | | | These values were previously used only for sorting the scan results, but it may be useful to provide access to the used values through the BSS entries. Signed-off-by: Jouni Malinen <j@w1.fi>
* Update current BSS level when signal change event occursMatthieu Mauger2015-02-211-0/+6
| | | | | | | | | | | | | | | When an EVENT_SIGNAL_CHANGE occurs the bgscan is informed about this change but the new RSSI value is not stored. In consequence, when roaming candidates are evaluated, the RSSI value of the current BSS used to compare is an old one obtained during the last scan rather than the new one given by the signal change event. This leads sometimes to bad decision when selecting a new BSS for roaming. This patch solves the issue by updating the current BSS level when receiving a signal change event in order to have a very up-to-date current signal value when choosing an new BSS. Signed-off-by: Matthieu Mauger <matthieux.mauger@intel.com>
* Inteworking: Add support to update the ANQP Capability List into the BSSASHUTOSH NARAYAN2015-02-211-0/+1
| | | | | | | In addition, add support for returning the capability list through the BSS control interface command. Signed-off-by: ASHUTOSH NARAYAN <ashutoshx.narayan@intel.com>
* HS 2.0: Add support to update the HS20 Capability List into the BSSASHUTOSH NARAYAN2015-02-211-0/+1
| | | | | | | In addition, add support for returning the capability list through the BSS control interface command. Signed-off-by: ASHUTOSH NARAYAN <ashutoshx.narayan@intel.com>
* Parse DMG capabilities when reporting to external interfacesBoris Sorochkin2014-05-261-0/+5
| | | | | | | | This adds [DMG] and [PBSS] flags for scan results and BSS table entries using the IEEE Std 802.11ad-2012 updated definition of the Capability field. Signed-off-by: Boris Sorochkin <qca_bsoroc@qca.qualcomm.com>
* HS 2.0R2: Add OSU Providers list ANQP elementJouni Malinen2014-02-251-0/+1
| | | | | | | wpa_supplicant can now request OSU Providers list with "hs20_anqp_get <BSSID> 8". Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* wpa_supplicant: Use monotonic time for RX/BSS timesJohannes Berg2013-12-241-2/+2
| | | | | | | | | | The BSS table, scan timeout, and related functionality should use monotonic time since they care about relative values (age) only. Unfortunately, these are all connected, so the patch can't be split further. Another problem with this is that it changes the driver wrapper API. Though, it seems only the test driver is using this. Signed-hostap: Johannes Berg <johannes.berg@intel.com>
* P2P: Show P2P flag in BSS entries also based on Beacon framesJouni Malinen2013-10-141-0/+2
| | | | | | | | It is possible that a P2P GO has been discovered through a non-P2P scan that did not return P2P IE in Probe Response frames. To cover those cases, check also Beacon frame (if received) for P2P IE. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* WPS: Use latest updated BSS entry if multiple BSSID matches foundJouni Malinen2013-03-311-0/+2
| | | | | | | | | If the AP (P2P GO) has changes its channel of SSID recently, the BSS table may have multiple entries for a BSSID. Select the one which was most recently updated for WPS/P2P operations in such case to increase the likelihood of using current information. Signed-hostap: Jouni Malinen <j@w1.fi>
* Use more accurate timestamps for scan resultsJouni Malinen2013-02-121-1/+2
| | | | | | | | | | | | For various P2P use cases, it is useful to have more accurate timestamp for the peer information update. This commit improves scan result handling by using a single timestamp that is taken immediately after fetching the results from the driver and then using that value to calculate the time when the driver last updated the BSS entry. In addition, more debug information is added for P2P peer updates to be able to clearly see how old information is being used here. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* Fix BSS RANGE command for no exact id match casesAmar Singhal2013-02-071-0/+2
| | | | | | | | The RANGE=N1-N2 command did not return any entries in some cases where N1 does not match with any BSS entry. Fix this by allow entries to be fetched even without knowing the exact id values. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* Add Doxygen documentation for functionality related to scanningJouni Malinen2012-12-271-18/+25
| | | | Signed-hostap: Jouni Malinen <j@w1.fi>
* Interworking: Unshare ANQP results on explicit ANQP requestsJouni Malinen2012-10-031-0/+1
| | | | | | | | | When ANQP_GET or HS20_ANQP_GET is used to request ANQP information, unshare the ANQP information (i.e., create a per-BSS copy of it) to make sure the information from the specified BSS is available in case the APs provide different information within HESSID. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* Interworking: Store HESSID in BSS entryJouni Malinen2012-09-041-0/+2
| | | | | | | This makes it more convenient to match BSS entries that belong to the same homogenous ESS. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* Interworking: Move BSS ANQP information into separate structJouni Malinen2012-09-041-15/+21
| | | | | | | | This is an initial step in allowing the ANQP responses to be shared among multiple BSSes if the BSSes are determined to be operating under identical configuration. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* BSS: Add wpa_bss_get_vendor_ie_multi_beacon()Jouni Malinen2012-09-021-0/+2
| | | | | | This can be used to fetch vendor IEs from Beacon frames. Signed-hostap: Jouni Malinen <j@w1.fi>
* HS 2.0: Add Hotspot 2.0 ANQP routinesJay Katabathuni2012-05-081-0/+6
| | | | 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>
* P2P: Allow BSS entry to be fetched based on GO P2P Device AddressJouni Malinen2012-02-071-0/+2
| | | | | | | | | | "BSS p2p_dev_addr=<P2P Device Address>" can now be used to fetch a specific BSS entry based on the P2P Device Address of the GO to avoid having to iterate through the full BSS table when an external program needs to figure out whether a specific peer is currently operating as a GO. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* Interworking: Add ANQP query requestsJouni Malinen2011-10-161-0/+10
| | | | | | | | | | | Add mechanism for using GAS/ANQP to query Interworking related information from APs. The received information is stored in the BSS table and can be viewed with ctrl_iface BSS command. New ctrl_iface command ANQP_GET can be used to fetch ANQP elements from a specific AP. Additional commands FETCH_ANQP and STOP_FETCH_ANQP can be used to initiate and stop an iteration through all APs in the BSS table that indicate support Interworking to fetch ANQP elements from them.
* dbus: Add D-Bus methods to flush the BSS cacheSam Leffler2011-03-201-0/+2
| | | | | | | | | | | Add an "Interface.FlushBSS" method to the new D-Bus API and a "flush" method to the old API. Both take an age parameter that is a threshold (in seconds) for selecting entries to evict. Setting this parameter to zero flushes all entries from the cache. This mechanism is useful for a connection manager to clear state at startup and on resume (where the age parameter may be used to hold onto recent/valid data).
* Fetch IEs from both Beacon and Probe Response frames if availableJouni Malinen2010-01-161-1/+4
| | | | | | | | This allows the driver wrappers to return two sets of IEs, so that the BSS code can use information from both Beacon and Probe Response frames if needed. For example, some Cisco APs seem to include more information in Wireless Provisioning Services IE when it is in the Beacon frame.
* dbus: Change BSS property MaxRate to RatesWitold Sowa2010-01-041-1/+2
| | | | | Instead of exposing maximum BSS bit rate, expose sorted array of all supported rates.
* Do not store raw scan resultsJouni Malinen2010-01-021-0/+2
| | | | | Use scan results to update the BSS table and to select the BSS for connection, but do not store the results for longer time.
* Only expire scanned BSSes based on new scan resultsJouni Malinen2010-01-021-2/+3
| | | | | | 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.
* WPS: Use BSS table instead of raw scan resultsJouni Malinen2010-01-021-0/+2
|
* Add wpa_bss_get_max_rate() to match with old scan_res helpersJouni Malinen2009-12-271-0/+1
|
* Add BSS list sorted by id and add some helper functionsJouni Malinen2009-12-271-0/+9
| | | | | | | | | This allows the BSS list to be iterated in order of increasing id to avoid problems with new scans reordering entries. The order on the wpa_s->bss list changes with most recently updated entries being moved to the tail of the list while wpa_s->bss_id list maintains its order with new entries being added to the tail and old entries being removed when they expire.
* Add BSS table to track scan results without dropping informationJouni Malinen2009-12-271-0/+74
Collect information from scan results into a BSS table that will not expire information as quickly as scan results where every new scan, no matter for how limited set of channels/SSIDs, clears all old information. For now, this is only used for D-Bus BSS added/removed notifications, but this will likely be extended to be used internally instead of the scan results to better support partial scans.