]> git.ipfire.org Git - thirdparty/hostap.git/log
thirdparty/hostap.git
7 years agoFix SELECT_NETWORK freq parameter
Jouni Malinen [Sat, 25 Feb 2017 17:15:24 +0000 (19:15 +0200)] 
Fix SELECT_NETWORK freq parameter

This functionality was originally added in commit
204c9ac4eed9f0ad69497f2efcd0d095dfd6e61c ('Extend select_network command
with freq= to reduce scan time') re-using wpa_s->manual_scan_freqs and
MANUAL_SCAN_REQ. That got broken when commit
35d403096eb63c787bd736dd8ba0902c34398fa8 ('Set NORMAL_SCAN_REQ on
SELECT_NETWORK/ENABLE_NETWORK') started overriding wpa_s->scan_req for
SELECT_NETWORK.

Fix this by adding a new scan frequency list specifically for
SELECT_NETWORK so that this does not need to depend on any specific
wpa_s->scan_req value.

Signed-off-by: Jouni Malinen <j@w1.fi>
7 years agoD-Bus: Notify mesh capability if driver supports it
Saurav Babu [Wed, 22 Feb 2017 14:33:41 +0000 (20:03 +0530)] 
D-Bus: Notify mesh capability if driver supports it

Signed-off-by: Saurav Babu <saurav.babu@samsung.com>
7 years agotests: FILS SK using ERP with SIM
Jouni Malinen [Thu, 23 Feb 2017 15:59:13 +0000 (17:59 +0200)] 
tests: FILS SK using ERP with SIM

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agotests: FILS SK using ERP and AP going away
Jouni Malinen [Wed, 22 Feb 2017 22:13:48 +0000 (00:13 +0200)] 
tests: FILS SK using ERP and AP going away

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agoAdd option to disable broadcast deauth in hostapd on AP start/stop
Jouni Malinen [Wed, 22 Feb 2017 22:03:00 +0000 (00:03 +0200)] 
Add option to disable broadcast deauth in hostapd on AP start/stop

The new broadcast_deauth parameter can be used to disable sending of the
Deauthentication frame whenever AP is started or stopped. The default
behavior remains identical to the past behavior (broadcast_deauth=1).

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agohostapd: Fix potential mesh-related change from impacting non-mesh cases
Jouni Malinen [Wed, 22 Feb 2017 22:19:10 +0000 (00:19 +0200)] 
hostapd: Fix potential mesh-related change from impacting non-mesh cases

Commit 01e2231fdc4fbec61fbc382238e3606a1d2826e4 ('hostapd: Skip some
configuration steps for mesh cases') removed some operations based on
hapd->iface->mconf being NULL. This was within #ifdef CONFIG_MESH, so it
should not impact hostapd, but it can impact AP mode with
wpa_supplicant. That does not sound intentional, so make these
conditional on hapd->conf->mesh being enabled.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agotests: FILS PMKSA caching with Cache Identifier and external management
Jouni Malinen [Tue, 21 Feb 2017 14:28:37 +0000 (16:28 +0200)] 
tests: FILS PMKSA caching with Cache Identifier and external management

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agoFILS: External management of PMKSA cache entry with Cache Identifier
Jouni Malinen [Tue, 21 Feb 2017 14:26:58 +0000 (16:26 +0200)] 
FILS: External management of PMKSA cache entry with Cache Identifier

The PMKSA_GET and PMKSA_ADD commands can now use an optional extra
parameter to fetch and add PMKSA cache entries with the FILS Cache
Identifier.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agotests: FILS Cache Identifier for PMKSA caching
Jouni Malinen [Tue, 21 Feb 2017 10:21:45 +0000 (12:21 +0200)] 
tests: FILS Cache Identifier for PMKSA caching

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agoFILS: Use FILS Cache Identifier to extend PMKSA applicability
Jouni Malinen [Tue, 21 Feb 2017 10:22:19 +0000 (12:22 +0200)] 
FILS: Use FILS Cache Identifier to extend PMKSA applicability

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>
7 years agotests: Extend PMKSA output parser to handle FILS Cache Identifier
Jouni Malinen [Tue, 21 Feb 2017 10:21:15 +0000 (12:21 +0200)] 
tests: Extend PMKSA output parser to handle FILS Cache Identifier

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agoSME: Clear portValid on starting authentication to fix FILS
Jouni Malinen [Tue, 21 Feb 2017 10:49:16 +0000 (12:49 +0200)] 
SME: Clear portValid on starting authentication to fix FILS

The ft_completed for FILS authentication case in
wpa_supplicant_event_assoc() depends on something having cleared
portValid so that setting it TRUE ends up authorizing the port. This
clearing part did not happen when using FILS authentication during a
reassociation within an ESS. Fix this by clearing portValid in
sme_send_authentication() just before the keys are cleared (i.e., the
old connection would not be usable anyway).

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agoFILS: Fix BSSID in reassociation case
Jouni Malinen [Tue, 21 Feb 2017 10:25:02 +0000 (12:25 +0200)] 
FILS: Fix BSSID in reassociation case

The RSN supplicant implementation needs to be updated to use the new
BSSID whenever doing FILS authentication. Previously, this was only done
when notifying association and that was too late for the case of
reassociation. Fix this by providing the new BSSID when calling
fils_process_auth(). This makes PTK derivation use the correct BSSID.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agoFILS: Find PMKSA cache entries on AP based on FILS Cache Identifier
Jouni Malinen [Tue, 21 Feb 2017 10:18:58 +0000 (12:18 +0200)] 
FILS: Find PMKSA cache entries on AP based on FILS Cache Identifier

This allows PMKSA cache entries to be shared between all the BSSs
operated by the same hostapd process when those BSSs use the same FILS
Cache Identifier value.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agomka: Fix the order of operations in secure channel deletion
Badrish Adiga H R [Sat, 18 Feb 2017 13:14:15 +0000 (05:14 -0800)] 
mka: Fix the order of operations in secure channel deletion

The correct order of deleting a secure channel is to purge all the
secure associations in the channel before actually deleting the secure
channel.

Signed-off-by: Badrish Adiga H R <badrish.adigahr@gmail.com>
7 years agodbus: Set mode to mesh in bss properties when mesh is supported
Saurav Babu [Mon, 20 Feb 2017 10:28:21 +0000 (15:58 +0530)] 
dbus: Set mode to mesh in bss properties when mesh is supported

Signed-off-by: Saurav Babu <saurav.babu@samsung.com>
7 years agotests: RSN pre-authentication failure to add a PMKSA entry
Jouni Malinen [Mon, 20 Feb 2017 10:49:29 +0000 (12:49 +0200)] 
tests: RSN pre-authentication failure to add a PMKSA entry

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agoRSN: Fix pre-authentication EAPOL-Start startPeriod configuration
Jouni Malinen [Mon, 20 Feb 2017 10:48:04 +0000 (12:48 +0200)] 
RSN: Fix pre-authentication EAPOL-Start startPeriod configuration

The RSN pre-authentication case ended up ignoring the initial
startPeriod value and delayed EAPOL-Start message by two seconds. Fix
this by forcing the first EAPOL-Start message to be sent when running
pre-authentication.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agotests: RSN pre-authentication processing on AP
Jouni Malinen [Mon, 20 Feb 2017 09:47:07 +0000 (11:47 +0200)] 
tests: RSN pre-authentication processing on AP

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agonl80211: Notify reason for connection timeout failure
Purushottam Kushwaha [Thu, 16 Feb 2017 09:23:00 +0000 (14:53 +0530)] 
nl80211: Notify reason for connection timeout failure

This adds reason for timeout in event CTRL-EVENT-ASSOC-REJECT whenever
connection failure happens because of timeout. This extends the
"timeout" parameter in the event to include the reason, if available:
timeout=scan, timeout=auth, timeout=assoc.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agohostapd: Get vendor HE capabilities
Peng Xu [Tue, 25 Oct 2016 17:22:48 +0000 (10:22 -0700)] 
hostapd: Get vendor HE capabilities

Allow hostapd query device HE capabilities via vendor command.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agoQCA vendor command for fetching HE capabilities
Peng Xu [Thu, 12 Jan 2017 01:21:23 +0000 (17:21 -0800)] 
QCA vendor command for fetching HE capabilities

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agohostapd: Add IEEE 802.11ax HE IEs into Beacon/Probe Response frames
Peng Xu [Tue, 25 Oct 2016 17:23:24 +0000 (10:23 -0700)] 
hostapd: Add IEEE 802.11ax HE IEs into Beacon/Probe Response frames

IEEE 802.11ax HE changes to include HE IEs in Beacon and Probe Response
frames. These elements are using vendor specific forms for now since the
IEEE 802.11ax draft is not yet finalized and the element contents is
subject to change.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agohostapd: Initial IEEE 802.11ax (HE) definitions
Peng Xu [Tue, 7 Feb 2017 23:16:52 +0000 (15:16 -0800)] 
hostapd: Initial IEEE 802.11ax (HE) definitions

Add IEEE 802.11ax definitions for config, IEEE structures, and
constants. These are still subject to change in the IEEE process.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agomesh: Use correct rate in VHT and HT mixed environment
Masashi Honma [Wed, 15 Feb 2017 10:07:02 +0000 (19:07 +0900)] 
mesh: Use correct rate in VHT and HT mixed environment

Let mesh STA A be a STA which has config disable_ht=0 and disable_vht=1.
Let mesh STA B be a STA which has config disable_ht=0 and disable_vht=0.
The mesh STA A and B was connected.

Previously, the mesh STA A sent frame with VHT rate even though its VHT
was disabled. This commit fixes the issue by checking the local BSS VHT
configuration.

Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
7 years agomesh: Use correct rate in HT and legacy mixed environment
Masashi Honma [Wed, 15 Feb 2017 10:07:01 +0000 (19:07 +0900)] 
mesh: Use correct rate in HT and legacy mixed environment

Let mesh STA A be a STA which has config disable_ht=1.
Let mesh STA B be a STA which has config disable_ht=0.
The mesh STA A and B was connected.

Previously, the mesh STA A sent frame with HT rate even though its HT
was disabled. This commit fixes the issue by checking the local BSS HT
configuration.

Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
7 years agoVHT: Remove a redundant check
Masashi Honma [Tue, 14 Feb 2017 05:13:44 +0000 (14:13 +0900)] 
VHT: Remove a redundant check

This check is already done in ibss_mesh_setup_freq().

Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
7 years agohw_features: Move VHT capabilities checks to common
Masashi Honma [Tue, 14 Feb 2017 05:13:42 +0000 (14:13 +0900)] 
hw_features: Move VHT capabilities checks to common

This allows the previous AP-specific functions to be use for IBSS/mesh
setup in wpa_supplicant.

Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
7 years agoDefine eapol_sm_get_eap_proxy_imsi() only with CONFIG_EAP_PROXY=y
Jouni Malinen [Sun, 19 Feb 2017 10:28:33 +0000 (12:28 +0200)] 
Define eapol_sm_get_eap_proxy_imsi() only with CONFIG_EAP_PROXY=y

This function is called only from locations within ifdef
CONFIG_EAP_PROXY, so there is no need to try to cover the not-defined
case here and the function can simply be removed completely if
CONFIG_EAP_PROXY=y is not used.

Signed-off-by: Jouni Malinen <j@w1.fi>
7 years agoFT: Merge similar error paths to use common steps
Jouni Malinen [Sun, 19 Feb 2017 10:23:21 +0000 (12:23 +0200)] 
FT: Merge similar error paths to use common steps

Signed-off-by: Jouni Malinen <j@w1.fi>
7 years agotests: WPA2-PSK-FT AP Reassociation Request frame processing
Jouni Malinen [Sun, 19 Feb 2017 09:55:51 +0000 (11:55 +0200)] 
tests: WPA2-PSK-FT AP Reassociation Request frame processing

Signed-off-by: Jouni Malinen <j@w1.fi>
7 years agotests: WPA2-PSK-FT AP and RIC
Jouni Malinen [Sat, 18 Feb 2017 19:15:30 +0000 (21:15 +0200)] 
tests: WPA2-PSK-FT AP and RIC

Signed-off-by: Jouni Malinen <j@w1.fi>
7 years agoFT: Support addition of RIC elements into Reassociation Request frame
Jouni Malinen [Sat, 18 Feb 2017 19:14:10 +0000 (21:14 +0200)] 
FT: Support addition of RIC elements into Reassociation Request frame

The new "SET ric_ies <hexdump>" control interface command can now be
used to request wpa_supplicant to add the specified RIC elements into
Reassociation Request frame when using FT protocol. This is mainly for
testing purposes.

Signed-off-by: Jouni Malinen <j@w1.fi>
7 years agoMark RSN msg 1/2 key data debug dump as key material
Jouni Malinen [Fri, 17 Feb 2017 09:35:35 +0000 (11:35 +0200)] 
Mark RSN msg 1/2 key data debug dump as key material

This debug print can include GTK and IGTK, so use wpa_hexdump_key()
instead of wpa_hexdump() for it to avoid undesired exposure of keys in
debug log.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agotests: Renew expired server certificates
Jouni Malinen [Sat, 18 Feb 2017 19:38:42 +0000 (21:38 +0200)] 
tests: Renew expired server certificates

Signed-off-by: Jouni Malinen <j@w1.fi>
7 years agoFILS: Fix PMK length for initial connection with FILS SHA384 AKM
Jouni Malinen [Thu, 16 Feb 2017 19:18:18 +0000 (21:18 +0200)] 
FILS: Fix PMK length for initial connection with FILS SHA384 AKM

While the FILS authentication cases were already using the proper PMK
length (48 octets instead of the old hardcoded 32 octet), the initial
association case had not yet been updated to cover the new FILS SHA384
AKM and ended up using only a 32-octet PMK. Fix that to use 48-octet PMK
when using FILS SHA384 AKM.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agoFILS: Fix ifdef for PTK derivation with SHA384-based AKM
Jouni Malinen [Thu, 16 Feb 2017 19:12:40 +0000 (21:12 +0200)] 
FILS: Fix ifdef for PTK derivation with SHA384-based AKM

sha384_prf() is used both with Suite B and FILS, so add CONFIG_FILS as
another alternative to building in this functionality.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agotests: Add HMAC-SHA256 and HMAC-SHA384 test vectors from RFC 4231
Jouni Malinen [Thu, 16 Feb 2017 18:40:02 +0000 (20:40 +0200)] 
tests: Add HMAC-SHA256 and HMAC-SHA384 test vectors from RFC 4231

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agoAdd HMAC-SHA384 with internal crypto
Jouni Malinen [Thu, 16 Feb 2017 18:37:19 +0000 (20:37 +0200)] 
Add HMAC-SHA384 with internal crypto

This is a copy of the internal HMAC-SHA256 implementation with the hash
block size and output length updated to match SHA384 parameters.

Signed-off-by: Jouni Malinen <j@w1.fi>
7 years agoOpenSSL: Fix hmac_sha384_vector() implementation
Jouni Malinen [Thu, 16 Feb 2017 18:38:09 +0000 (20:38 +0200)] 
OpenSSL: Fix hmac_sha384_vector() implementation

The output length was incorrect (32 from the copy-pasted SHA256
version). Fix this to return the correct number of octets (48) for
SHA384. This fixes incorrect key derivation in FILS when using the
SHA384-based AKM.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agotests: Enable SO_REUSEADDR for FILS HLP testing sockets
Jouni Malinen [Thu, 16 Feb 2017 18:58:07 +0000 (20:58 +0200)] 
tests: Enable SO_REUSEADDR for FILS HLP testing sockets

This is needed to avoid "Address already in use" issues in some test
sequences.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agobrowser-wpadebug: Send HTTP response with HTTP/1.1 header
Purushottam Kushwaha [Thu, 16 Feb 2017 06:22:46 +0000 (11:52 +0530)] 
browser-wpadebug: Send HTTP response with HTTP/1.1 header

HTTP response was previously sent as a plaintext without the HTTP header
on port 12345. By default Android webview/Chrome assumes plaintext as
HTTP/0.9 data. Android webview/Chrome has removed support of HTTP/0.9
request/response on non-standard ports, i.e., other than port 80. This
results in error while opening URL 'http://localhost:12345/'.

Fix this by prefixing the HTTP response with the HTTP/1.1 header.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agotests: WNM BSS Transition Management with RSN
Jouni Malinen [Thu, 16 Feb 2017 11:33:45 +0000 (13:33 +0200)] 
tests: WNM BSS Transition Management with RSN

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agotests: P2P channel selection with driver frequency preference list
Jouni Malinen [Wed, 15 Feb 2017 14:06:41 +0000 (16:06 +0200)] 
tests: P2P channel selection with driver frequency preference list

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agoP2P: Verify local driver preferred frequencies for P2P use cases
Jouni Malinen [Thu, 16 Feb 2017 09:42:47 +0000 (11:42 +0200)] 
P2P: Verify local driver preferred frequencies for P2P use cases

Previously the peer operating channel preference was accepted if the
indicated frequency was listed in the local preference list from the
driver. This was assuming that the driver included only channels that
are currently enabled for GO operation. Since that might not be the
case, filter the local preference list by doing an explicit validation
of the indicated channels for P2P support.

This moves the similar validation steps from two other code paths in
p2p_check_pref_chan_recv() and p2p_check_pref_chan_no_recv() into a
common filtering step in p2p_check_pref_chan() for all three cases.

This avoids issues to start the GO in cases where the preferred
frequency list from the driver may include channels that are not
currently enabled for P2P GO use (e.g., 5 GHz band in world roaming
configuration).

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agoP2P: Add P2P_SET override_pref_op_chan to allow overriding preference
Jouni Malinen [Wed, 15 Feb 2017 14:07:13 +0000 (16:07 +0200)] 
P2P: Add P2P_SET override_pref_op_chan to allow overriding preference

This new P2P_SET parameter uses <op_class>:<channel> format and is used
mainly for testing purposes to allow overriding the value of the GO
Negotiation Response frame Operating Channel attribute.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agotests: wpa_supplicant get_pref_freq_list_override
Jouni Malinen [Wed, 15 Feb 2017 13:41:17 +0000 (15:41 +0200)] 
tests: wpa_supplicant get_pref_freq_list_override

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agoAdd wpa_supplicant SET get_pref_freq_list_override
Jouni Malinen [Wed, 15 Feb 2017 13:38:59 +0000 (15:38 +0200)] 
Add wpa_supplicant SET get_pref_freq_list_override

This can be used to override driver get_pref_freq_list() operation for
more convenient testing of preferred frequency list functionality.

Override string format:
<if_type1>:<freq1>,<freq2>,... <if_type2>:...

if_type: 0=STATION, 2=AP, 3=P2P_GO, 4=P2P_CLIENT, 8=TDLS, 9=IBSS

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agoUse throughput estimate-based BSS selection with larger SNR difference
Jouni Malinen [Thu, 16 Feb 2017 09:09:04 +0000 (11:09 +0200)] 
Use throughput estimate-based BSS selection with larger SNR difference

Previously, the est_throughput comparison was done only when SNR
difference was less than 5 dB. Since the throughput estimation take into
account SNR, this can be done in more cases. For now, add a conservative
2 dB more to the difference so that any SNR difference below 7 dB
results in BSS selection based on throughput estimates.

In addition, the throughput estimates require SNR values to be
available, so separate this from the 5 GHz preference that can be done
based on either SNR or qual values.

Signed-off-by: Jouni Malinen <j@w1.fi>
7 years agoDrop GREAT_SNR definition from 30 to 25 dB
Jouni Malinen [Thu, 16 Feb 2017 09:07:12 +0000 (11:07 +0200)] 
Drop GREAT_SNR definition from 30 to 25 dB

This allows throughput estimates and 5 GHz preference over 2.4 GHz band
to be used in more cases. The previously used value of 30 was
significantly more conservative than the SNR limits used for the highest
rate in scan_est_throughput() and this resulted in cases where 5 GHz AP
was ignored while SNR with it would have been close to reaching the
maximum TX rate.

Signed-off-by: Jouni Malinen <j@w1.fi>
7 years agotests: WPA2-PSK-FT AP over DS protocol testing for AP processing
Jouni Malinen [Wed, 15 Feb 2017 09:17:37 +0000 (11:17 +0200)] 
tests: WPA2-PSK-FT AP over DS protocol testing for AP processing

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agotests: WPA2-PSK-FT and AP OOM
Jouni Malinen [Tue, 14 Feb 2017 09:10:58 +0000 (11:10 +0200)] 
tests: WPA2-PSK-FT and AP OOM

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agoFT: Check key derivation results explicitly in AP operations
Jouni Malinen [Tue, 14 Feb 2017 09:09:30 +0000 (11:09 +0200)] 
FT: Check key derivation results explicitly in AP operations

Previously, any potential (even if very unlikely) local operation error
was ignored. Now these will result in aborting the negotiation.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agotests: Add TEST_FAIL() to OpenSSL aes_wrap() and aes_unwrap()
Jouni Malinen [Tue, 14 Feb 2017 08:53:10 +0000 (10:53 +0200)] 
tests: Add TEST_FAIL() to OpenSSL aes_wrap() and aes_unwrap()

This makes it easier to add more testing coverage for error paths.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agoFILS: Remove CRC32 dependency from build
Jouni Malinen [Mon, 13 Feb 2017 17:45:51 +0000 (19:45 +0200)] 
FILS: Remove CRC32 dependency from build

The published P802.11ai version does not use CRC32 anymore, so remove
inclusion of crc32.o into wpa_supplicant and hostapd builds based on
CONFIG_FILS=y.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agotests: FILS SK HLP and DHCP response parsing
Jouni Malinen [Mon, 13 Feb 2017 11:42:31 +0000 (13:42 +0200)] 
tests: FILS SK HLP and DHCP response parsing

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agotests: FILS SK HLP request parsing
Jouni Malinen [Mon, 13 Feb 2017 09:51:25 +0000 (11:51 +0200)] 
tests: FILS SK HLP request parsing

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agotests: FILS SK HLP and hostapd OOM
Jouni Malinen [Mon, 13 Feb 2017 09:09:02 +0000 (11:09 +0200)] 
tests: FILS SK HLP and hostapd OOM

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agotests: FILS SK HLP (rapid commit server timeout)
Jouni Malinen [Mon, 13 Feb 2017 08:56:01 +0000 (10:56 +0200)] 
tests: FILS SK HLP (rapid commit server timeout)

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agotests: WNM Disassociation Imminent failure cases
Jouni Malinen [Sun, 12 Feb 2017 16:15:37 +0000 (18:15 +0200)] 
tests: WNM Disassociation Imminent failure cases

Signed-off-by: Jouni Malinen <j@w1.fi>
7 years agotestS: Additional BSS TM error case coverage
Jouni Malinen [Sun, 12 Feb 2017 16:10:25 +0000 (18:10 +0200)] 
testS: Additional BSS TM error case coverage

Signed-off-by: Jouni Malinen <j@w1.fi>
7 years agotests: WNM BSS TM - protocol testing for AP message parsing
Jouni Malinen [Sun, 12 Feb 2017 16:01:03 +0000 (18:01 +0200)] 
tests: WNM BSS TM - protocol testing for AP message parsing

Signed-off-by: Jouni Malinen <j@w1.fi>
7 years agotests: WNM Sleep Mode - open (fail)
Jouni Malinen [Sun, 12 Feb 2017 15:52:20 +0000 (17:52 +0200)] 
tests: WNM Sleep Mode - open (fail)

Signed-off-by: Jouni Malinen <j@w1.fi>
7 years agotests: WNM BSS Transition Management OOM
Jouni Malinen [Sun, 12 Feb 2017 15:47:58 +0000 (17:47 +0200)] 
tests: WNM BSS Transition Management OOM

Signed-off-by: Jouni Malinen <j@w1.fi>
7 years agoWNM: Remove unused code from BSS TM Req generation
Jouni Malinen [Sun, 12 Feb 2017 15:40:34 +0000 (17:40 +0200)] 
WNM: Remove unused code from BSS TM Req generation

The url argument to ieee802_11_send_bss_trans_mgmt_request() was
hardcoded to NULL in the only caller, so this code cannot be reached.
wnm_send_bss_tm_req() construct the same frame with more generic
parameters, including option for including the URL, so
ieee802_11_send_bss_trans_mgmt_request() can be simplified.

Signed-off-by: Jouni Malinen <j@w1.fi>
7 years agoWNM: Use a common error path in ieee802_11_send_wnmsleep_resp()
Jouni Malinen [Sun, 12 Feb 2017 09:49:21 +0000 (11:49 +0200)] 
WNM: Use a common error path in ieee802_11_send_wnmsleep_resp()

Signed-off-by: Jouni Malinen <j@w1.fi>
7 years agotests: WNM Sleep Mode - protocol testing
Jouni Malinen [Sun, 12 Feb 2017 09:46:13 +0000 (11:46 +0200)] 
tests: WNM Sleep Mode - protocol testing

Signed-off-by: Jouni Malinen <j@w1.fi>
7 years agoWNM: Fix WNM-Sleep Mode Request parsing for WNM-Sleep element
Jouni Malinen [Sun, 12 Feb 2017 09:43:54 +0000 (11:43 +0200)] 
WNM: Fix WNM-Sleep Mode Request parsing for WNM-Sleep element

The length of the WNM-Sleep element was not verified before using it.
This could result in reading the subfields in this element (total of
four octets) beyond the end of the buffer. Fix this by ignoring the
element if it is not long enough to contain all the subfields.

Signed-off-by: Jouni Malinen <j@w1.fi>
7 years agotests: RSN AP deinit during PeerKey negotiation
Jouni Malinen [Sun, 12 Feb 2017 09:18:03 +0000 (11:18 +0200)] 
tests: RSN AP deinit during PeerKey negotiation

Signed-off-by: Jouni Malinen <j@w1.fi>
7 years agoPeerKey: Remove dead code related to STSL negotiation state
Jouni Malinen [Sun, 12 Feb 2017 09:15:49 +0000 (11:15 +0200)] 
PeerKey: Remove dead code related to STSL negotiation state

The struct wpa_stsl_negotiation seemed to have been for some kind of
tracking of state of PeerKey negotiations within hostapd. However,
nothing is actually adding any entries to wpa_auth->stsl_negotiations or
using this state. Since PeerKey does not look like something that would
be deployed in practice, there is no justification to spend time on
making this any more complete. Remove the dead code now instead of
trying to figure out what it might be used for.

Signed-off-by: Jouni Malinen <j@w1.fi>
7 years agoOSU server: Remove invalid options from documentation
Masashi Honma [Sat, 11 Feb 2017 09:38:23 +0000 (18:38 +0900)] 
OSU server: Remove invalid options from documentation

Remove -d and -I options which causes "Illegal option" error.

Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
7 years agotests: Additional WMM AP parsing coverage
Jouni Malinen [Sat, 11 Feb 2017 10:12:41 +0000 (12:12 +0200)] 
tests: Additional WMM AP parsing coverage

Signed-off-by: Jouni Malinen <j@w1.fi>
7 years agoWMM: Fix estimated medium time calculation for some corner cases
Jouni Malinen [Sat, 11 Feb 2017 10:09:11 +0000 (12:09 +0200)] 
WMM: Fix estimated medium time calculation for some corner cases

It was possible for the int medium_time variable to overflow, so use a
64-bit unsigned integer to get a large enough value for the
multiplication.

Signed-off-by: Jouni Malinen <j@w1.fi>
7 years agoFix "IEEE 802.11: Ignored Action frame" debug message
Jouni Malinen [Sat, 11 Feb 2017 10:08:12 +0000 (12:08 +0200)] 
Fix "IEEE 802.11: Ignored Action frame" debug message

The arguments to printf were in incorrect order which resulted in
incorrect STA address in the debug message.

Signed-off-by: Jouni Malinen <j@w1.fi>
7 years agoWMM: Remove obsolete TODO comments
Jouni Malinen [Sat, 11 Feb 2017 08:29:18 +0000 (10:29 +0200)] 
WMM: Remove obsolete TODO comments

These are more about kernel behavior than anything that hostapd would
implement.

Signed-off-by: Jouni Malinen <j@w1.fi>
7 years agoSync android.config with wpa_supplicant defconfig changes
Jouni Malinen [Sat, 11 Feb 2017 08:21:56 +0000 (10:21 +0200)] 
Sync android.config with wpa_supplicant defconfig changes

This adds new edits from defconfig to android.config. No new build
options are enabled, i.e., this is only bringing in comment updates and
new parameters in commented out form.

Signed-off-by: Jouni Malinen <j@w1.fi>
7 years agoAdd bgscan options to wpa_supplicant defconfig
Jouni Malinen [Sat, 11 Feb 2017 08:21:24 +0000 (10:21 +0200)] 
Add bgscan options to wpa_supplicant defconfig

Signed-off-by: Jouni Malinen <j@w1.fi>
7 years agoFix wpa_supplicant defconfig copy-paste description
Jouni Malinen [Sat, 11 Feb 2017 08:12:16 +0000 (10:12 +0200)] 
Fix wpa_supplicant defconfig copy-paste description

This is obviously for the wpa_supplicant binary, not hostapd.

Signed-off-by: Jouni Malinen <j@w1.fi>
7 years agotests: wpa_supplicant SET relative RSSI
Jouni Malinen [Fri, 10 Feb 2017 17:41:21 +0000 (19:41 +0200)] 
tests: wpa_supplicant SET relative RSSI

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agoAdd support to sched scan to report relatively better BSSs
vamsi krishna [Tue, 15 Nov 2016 09:42:44 +0000 (15:12 +0530)] 
Add support to sched scan to report relatively better BSSs

Add support to set sched scan relative RSSI parameters so that the
drivers can report BSSs after relative comparision with the current
connected BSS. This feature is applicable only when in connected mode.

The below commands can be used to configure relative RSSI parameters
SET relative_rssi <disable|rssi_value>
disable - to disable the feature
rssi_value - amount of relative RSSI in dB
SET relative_band_adjust <band:adjust_value>
band - "2G" or "5G" for 2.4 GHz or 5 GHz respectively
adjust_value - amount of RSSI to be adjusted in dB

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agonl80211: sched_scan relative RSSI parameters
vamsi krishna [Tue, 15 Nov 2016 09:42:44 +0000 (15:12 +0530)] 
nl80211: sched_scan relative RSSI parameters

Add driver interface support to set sched_scan relative RSSI parameters
and to indicate driver support for this.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agomka: Send MKPDUs forever if mode is PSK
Badrish Adiga H R [Tue, 7 Feb 2017 08:58:31 +0000 (14:28 +0530)] 
mka: Send MKPDUs forever if mode is PSK

Issue: When 2 peers are running MACsec in PSK mode with CA
established, if the interface goes down and comes up after
time > 10 seconds, CA does not get re-established.

Root cause: This is because retry_count of both the peers
would have reached MAX_RETRY_CNT and stays idle for other to
respond. This is clear deadlock situation where peer A waits
for MKA packets from peer B to wake up and vice-versa.

Fix: If MACsec is running in PSK mode, we should send MKPDUs
forever for every 2 seconds.

Signed-off-by: Badrish Adiga H R <badrish.adigahr@gmail.com>
7 years agotests: EAP-AKA within EAP-TTLS/PEAP/FAST tunnel and reauth
Jouni Malinen [Fri, 10 Feb 2017 16:56:30 +0000 (18:56 +0200)] 
tests: EAP-AKA within EAP-TTLS/PEAP/FAST tunnel and reauth

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agoEAP: Call deinit_for_reauth() for Phase 2 EAP methods
Jouni Malinen [Fri, 10 Feb 2017 16:55:26 +0000 (18:55 +0200)] 
EAP: Call deinit_for_reauth() for Phase 2 EAP methods

EAP-TTLS/PEAP/FAST were previously doing this for init_for_reauth(), but
not for deinit_for_reauth(). Add the deinit_for_reauth() call as well to
cover cases like EAP-AKA cleaup of AT_CHECKCODE data.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agoEAP-AKA: Don't use anonymous identity in phase2
Jouni Malinen [Fri, 10 Feb 2017 16:54:20 +0000 (18:54 +0200)] 
EAP-AKA: Don't use anonymous identity in phase2

This adds the same changes to EAP-AKA that were previous done for
EAP-SIM to allow functionality within an EAP-TTLS/PEAP/FAST tunnel
without causing issues to the phase 1 identity string.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agotests: EAP-SIM tunneled within EAP-TTLS/PEAP/FAST
Jouni Malinen [Fri, 10 Feb 2017 14:05:33 +0000 (16:05 +0200)] 
tests: EAP-SIM tunneled within EAP-TTLS/PEAP/FAST

This verifies both the internal and external GSM authentication
operation when EAP-SIM is tunneled within EAP-TTLS/PEAP/FAST.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agoEAP-SIM: Don't use anonymous identity in phase2
Paul Stewart [Thu, 9 Feb 2017 01:47:57 +0000 (17:47 -0800)] 
EAP-SIM: Don't use anonymous identity in phase2

The "anonymous_identity" configuration field has more than one
semantic meaning. For tunneled EAP methods, this refers to the
outer EAP identity. For EAP-SIM, this refers to the pseudonym
identity. Also, interestingly, EAP-SIM can overwrite the
"anonymous_identity" field if one is provided to it by the
authenticator.

When EAP-SIM is tunneled within an outer method, it makes sense
to only use this value for the outer method, since it's unlikely
that this will also be valid as an identity for the inner EAP-SIM
method. Also, presumably since the outer method protects the
EAP-SIM transaction, there is no need for a pseudonym in this
usage.

Similarly, if EAP-SIM is being used as an inner method, it must
not push the pseudonym identity using eap_set_anon_id() since it
could overwrite the identity for the outer EAP method.

Signed-off-by: Paul Stewart <pstew@google.com>
7 years agoEAP peer: Cache decrypted requests for EAP-SIM/AKA/AKA'
Paul Stewart [Thu, 9 Feb 2017 00:46:41 +0000 (16:46 -0800)] 
EAP peer: Cache decrypted requests for EAP-SIM/AKA/AKA'

Add an internal flag which indicates to tunneled EAP methods (FAST,
PEAP, TTLS) that they should cache decrypted EAP-SIM/AKA/AKA' requests.
This allows EAP-SIM/AKA/AKA' to be tunneled within these outer methods
while using an external SIM authenticator over the control interface.

Signed-off-by: Paul Stewart <pstew@google.com>
7 years agotests: WPA-PSK/TKIP countermeasures (detected by two STAs)
Jouni Malinen [Fri, 10 Feb 2017 09:51:00 +0000 (11:51 +0200)] 
tests: WPA-PSK/TKIP countermeasures (detected by two STAs)

This includes check for hostapd ending TKIP countermeasures.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agoSME: Remove null ie param from CTRL-EVENT-AUTH-REJECT
Jouni Malinen [Fri, 10 Feb 2017 09:49:36 +0000 (11:49 +0200)] 
SME: Remove null ie param from CTRL-EVENT-AUTH-REJECT

Clean up the event message by removing the ie=<value> parameter when the
IEs are not available instead of printing out "ie=(null)".

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agotests: Additional RRM testing coverage for hostapd
Jouni Malinen [Thu, 9 Feb 2017 10:27:30 +0000 (12:27 +0200)] 
tests: Additional RRM testing coverage for hostapd

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agoRRM: Fix a memory leak in beacon request handling
Jouni Malinen [Thu, 9 Feb 2017 14:54:26 +0000 (16:54 +0200)] 
RRM: Fix a memory leak in beacon request handling

Free the pending frequency list if a second beacon request is received
before the scan for the previous one has been completed.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agoRRM: Fix range request overriding
Jouni Malinen [Thu, 9 Feb 2017 11:25:29 +0000 (13:25 +0200)] 
RRM: Fix range request overriding

This was supposed to cancel the existing eloop timeout instead of
registering another one.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agoRRM: Merge similar error returns to a single one
Jouni Malinen [Thu, 9 Feb 2017 11:24:26 +0000 (13:24 +0200)] 
RRM: Merge similar error returns to a single one

There is no need to maintain different return paths for STA being
completely not present and not authorized, so merge these into a single
case.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agoRRM: Fix Range Request max age parsing
Jouni Malinen [Thu, 9 Feb 2017 11:23:00 +0000 (13:23 +0200)] 
RRM: Fix Range Request max age parsing

This 16-bit field uses little endian encoding and it must be read with
WPA_GET_LE16() instead of assuming host byte order is little endian. In
addition, this could be misaligned, so using a u16 pointer here was not
appropriate.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agotests: More WPA2 PSK from RADIUS Tunnel-Password coverage
Jouni Malinen [Wed, 8 Feb 2017 18:15:10 +0000 (20:15 +0200)] 
tests: More WPA2 PSK from RADIUS Tunnel-Password coverage

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agotests: RADIUS MAC ACL and server unreachable
Jouni Malinen [Wed, 8 Feb 2017 15:41:21 +0000 (17:41 +0200)] 
tests: RADIUS MAC ACL and server unreachable

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agoFix MAC ACL query freeing on deinit
Jouni Malinen [Wed, 8 Feb 2017 15:37:50 +0000 (17:37 +0200)] 
Fix MAC ACL query freeing on deinit

hapd->acl_cache and hapd->acl_queries were not reset back to NULL in
hostapd_acl_deinit() when cached results and pending ACL queries were
freed. This left stale pointers to freed memory in hapd. While this was
normally followed by freeing of the hapd data, it is possible to re-use
that hapd when disabling and re-enabling an interface. That sequence
could result in use of freed memory if done while there were cached
results or pending ACL operations with a RADIUS server (especially, if
that server did not reply).

Fix this by setting hapd->acl_queries to NULL when the pending entries
are freed.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agotests: RADIUS MAC ACL and OOM
Jouni Malinen [Wed, 8 Feb 2017 15:28:49 +0000 (17:28 +0200)] 
tests: RADIUS MAC ACL and OOM

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
7 years agotests: RADIUS Accounting in RSN and failure to add attributes due to OOM
Jouni Malinen [Wed, 8 Feb 2017 14:16:21 +0000 (16:16 +0200)] 
tests: RADIUS Accounting in RSN and failure to add attributes due to OOM

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>