aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant
Commit message (Collapse)AuthorAgeFilesLines
* mesh: Check mesh key management methodMasashi Honma2014-11-162-0/+15
| | | | | Signed-off-by: Natsuki Itaya <Natsuki.Itaya@jp.sony.com> Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
* mesh: Add wpa_cli action script processing for mesh eventsMasashi Honma2014-11-161-0/+8
| | | | | Signed-off-by: Natsuki Itaya <Natsuki.Itaya@jp.sony.com> Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
* mesh: Add scan result for mesh networkMasashi Honma2014-11-163-0/+107
| | | | | | | Android 4.4 uses "BSS" command instead of "SCAN_RESULT" command. So this patch add the mesh scan result for BSS command. Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
* mesh: Make BSSBasicRateSet configurableMasashi Honma2014-11-164-12/+72
| | | | | | | | | | | | | STAs that have different BSSBasicRateSet cannot connect to each other as per IEEE 802.11s-2011 9.6.0c1: "A mesh STA shall not establish a mesh peering with a mesh STA using a different BSSBasicRateSet." Make BSSBasicRateSet configurable to improve interoperability with other stations. Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
* Add mesh_group_{add,remove} control interface commandsJavier Lopez2014-11-163-3/+155
| | | | | | | | | | | | | Parse MESH_GROUP_ADD/REMOVE commands on ctrl interface and call wpa_supplicant routines. These commands are used to start or join and leave a mesh network. The mesh id is given in the configuration file, therefore there is no need to scan before joining a mesh network. We reuse the connect_without_scan construct used by P2P for that same purpose. Signed-off-by: Javier Cardona <javier@cozybit.com> Signed-off-by: Javier Lopez <jlopex@gmail.com>
* mesh: Reduce none 11N Self-protected Action frame allocation sizeMasashi Honma2014-11-161-11/+18
| | | | | Signed-off-by: Natsuki Itaya <Natsuki.Itaya@jp.sony.com> Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
* mesh: Fix 11N capability in Self-protected Action frameMasashi Honma2014-11-161-1/+1
| | | | | | | | mesh_ht_mode default value is CHAN_UNDEFINED. So previous code set 11N capability even though 11N is not used. Signed-off-by: Natsuki Itaya <Natsuki.Itaya@jp.sony.com> Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
* mesh: Set driver capability flags to mesh interfaceMasashi Honma2014-11-161-0/+1
| | | | | Signed-off-by: Kenzoh Nishikawa <Kenzoh.Nishikawa@jp.sony.com> Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
* mesh: Fix segmentation fault by repeating MESH_GROUP_ADD/REMOVEMasashi Honma2014-11-161-0/+4
| | | | | Signed-off-by: Natsuki Itaya <Natsuki.Itaya@jp.sony.com> Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
* mesh: Enable mesh HT modeJason Mobarak2014-11-167-19/+132
| | | | | | | | | | | | Add a new option "mesh_ht_mode" that specifies the HT mode for the mesh, with this option on, mesh beacons, actions frames, and probe responses with include the appropriate HT information elements. [original implementation by Chun-Yeow Yeoh <yeohchunyeow@gmail.com>] [some fixes by Masashi Honma <masashi.honma@gmail.com>] Signed-off-by: Ashok Nagarajan <ashok.dragon@gmail.com> Signed-off-by: Javier Cardona <javier@cozybit.com> Signed-off-by: Jason Mobarak <x@jason.mobarak.name>
* mesh: Add timer for SAE authentication in RSN meshChun-Yeow Yeoh2014-11-165-0/+46
| | | | | | | | | | | | Add timer to do SAE re-authentication with number of tries defined by MESH_AUTH_RETRY and timeout defined by MESH_AUTH_TIMEOUT. Ignoring the sending of reply message on "SAE confirm before commit" to avoid "ping-pong" issues with other mesh nodes. This is obvious when number of mesh nodes in MBSS reaching 6. Signed-off-by: Chun-Yeow Yeoh <yeohchunyeow@gmail.com> Signed-off-by: Bob Copeland <me@bobcopeland.com>
* mesh: Add mesh robust security networkThomas Pedersen2014-11-167-2/+684
| | | | | | | | | | | | | | This implementation provides: - Mesh SAE authentication mechanism - Key management (set/get PSK) - Cryptographic key establishment - Enhanced protection mechanisms for robust management frames Signed-off-by: Javier Lopez <jlopex@gmail.com> Signed-off-by: Javier Cardona <javier@cozybit.com> Signed-off-by: Jason Mobarak <x@jason.mobarak.name> Signed-off-by: Thomas Pedersen <thomas@noack.us>
* hostapd: Add wowlan_triggers config paramDmitry Shmidt2014-11-161-61/+6
| | | | | | | | | | New kernels in wiphy_suspend() will call cfg80211_leave_all() that will eventually end up in cfg80211_stop_ap() unless wowlan_triggers were set. For now, use the parameters from the station mode as-is. It may be desirable to extend (or constraint) this in the future for specific AP mode needs. Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* Suite B: PMKID derivation for AKM 00-0F-AC:11Jouni Malinen2014-11-162-0/+12
| | | | | | | | | The new AKM uses a different mechanism of deriving the PMKID based on KCK instead of PMK. hostapd was already doing this after the KCK had been derived, but wpa_supplicant functionality needs to be moved from processing of EAPOL-Key frame 1/4 to 3/4 to have the KCK available. Signed-off-by: Jouni Malinen <j@w1.fi>
* Suite B: Add AKM 00-0F-AC:11Jouni Malinen2014-11-164-2/+29
| | | | | | | | This adds definitions for the 128-bit level Suite B AKM 00-0F-AC:11. The functionality itself is not yet complete, i.e., this commit only includes parts to negotiate the new AKM. Signed-off-by: Jouni Malinen <j@w1.fi>
* Add CTRL-EVENT-SCAN-FAILED notification in case of scan failureDmitry Shmidt2014-11-151-0/+2
| | | | | | | | This is needed since the SCAN command with radio work returns before the actual driver operation to trigger a scan has been executed and as such, cannot return result of that operation. Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* Remove completed to-do itemsJouni Malinen2014-11-011-9/+3
| | | | | | | While this file has not really been updated in years, some of the completed items can easily be removed. Signed-off-by: Jouni Malinen <j@w1.fi>
* Remove references to madwifi from various filesJouni Malinen2014-11-011-1/+0
| | | | | | | | Number of documentation and configuration files had references to the madwifi driver interface that was removed in the previous commit. Remove these references as well. Signed-off-by: Jouni Malinen <j@w1.fi>
* dbus: Fix memory leak in wpas_dbus_getter_bss_wpsSlava Monich2014-11-011-0/+2
| | | | Signed-off-by: Slava Monich <slava.monich@jolla.com>
* wpa_gui: Use dialog window typeMartin Kletzander2014-11-011-0/+1
| | | | | | | | This helps window managers treat the window properly. Mostly tiling WMs are affected by this. All other windows inherit this option from QDialog already. Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
* P2P: Do not consider the p2p_scan results after p2p_stop_findSunil Dutt2014-10-302-0/+29
| | | | | | | | | | If p2p_stop_find is issued after the p2p_scan request is triggered to the host driver, the obtained scan results are also considered to update the P2P peer entries. This is not always desired behavior, i.e., it can be clearer if no P2P-DEVICE-FOUND events are generated based of that final pending scan. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* P2P: Delay scan operation only when P2P is not in search stateSunil Dutt2014-10-301-2/+3
| | | | | | | | | | With the radio work interface in place, station interface SCAN command was not scheduled (i.e., it got continously delayed with "Delay station mode scan while P2P operation is in progress") when a p2p_find was operational. Fix this be delaying station mode scan only when a P2P operation is in progress, but not in search state. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* P2P: Set p2p_scan_running based on driver scan request resultSunil Dutt2014-10-301-0/+2
| | | | | | | | | | | With the radio work interface, the actual request to start p2p_scan operation is scheduled from a radio work and hence the initial return value cannot provide the real result of the driver operation to trigger a scan. Introduce a new notification API to indicate the scan trigger status based on which the p2p_scan_running instance can be set using the real return value from the driver operation. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* P2P: Do not call wpas_p2p_disconnect_safely() if no match is foundJouni Malinen2014-10-271-1/+1
| | | | | | | | | In theory, wpas_p2p_disconnect_safely() could have dereferenced the wpa_s == NULL argument, but in practice, it won't due to the calling_wpa_s == wpa_s check and wpas_p2p_disconnect() accepting NULL. Anyway, it is cleaner to add an explicit check for this. (CID 74492) Signed-off-by: Jouni Malinen <j@w1.fi>
* Update pending connect radio work BSS pointer on scan updateJouni Malinen2014-10-274-6/+37
| | | | | | | | | | | | | | | | | | | | | It is possible for scan result processing or BSS entry removal to occur while there is a pending connect or sme-connect radio work with a previously selected BSS entry. The BSS pointer was previously verified to be valid, i.e., still point to a BSS entry, at the time the actual connection operation is started. However, that BSS entry could have changed to point to another BSS if the old BSS entry was either removed or reallocated and a new BSS entry was added at the same location in memory. This could result in the connection attempt failing to configure parameters properly due to different BSS information (e.g., different BSSID). Fix this by updated the pending connect radio work data on BSS entry updates similarly to how the last_scan_res array was updated. If the selected BSS entry is removed, this will still result in a failed connection, but reallocated BSS entry is now followed properly and used when the connection work starts. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* Invoke connect work done for all the connection failure casesSunil Dutt2014-10-271-1/+6
| | | | | | | | This commit fixes couple of connection failure paths where wpas_connect_work_done() was not called, thus enabling the radio work interface to proceed with the other queued actions. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* WPS: Fix ap_scan=2 special association caseJouni Malinen2014-10-271-1/+2
| | | | | | | | | | | Commit 22628eca3440976bf51846da0554099f7429b206 ('Support driver-based BSS selection in ap_scan=1 mode') ended up disabling the special ap_scan=2 WPS case where ap_scan=1 like scan followed by association is used to find the WPS AP using wildcard SSID. Fix this by allowing association request even with wpas_driver_bss_selection() when searching for a WPS AP. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* dbus: Redirect P2P request to the managment device if presentTomasz Bursztyka2014-10-272-11/+122
| | | | | | | In case of a P2P management device being present, it will be up to that interface to handle P2P requests. Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
* notify: Do not raise any signal from a P2P management interfaceTomasz Bursztyka2014-10-271-0/+102
| | | | | | | Such interface is not registered on DBus, thus there is no need to raise any signal from it. Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
* wpa_supplicant: Do not register a P2P management interface on DBusTomasz Bursztyka2014-10-271-7/+9
| | | | | | | | | DBus client should always request the proper netdev interface. This will be necessary to get a consistent behavior whatever driver is in use: iwlwifi (which requires a P2P mgmt dev), ath9/10k (which does not), etc... Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
* wpa_supplicant: Parent interface should know about its dedicated P2P devTomasz Bursztyka2014-10-272-0/+2
| | | | | | | This will be useful to hand-off P2P commands from the parent interface to its dedicated P2P device if that one is present, in DBus interface. Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
* P2P: Support GCMP as part of 60 GHz supportAhmad Masri2014-10-273-2/+19
| | | | Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* Avoid unsigned vs. signed comparison warningJouni Malinen2014-10-261-1/+1
| | | | Signed-off-by: Jouni Malinen <j@w1.fi>
* P2P: Save group common frequencies in invitation resultIlan Peer2014-10-251-0/+2
| | | | | | | | | | | Save the group common frequencies when starting a GO due to an invitation signaling requesting to re-invoke a persistent GO. To do so, move the code that handles the translation of p2p_channels to frequency list into a public function so it can be re-used both when GO Negotiation is done and invitation signaling is done. Signed-off-by: Ilan Peer <ilan.peer@intel.com>
* P2P: Save group common frequenciesIlan Peer2014-10-252-0/+49
| | | | | | | | Once a P2P GO interface is configured, save the group common frequencies, as this can be useful later for channel selection considerations during channel switch, etc. Signed-off-by: Ilan Peer <ilan.peer@intel.com>
* wpa_supplicant: Use the 'no_ir' notationIlan Peer2014-10-252-12/+10
| | | | | | | Use the 'no_ir' notation instead of the 'passive scan' and 'no_ibss' notations to match the earlier change in nl80211. Signed-off-by: Ilan Peer <ilan.peer@intel.com>
* Add test functionality to simulate driver increased ROC durationJouni Malinen2014-10-254-4/+36
| | | | | | | | The extra_roc_dur parameter can now be used in CONFIG_TESTING_OPTIONS=y builds to simulate driver behavior where the ROC duration gets increased without user space request. Signed-off-by: Jouni Malinen <j@w1.fi>
* P2P: Use neg_freq when re-establish persistent group as GCMikael Kanstrup2014-10-251-6/+14
| | | | | | | | | | | | | When GC receives invitation response and tries to re-establish connection to a persistent group channels from passive list should be allowed. A missing check for operation mode triggered reselection of operating channel from active channels only to happen and thus fail the connect attempt. Add a check for operation mode and if GC instead use negotiated frequency (i.e. GO operating channel from invitation response). Signed-off-by: Mikael Kanstrup <mikael.kanstrup@sonymobile.com>
* mesh: Implement mesh scanningJason Abele2014-10-253-0/+23
| | | | | | | | When mesh is configured in, include the wildcard mesh id so that mesh networks are returned. Signed-off-by: Javier Lopez <jlopex@gmail.com> Signed-off-by: Jason Abele <jason.abele@gmail.com>
* mesh: Use mesh id instead of SSID in BSS tableJason Abele2014-10-251-1/+6
| | | | | Signed-off-by: Javier Lopez <jlopex@gmail.com> Signed-off-by: Jason Abele <jason.abele@gmail.com>
* mesh: Add no_auto_peer config optionThomas Pedersen2014-10-254-0/+18
| | | | | | | | | | Add no_auto_peer parameter, which controls wheter a station will automatically initiate peering to another mesh peer that comes into range. Signed-off-by: Javier Lopez <jlopex@gmail.com> Signed-off-by: Jason Mobarak <x@jason.mobarak.name> Signed-off-by: Thomas Pedersen <thomas@noack.us>
* mesh: Add mesh mode config optionThomas Pedersen2014-10-253-1/+9
| | | | | | | | | Modify network mode to support mode number 5 when CONFIG_MESH is enabled. Signed-off-by: Javier Lopez <jlopex@gmail.com> Signed-off-by: Jason Mobarak <x@jason.mobarak.name> Signed-off-by: Thomas Pedersen <thomas@noack.us>
* mesh: Avoid join if already joined a mesh groupThomas Pedersen2014-10-251-0/+7
| | | | | Signed-off-by: Javier Lopez <jlopex@gmail.com> Signed-off-by: Thomas Pedersen <thomas@noack.us>
* mesh: Add mesh peering managerBob Copeland2014-10-256-3/+925
| | | | | | | | | | | | | | | The mesh peering manager establishes and maintains links among mesh peers, tracking each peer link via a finite state machine. This implementation supports open mesh peerings. [assorted fixes from Yu Niiro <yu.niiro@gmail.com>] [more fixes from Masashi Honma <masashi.honma@gmail.com>] Signed-off-by: Javier Lopez <jlopex@gmail.com> Signed-off-by: Javier Cardona <javier@cozybit.com> Signed-off-by: Ashok Nagarajan <ashok.dragon@gmail.com> Signed-off-by: Jason Mobarak <x@jason.mobarak.name> Signed-hostap: Bob Copeland <me@bobcopeland.com>
* mesh: Add user_mpm config optionThomas Pedersen2014-10-254-0/+27
| | | | | | | | | | Add user_mpm config parameter, when this is set to 1 (the default) the peer link management is done on userspace, otherwise the peer management will be done by the kernel. Signed-off-by: Javier Lopez <jlopex@gmail.com> Signed-off-by: Jason Mobarak <x@jason.mobarak.name> Signed-off-by: Thomas Pedersen <thomas@noack.us>
* mesh: Add mesh mode routinesThomas Pedersen2014-10-256-0/+358
| | | | | | | | | | Add routines to (de)initialize mesh interface data structures and join and leave mesh networks. Signed-off-by: Javier Lopez <jlopex@gmail.com> Signed-off-by: Javier Cardona <javier@cozybit.com> Signed-off-by: Jason Mobarak <x@jason.mobarak.name> Signed-off-by: Thomas Pedersen <thomas@noack.us>
* mesh: Show [MESH] flag in scan resultsJason Abele2014-10-251-3/+12
| | | | | Signed-off-by: Javier Lopez <jlopex@gmail.com> Signed-off-by: Jason Abele <jason.abele@gmail.com>
* Add SAE and FT/SAE into scan results infoJason Abele2014-10-251-0/+14
| | | | | | | | These key management options were missing from the previous set of parsed information in scan results. Signed-off-by: Javier Lopez <jlopex@gmail.com> Signed-off-by: Jason Abele <jason.abele@gmail.com>
* HT: Let the driver advertise its supported SMPS modes for AP modeEliad Peller2014-10-233-0/+3
| | | | | | | | Add smps_modes field, and let the driver fill it with its supported SMPS modes (static/dynamic). This will let us start an AP with specific SMPS mode (e.g., dynamic) that will allow it to reduce its power usage. Signed-off-by: Eliad Peller <eliad@wizery.com>
* dbus: Do a full P2P find as it is in ctrl_iface.cTomasz Bursztyka2014-10-231-1/+1
| | | | | | So the behavior is consistent whatever interface is in use. Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>