]> git.ipfire.org Git - thirdparty/hostap.git/log
thirdparty/hostap.git
8 years agotests: Clean up wnm_bss_tm_req test not initialize unused AP
Beni Lev [Mon, 6 Mar 2017 11:30:37 +0000 (13:30 +0200)] 
tests: Clean up wnm_bss_tm_req test not initialize unused AP

The second AP is not really needed in this test case that verifies
parsing of various different BSs Transition Management Request frame
payloads.

Signed-off-by: Beni Lev <beni.lev@intel.com>
8 years agowpa_supplicant: Fix non_pref_chan example
Avraham Stern [Mon, 6 Mar 2017 11:30:36 +0000 (13:30 +0200)] 
wpa_supplicant: Fix non_pref_chan example

The parsing code expects non_pref_chan to be non-quoted.
Fix the example in wpa_supplicant.conf not to include
quotes.

Signed-off-by: Avraham Stern <avraham.stern@intel.com>
8 years agotests: Rename ap_wpa2_psk_file test
Andrei Otcheretianski [Mon, 6 Mar 2017 11:30:35 +0000 (13:30 +0200)] 
tests: Rename ap_wpa2_psk_file test

There are two different tests with the same name in test_ap_psk.py.
Fix that.

Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
8 years agotests: hostapd authentication server test cases
Jouni Malinen [Sun, 5 Mar 2017 10:06:28 +0000 (12:06 +0200)] 
tests: hostapd authentication server test cases

Signed-off-by: Jouni Malinen <j@w1.fi>
8 years agotests: Add TEST_FAIL() to radius_msg_add_attr()
Jouni Malinen [Sun, 5 Mar 2017 14:36:24 +0000 (16:36 +0200)] 
tests: Add TEST_FAIL() to radius_msg_add_attr()

This makes it easier to test error paths for RADIUS message
construction.

Signed-off-by: Jouni Malinen <j@w1.fi>
8 years agoRADIUS server: Fix error paths in new session creation
Jouni Malinen [Sun, 5 Mar 2017 14:16:42 +0000 (16:16 +0200)] 
RADIUS server: Fix error paths in new session creation

radius_server_session_free() does not remove the session from the
session list and these radius_server_get_new_session() error paths ended
up leaving a pointer to freed memory into the session list. This
resulted in the following operations failing due to use of freed memory.

Fix this by using radius_server_session_remove() which removes the entry
from the list in addition to calling radius_server_session_free().

Signed-off-by: Jouni Malinen <j@w1.fi>
8 years agotests: Automatic channel selection failures
Jouni Malinen [Sat, 4 Mar 2017 14:59:57 +0000 (16:59 +0200)] 
tests: Automatic channel selection failures

Signed-off-by: Jouni Malinen <j@w1.fi>
8 years agotests: Automatic channel selection for VHT160
Jouni Malinen [Sat, 4 Mar 2017 11:54:31 +0000 (13:54 +0200)] 
tests: Automatic channel selection for VHT160

Signed-off-by: Jouni Malinen <j@w1.fi>
8 years agoACS: Fix memory leak if interface is disabled during scan
Jouni Malinen [Sat, 4 Mar 2017 11:48:29 +0000 (13:48 +0200)] 
ACS: Fix memory leak if interface is disabled during scan

The survey data was not freed if hostapd interface got disabled during
an ACS scan.

Signed-off-by: Jouni Malinen <j@w1.fi>
8 years agotests: Automatic channel selection for VHT40
Jouni Malinen [Sat, 4 Mar 2017 11:30:43 +0000 (13:30 +0200)] 
tests: Automatic channel selection for VHT40

Signed-off-by: Jouni Malinen <j@w1.fi>
8 years agotests: Automatic channel selection for HT40- channel
Jouni Malinen [Sat, 4 Mar 2017 11:28:27 +0000 (13:28 +0200)] 
tests: Automatic channel selection for HT40- channel

Signed-off-by: Jouni Malinen <j@w1.fi>
8 years agoACS: Simplify code paths
Jouni Malinen [Sat, 4 Mar 2017 11:22:46 +0000 (13:22 +0200)] 
ACS: Simplify code paths

This removes some unnecessarily duplicated return paths and simplifies
code paths.

Signed-off-by: Jouni Malinen <j@w1.fi>
8 years agotests: ProxyARP error cases
Jouni Malinen [Sat, 4 Mar 2017 09:44:55 +0000 (11:44 +0200)] 
tests: ProxyARP error cases

Signed-off-by: Jouni Malinen <j@w1.fi>
8 years agotests: Add TEST_FAIL() checks in l2_packet
Jouni Malinen [Sat, 4 Mar 2017 09:43:58 +0000 (11:43 +0200)] 
tests: Add TEST_FAIL() checks in l2_packet

This enables additional test coverage for error paths.

Signed-off-by: Jouni Malinen <j@w1.fi>
8 years agoFix DHCP/NDISC snoop deinit followed by failing re-init
Jouni Malinen [Sat, 4 Mar 2017 09:42:15 +0000 (11:42 +0200)] 
Fix DHCP/NDISC snoop deinit followed by failing re-init

It was possible to hit a double-free on the l2_packet socket if
initialization of DHCP/NDISC snoop failed on a hostapd interface that
had previously had those enabled successfully. Fix this by clearing the
l2_packet pointers during deinit.

Signed-off-by: Jouni Malinen <j@w1.fi>
8 years agotests: P2P autonomous GO and NoA
Jouni Malinen [Sat, 4 Mar 2017 08:57:28 +0000 (10:57 +0200)] 
tests: P2P autonomous GO and NoA

Signed-off-by: Jouni Malinen <j@w1.fi>
8 years agoAdd QCA vendor command/attr for BRP antenna limit control
Alexei Avshalom Lazar [Tue, 28 Feb 2017 07:36:41 +0000 (09:36 +0200)] 
Add QCA vendor command/attr for BRP antenna limit control

Add QCA_NL80211_VENDOR_SUBCMD_BRP_SET_ANT_LIMIT for setting the number
of antennas that will be active in different modes for each connection.

Signed-off-by: Alexei Avshalom Lazar <qca_ailizaro@qca.qualcomm.com>
8 years agotests: Scan failures for TYPE=ONLY
Jouni Malinen [Wed, 1 Mar 2017 14:42:56 +0000 (16:42 +0200)] 
tests: Scan failures for TYPE=ONLY

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
8 years agoClear scan_res_handler on no-retry failure
Hu Wang [Wed, 1 Mar 2017 14:39:30 +0000 (16:39 +0200)] 
Clear scan_res_handler on no-retry failure

Previously it was possible for wpa_s->scan_res_handler to remain set to
its old value in case wpa_drv_scan() failed and no retry for the scan
trigger was scheduled (i.e., when last_scan_req == MANUAL_SCAN_REQ).
This could result in getting stuck with the next connection attempt
after a failed "SCAN TYPE=ONLY" operation when wpa_s->scan_res_handler
was set to scan_only_handler().

Fix this by clearing wpa_s->scan_res_handler if wpa_drv_scan() fails and
no retry is scheduled.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
8 years agotests: Wi-Fi Display extensions to P2P with R2 subelems
Jouni Malinen [Wed, 1 Mar 2017 10:16:10 +0000 (12:16 +0200)] 
tests: Wi-Fi Display extensions to P2P with R2 subelems

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
8 years agoWFD: Add WFD R2 Subelements
Amarnath Hullur Subramanyam [Wed, 1 Mar 2017 05:18:58 +0000 (21:18 -0800)] 
WFD: Add WFD R2 Subelements

Define and add support for WFD R2 Subelements.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
8 years agoQCA nl80211 vendor attribute for specific sub-20 MHz channel width
Gaole Zhang [Wed, 1 Mar 2017 07:56:32 +0000 (15:56 +0800)] 
QCA nl80211 vendor attribute for specific sub-20 MHz channel width

Define a new attribute QCA_WLAN_VENDOR_ATTR_CONFIG_SUB20_CHAN_WIDTH.
This attribute can set a station device to work in 5 or 10 MHz channel
width while in disconnect state.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
8 years agotests: WNM BSS Transition Management and scan needed (Table E-4)
Jouni Malinen [Wed, 1 Mar 2017 09:39:24 +0000 (11:39 +0200)] 
tests: WNM BSS Transition Management and scan needed (Table E-4)

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
8 years agotests: WNM BSS TM with explicit Table E-4 indication
Jouni Malinen [Wed, 1 Mar 2017 09:25:49 +0000 (11:25 +0200)] 
tests: WNM BSS TM with explicit Table E-4 indication

wnm_bss_tm_global uses an unknown country code to use Table E-4. Extend
that with otherwise identical test case wnm_bss_tm_global4, but with the
country string explicitly indicating use of Table E-4 while using a
known country code.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
8 years agotests: Country code string and the third octet
Jouni Malinen [Wed, 1 Mar 2017 09:11:31 +0000 (11:11 +0200)] 
tests: Country code string and the third octet

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
8 years agoMake the third octet of Country String configurable
Jouni Malinen [Wed, 1 Mar 2017 08:58:15 +0000 (10:58 +0200)] 
Make the third octet of Country String configurable

The new hostapd.conf parameter country3 can now be used to configure the
third octet of the Country String that was previously hardcoded to ' '
(= 0x20).

For example:

All environments of the current frequency band and country (default)
country3=0x20

Outdoor environment only
country3=0x4f

Indoor environment only
country3=0x49

Noncountry entity (country_code=XX)
country3=0x58

IEEE 802.11 standard Annex E table indication: 0x01 .. 0x1f
Annex E, Table E-4 (Global operating classes)
country3=0x04

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
8 years agotests: Add mesh path test
Masashi Honma [Tue, 28 Feb 2017 00:50:52 +0000 (09:50 +0900)] 
tests: Add mesh path test

Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
8 years agotests: Save the log of wmediumd
Masashi Honma [Tue, 28 Feb 2017 00:50:51 +0000 (09:50 +0900)] 
tests: Save the log of wmediumd

Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
8 years agotests: Work around pyopenssl API change
Jouni Malinen [Tue, 28 Feb 2017 09:48:16 +0000 (11:48 +0200)] 
tests: Work around pyopenssl API change

OpenSSL.SSL.Connection.state_string() was replaced with
get_state_string() in pyopenssl. Add workaround code to be able to use
either of these names.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
8 years agotrace: Look up start to cope with ASLR
Johannes Berg [Mon, 27 Feb 2017 23:04:14 +0000 (00:04 +0100)] 
trace: Look up start to cope with ASLR

When ASLR is enabled, like it is by default on many distros now,
the trace code doesn't work right.

Fix this by looking up the start of the executable mapping and
subtracing it from all the lookups.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
8 years agotests: Fix EAPOL frame source address in protocol tests
Jouni Malinen [Mon, 27 Feb 2017 22:03:48 +0000 (00:03 +0200)] 
tests: Fix EAPOL frame source address in protocol tests

The send_eapol() calls for delivering frames to wpa_supplicant had a
copy-paste bug from the earlier hostapd cases. These were supposed to
use the BSSID, not the address of the station, as the source address.
The local address worked for most cases since it was practically
ignored, but this could prevent the race condition workaround for
association event from working. Fix this by using the correct source
address (BSSID).

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
8 years agoaf_alg: Crypto wrappers for Linux kernel crypto (AF_ALG)
Jouni Malinen [Sun, 26 Feb 2017 23:10:02 +0000 (01:10 +0200)] 
af_alg: Crypto wrappers for Linux kernel crypto (AF_ALG)

CONFIG_TLS=linux can now be used to select the crypto implementation
that uses the user space socket interface (AF_ALG) for the Linux kernel
crypto implementation. This commit includes some of the cipher, hash,
and HMAC functions. The functions that are not available through AF_ALG
(e.g., the actual TLS implementation) use the internal implementation
(CONFIG_TLS=internal).

Signed-off-by: Jouni Malinen <j@w1.fi>
8 years agocrypto: Process des_encrypt() error returns in callers
Jouni Malinen [Tue, 28 Feb 2017 09:11:12 +0000 (11:11 +0200)] 
crypto: Process des_encrypt() error returns in callers

This updates all the des_encrypt() callers to handle error cases.

Signed-off-by: Jouni Malinen <j@w1.fi>
8 years agocrypto: Add return value to DES and AES encrypt/decrypt
Jouni Malinen [Tue, 28 Feb 2017 08:57:43 +0000 (10:57 +0200)] 
crypto: Add return value to DES and AES encrypt/decrypt

These operations may fail with some crypto wrappers, so allow the
functions to report their results to the caller.

Signed-off-by: Jouni Malinen <j@w1.fi>
8 years agoMBO: Fix minimum length check on non_pref_chan configuration
Ashwini Patil [Fri, 24 Feb 2017 08:01:54 +0000 (13:31 +0530)] 
MBO: Fix minimum length check on non_pref_chan configuration

The reason detail field in non_pref_chan attribute was removed
from MBO draft v0.0_r25. Also oper_class can be 1 character for
few country codes (e.g., country code-UK, channel number-1). So the
shortest channel configuration is 7 characters.

This was missed in the earlier commit
4a83d4b6861f6627b6b256b8c126547a19409a70 ('MBO: Do not add reason_detail
in non_pref_chan attr (STA)') that took care of other changes related to
removal of the reason detail.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
8 years agohostapd: Get channel number from frequency based on other modes as well
Peng Xu [Wed, 22 Feb 2017 22:05:35 +0000 (14:05 -0800)] 
hostapd: Get channel number from frequency based on other modes as well

When getting the channel number from a frequency, all supported modes
should be checked rather than just the current mode. This is needed when
hostapd switches to a channel in different band.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
8 years agoFILS: Fix fils_hlp.c build with older netinet/udp.h definitions
Jouni Malinen [Sun, 26 Feb 2017 10:18:29 +0000 (12:18 +0200)] 
FILS: Fix fils_hlp.c build with older netinet/udp.h definitions

The __FAVOR_BSD macro was previously used in netinet/udp.h to select
between two different names of the variables in struct udphdr. Define
that to force the versions with the uh_ prefix. In addition, use the
same style consistently within fils_hlp.c.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
8 years agoFix AES-SIV build dependencies
Jouni Malinen [Sun, 26 Feb 2017 10:02:21 +0000 (12:02 +0200)] 
Fix AES-SIV build dependencies

aes-siv.c needs functions from aes-ctr.c and aes-omac1.c, so set
NEED_AES_CTR=y and NEED_AES_OMAC1=y if NEED_AES_SIV is defined. This
fixes some build configuration combinations where either of those
dependencies were not pulled in through other parameters. For example,
some CONFIG_FILS=y cases were impacted.

Signed-off-by: Jouni Malinen <j@w1.fi>
8 years agomesh: Fix CONFIG_MESH=y build without CONFIG_IEEE80211W=y
Jouni Malinen [Sun, 26 Feb 2017 09:58:04 +0000 (11:58 +0200)] 
mesh: Fix CONFIG_MESH=y build without CONFIG_IEEE80211W=y

Signed-off-by: Jouni Malinen <j@w1.fi>
8 years agotests: AP with open mode and use for SELECT_NETWORK freq parameter
Jouni Malinen [Sat, 25 Feb 2017 16:45:59 +0000 (18:45 +0200)] 
tests: AP with open mode and use for SELECT_NETWORK freq parameter

Signed-off-by: Jouni Malinen <j@w1.fi>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>
8 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>