mech_eap.git
10 years agotests: Verify dynamic wpa_supplicant interface addition/removal
Jouni Malinen [Mon, 30 Dec 2013 21:08:25 +0000 (23:08 +0200)]
tests: Verify dynamic wpa_supplicant interface addition/removal

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agowpaspy: Do not leave socket files behind if connection fails
Jouni Malinen [Tue, 31 Dec 2013 13:43:17 +0000 (15:43 +0200)]
wpaspy: Do not leave socket files behind if connection fails

Ctrl::__init__ needs to handle socket.connect() exceptions and unlink
the client socket file on failures.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agowpaspy: Fix tracking of attached status
Jouni Malinen [Mon, 30 Dec 2013 20:23:18 +0000 (22:23 +0200)]
wpaspy: Fix tracking of attached status

The attached variable was initialized and checked, but never updated.
Fix that by updating it on successful ATTACH/DETACH command.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agonl80211: Report set_supp_port failures in debug log
Jouni Malinen [Mon, 30 Dec 2013 20:11:40 +0000 (22:11 +0200)]
nl80211: Report set_supp_port failures in debug log

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agonl80211: Share a helper function for connect and associate commands
Jouni Malinen [Mon, 30 Dec 2013 18:34:57 +0000 (20:34 +0200)]
nl80211: Share a helper function for connect and associate commands

Most of the attributes to these commands are identical and there is no
need to maintain two copies of the same functionality.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoRemove unnecessary build #ifdef from definitions
Jouni Malinen [Mon, 30 Dec 2013 17:36:29 +0000 (19:36 +0200)]
Remove unnecessary build #ifdef from definitions

This type of definition by itself does not change the binary at all.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoGet rid of duplicated cipher suite and AKM definitions
Jouni Malinen [Mon, 30 Dec 2013 17:33:39 +0000 (19:33 +0200)]
Get rid of duplicated cipher suite and AKM definitions

WPA_CIPHER_* and CIPHER_* are used for the exact same set of cipher
suites with the main difference being that the WPA_CIPHER_* version is
suitable to be used as a bitfield. Similarly, WPA_KEY_MGMT_* and
KEY_MGMT_* have similar design for AKMs. There is no need to maintain
two separate copies of the definitions since the bitfield compatible
version can be used for both needs. Get rid of the CIPHER_* and
KEY_MGMT_* versions to clean up the implementation by getting rid of
unnecessary mapping functions.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agonl80211: Use helper functions for cipher suite mapping
Jouni Malinen [Mon, 30 Dec 2013 16:59:29 +0000 (18:59 +0200)]
nl80211: Use helper functions for cipher suite mapping

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agonl80211: Set control port for NL80211_CMD_COMMAND
Jouni Malinen [Mon, 30 Dec 2013 16:21:04 +0000 (18:21 +0200)]
nl80211: Set control port for NL80211_CMD_COMMAND

NL80211_ATTR_CONTROL_PORT was previously set only for
NL80211_CMD_ASSOCIATE, but it should also be set when using
NL80211_CMD_COMMAND (driver-based SME) even though none of the current
non-mac80211 drivers use this.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoWPS: Clean up UUID debug print
Jouni Malinen [Mon, 30 Dec 2013 14:50:08 +0000 (16:50 +0200)]
WPS: Clean up UUID debug print

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agonl80211: Clean up regulatory rule debug prints
Jouni Malinen [Mon, 30 Dec 2013 14:41:51 +0000 (16:41 +0200)]
nl80211: Clean up regulatory rule debug prints

Combine maximum bandwidth and EIRP into a single debug print.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agonl80211: Print frame registration match on same debug line
Jouni Malinen [Mon, 30 Dec 2013 13:50:09 +0000 (15:50 +0200)]
nl80211: Print frame registration match on same debug line

This makes debug log a bit more readable.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoInterworking: Allow cred blocks not to be saved to a file
Jouni Malinen [Mon, 30 Dec 2013 13:43:55 +0000 (15:43 +0200)]
Interworking: Allow cred blocks not to be saved to a file

The new cred block parameter 'temporary' can be used to indicate that a
cred block is not to be saved to wpa_supplicant configuration file
(e.g., "SET_CRED 0 temporary 1"). This is similar to the concept of
temporary network blocks and allows cred blocks to be managed outside
the wpa_supplicant config file when other parameters are still saved to
the file written by wpa_supplicant.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Verify PMKSA caching
Jouni Malinen [Sun, 29 Dec 2013 17:25:42 +0000 (19:25 +0200)]
tests: Verify PMKSA caching

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoReset WPA parameters to default values on FLUSH command
Jouni Malinen [Sun, 29 Dec 2013 17:25:05 +0000 (19:25 +0200)]
Reset WPA parameters to default values on FLUSH command

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Point to the main hwsim page instead of directly to buildbot
Jouni Malinen [Sun, 29 Dec 2013 16:37:40 +0000 (18:37 +0200)]
tests: Point to the main hwsim page instead of directly to buildbot

This page provides more helpful information than the buildbot UI.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoP2P: Remove WPA_DRIVER_FLAGS_P2P_MGMT option
Jouni Malinen [Sun, 29 Dec 2013 16:20:47 +0000 (18:20 +0200)]
P2P: Remove WPA_DRIVER_FLAGS_P2P_MGMT option

The option of handling upper layer P2P management operations within the
driver/firmware was originally planned to be used with wpa_supplicant,
but this has not really happened and there is no clear sign of this
being needed in the near term either. This functionality has not been
completed and it is certainly not being kept up-to-date or tested. As
such, it is best to remove it for now and if this or something similar
is needed in the future, it can be brought back once a clear need for it
has been demonstrated first.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoWPS: Use shorter scan interval during pre-provisioning search
Jouni Malinen [Sun, 29 Dec 2013 16:02:05 +0000 (18:02 +0200)]
WPS: Use shorter scan interval during pre-provisioning search

Previously, the shorter scan interval was already in use for the
connection following the provisioning step, but same optimization can
also be used for the pre-provisioning scan.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoWPS: Replace wpas_wps_in_progress with identical wpas_wps_searching
Jouni Malinen [Sun, 29 Dec 2013 15:59:12 +0000 (17:59 +0200)]
WPS: Replace wpas_wps_in_progress with identical wpas_wps_searching

There is no point in maintaining two different functions that do
practically the same check of WPS state.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Verify hostapd WPS_GET_STATUS command
Jouni Malinen [Sun, 29 Dec 2013 15:49:21 +0000 (17:49 +0200)]
tests: Verify hostapd WPS_GET_STATUS command

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Verify hostapd WPS_CONFIG command
Jouni Malinen [Sun, 29 Dec 2013 15:39:58 +0000 (17:39 +0200)]
tests: Verify hostapd WPS_CONFIG command

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Verify WPS information in hostapd STA command
Jouni Malinen [Sun, 29 Dec 2013 15:32:43 +0000 (17:32 +0200)]
tests: Verify WPS information in hostapd STA command

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Show test counter on the START line
Jouni Malinen [Sun, 29 Dec 2013 14:45:47 +0000 (16:45 +0200)]
tests: Show test counter on the START line

This makes it more convenient to figure out how far a test cycle is from
live logs.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoSAE: Fix ECC element y coordinate validation step
Jouni Malinen [Sun, 29 Dec 2013 13:59:31 +0000 (15:59 +0200)]
SAE: Fix ECC element y coordinate validation step

prime_len was added to the start pointer twice and because of this, the
actual y coordinate was not verified to be valid. This could also result
in reading beyond the buffer in some cases.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Validate EAP-EKE proposal negotiation
Jouni Malinen [Sun, 29 Dec 2013 11:17:57 +0000 (13:17 +0200)]
tests: Validate EAP-EKE proposal negotiation

This covers all currently supported algorithms and the case of no match.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoEAP-EKE: Allow forced algorithm selection to be configured
Jouni Malinen [Sun, 29 Dec 2013 11:15:43 +0000 (13:15 +0200)]
EAP-EKE: Allow forced algorithm selection to be configured

phase1 parameters dhgroup, encr, prf, and mac can now be used to specify
which algorithm proposal is selected, e.g., with phase1="dhgroup=3
encr=1 prf=1 mac=1" selecting the mandatory-to-implement case. This is
mainly for testing purposes, but can also be used to enforce stronger
algorithms to be used.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Verify dual-radio WPS operations
Jouni Malinen [Sun, 29 Dec 2013 10:51:13 +0000 (12:51 +0200)]
tests: Verify dual-radio WPS operations

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Use a single channel scan to avoid unnecessary wait
Jouni Malinen [Sun, 29 Dec 2013 10:36:01 +0000 (12:36 +0200)]
tests: Use a single channel scan to avoid unnecessary wait

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Verify SAE anti-clogging mechanism
Jouni Malinen [Sun, 29 Dec 2013 10:24:25 +0000 (12:24 +0200)]
tests: Verify SAE anti-clogging mechanism

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoRemove unused information element parsing data
Jouni Malinen [Sun, 29 Dec 2013 10:07:15 +0000 (12:07 +0200)]
Remove unused information element parsing data

These information elements are not really used anywhere in hostapd or
wpa_supplicant nor is there any plan to use them. As such, there is no
need to keep the code here either, so save couple of bytes here.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoRemove unnecessary EVENT_RX_ACTION
Jouni Malinen [Sun, 29 Dec 2013 09:22:23 +0000 (11:22 +0200)]
Remove unnecessary EVENT_RX_ACTION

This driver event was used separately for some Action frames, but all
the driver wrappers converted to this from information that would have
been enough to indicate an EVENT_RX_MGMT event. In addition, the
received event was then converted back to a full IEEE 802.11 management
frame for processing in most cases. This is unnecessary complexity, so
get rid of the extra path and use EVENT_RX_MGMT for Action frames as
well as other management frame subtypes.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoDefine __maybe_unused
Jouni Malinen [Sun, 29 Dec 2013 11:37:17 +0000 (13:37 +0200)]
Define __maybe_unused

This can be used to silence compiler warnings in cases where #ifdef
blocks can leave some variables or functions unused and there is no
cleaner way of avoiding the warnings.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoDo not process Action frames twice in hostapd SME/MLME
Jouni Malinen [Sun, 29 Dec 2013 08:18:49 +0000 (10:18 +0200)]
Do not process Action frames twice in hostapd SME/MLME

Commit 88b32a99d30894b2d6bb391371c442fc117edbab added support for using
some Action frame processing in hostapd for drivers that handle most of
SME/MLME internally (it added FT, this has since be extended for SA
Query and WNM). However, this was added in a way that ended up getting
both the hostapd_rx_action() and hostapd_action_rx() called for Action
frames. This could result in an attempt to process FT, SA Query, and WNM
Action frames twice.

There is need for more significant cleanup in Action frame processing in
hostapd depending on the driver type, but as a simple step to avoid
issues, skip the hostapd_action_rx() call if hostapd_rx_action()
processed the frame.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoFix whitespace style
Jouni Malinen [Sun, 29 Dec 2013 08:23:45 +0000 (10:23 +0200)]
Fix whitespace style

Commit 88b32a99d30894b2d6bb391371c442fc117edbab added couple of lines
with incorrect indentation.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Verify wps_ap_pin command behavior
Jouni Malinen [Sat, 28 Dec 2013 17:59:33 +0000 (19:59 +0200)]
tests: Verify wps_ap_pin command behavior

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoWPS: Remove unused send_wpabuf()
Jouni Malinen [Sat, 28 Dec 2013 17:49:25 +0000 (19:49 +0200)]
WPS: Remove unused send_wpabuf()

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Verify concurrent WPS protocol run with assigned PIN
Jouni Malinen [Sat, 28 Dec 2013 17:46:02 +0000 (19:46 +0200)]
tests: Verify concurrent WPS protocol run with assigned PIN

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoMake local UUID available through ctrl_iface STATUS command
Jouni Malinen [Sat, 28 Dec 2013 17:44:49 +0000 (19:44 +0200)]
Make local UUID available through ctrl_iface STATUS command

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Verify that another station cannot use same PIN
Jouni Malinen [Sat, 28 Dec 2013 17:34:29 +0000 (19:34 +0200)]
tests: Verify that another station cannot use same PIN

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Verify selected registrar clearing on PIN method completion
Jouni Malinen [Sat, 28 Dec 2013 17:30:24 +0000 (19:30 +0200)]
tests: Verify selected registrar clearing on PIN method completion

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: WPS cancel on AP
Jouni Malinen [Sat, 28 Dec 2013 17:28:01 +0000 (19:28 +0200)]
tests: WPS cancel on AP

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: WPS ER configuring AP over UPnP
Jouni Malinen [Sat, 28 Dec 2013 17:20:46 +0000 (19:20 +0200)]
tests: WPS ER configuring AP over UPnP

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoWPS: Make sure reconfiguration timeout is not left behind on deinit
Jouni Malinen [Sat, 28 Dec 2013 17:18:47 +0000 (19:18 +0200)]
WPS: Make sure reconfiguration timeout is not left behind on deinit

Even though this is a short timeout, it is at least theoretically
possible for the interface to be removed while waiting for
reconfiguration to start. Avoid issues with this by cancelling the
timeout on any WPS interface deinit. In theory, this should be postponed
until interface removal, but that does not fit very nicely to the
current wps_hostapd.c style.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: WPS ER unsubscription from event on WPS_ER_STOP
Jouni Malinen [Sat, 28 Dec 2013 16:51:35 +0000 (18:51 +0200)]
tests: WPS ER unsubscription from event on WPS_ER_STOP

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: WPS ER selecting AP using BSSID instead of UUID
Jouni Malinen [Sat, 28 Dec 2013 16:47:00 +0000 (18:47 +0200)]
tests: WPS ER selecting AP using BSSID instead of UUID

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Verify WPS AP auto upgrade from WPA/TKIP to WPA/TKIP+WPA2/CCMP
Jouni Malinen [Sat, 28 Dec 2013 16:36:49 +0000 (18:36 +0200)]
tests: Verify WPS AP auto upgrade from WPA/TKIP to WPA/TKIP+WPA2/CCMP

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoWPS: Allow testing mode to disable 2.0 functionality
Jouni Malinen [Sat, 28 Dec 2013 16:35:30 +0000 (18:35 +0200)]
WPS: Allow testing mode to disable 2.0 functionality

Previously, wps_version_number was used only to test extensibility to
newer version numbers, but it can also be used to enable testing of
older versions (1.0), e.g., to avoid hitting some 2.0 specific
validation steps.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Verify PIN mismatch behavior
Jouni Malinen [Sat, 28 Dec 2013 16:22:04 +0000 (18:22 +0200)]
tests: Verify PIN mismatch behavior

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoRemove unused wps_device_data_dup()
Jouni Malinen [Sat, 28 Dec 2013 16:07:51 +0000 (18:07 +0200)]
Remove unused wps_device_data_dup()

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Verify WPS AP Setup Locking on AP PIN failures
Jouni Malinen [Sat, 28 Dec 2013 15:47:32 +0000 (17:47 +0200)]
tests: Verify WPS AP Setup Locking on AP PIN failures

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Verify WPS extensibility (version and new attribute)
Jouni Malinen [Sat, 28 Dec 2013 15:21:41 +0000 (17:21 +0200)]
tests: Verify WPS extensibility (version and new attribute)

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoRemove unnecessary extra tracking of eloop registration
Jouni Malinen [Sat, 28 Dec 2013 15:00:08 +0000 (17:00 +0200)]
Remove unnecessary extra tracking of eloop registration

It is fine to try to cancel a registration that does not exist, so there
is no need to have the duplicated checks for eloop timeout and socket
registration.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoReplace unnecessary hex_value() with hex2byte()
Jouni Malinen [Sat, 28 Dec 2013 14:53:31 +0000 (16:53 +0200)]
Replace unnecessary hex_value() with hex2byte()

There is no need to maintain two functions for doing
the same type of hex-to-binary conversion.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Verify EAP-WSC fragmentation and mixed mode WPA+WPA2
Jouni Malinen [Sat, 28 Dec 2013 07:58:14 +0000 (09:58 +0200)]
tests: Verify EAP-WSC fragmentation and mixed mode WPA+WPA2

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoClear wps_fragment_size on FLUSH command
Jouni Malinen [Sat, 28 Dec 2013 14:31:37 +0000 (16:31 +0200)]
Clear wps_fragment_size on FLUSH command

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Verify FT EAP
Jouni Malinen [Sat, 28 Dec 2013 11:51:09 +0000 (13:51 +0200)]
tests: Verify FT EAP

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Verify FT SAE
Jouni Malinen [Sat, 28 Dec 2013 11:42:43 +0000 (13:42 +0200)]
tests: Verify FT SAE

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoEnable FT with SAE
Jouni Malinen [Sat, 28 Dec 2013 11:41:02 +0000 (13:41 +0200)]
Enable FT with SAE

It was already possible to configure hostapd and wpa_supplicant to use
FT-SAE for the key management, but number of places were missing proper
AKM checks to allow FT to be used with the new AKM.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: WPA2-Enterprise with PMF required
Jouni Malinen [Sat, 28 Dec 2013 10:36:03 +0000 (12:36 +0200)]
tests: WPA2-Enterprise with PMF required

Increase test coverage with PMF required configuration and SHA256-based
AKM in one of the EAP test cases.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Verify WPA-Enterprise functionality
Jouni Malinen [Sat, 28 Dec 2013 10:30:28 +0000 (12:30 +0200)]
tests: Verify WPA-Enterprise functionality

All the previous EAP test cases were using WPA2-Enterprise.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Verify IBSS with WPA-None
Jouni Malinen [Sat, 28 Dec 2013 10:22:43 +0000 (12:22 +0200)]
tests: Verify IBSS with WPA-None

The actual data connection does not seem to work with mac80211_hwsim, so
the hwsim_test results are ignored for now.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Verify FT-over-DS
Jouni Malinen [Sat, 28 Dec 2013 09:52:19 +0000 (11:52 +0200)]
tests: Verify FT-over-DS

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agonl80211: Fix protected Action frame reporting for AP mode
Jouni Malinen [Sun, 29 Dec 2013 07:57:42 +0000 (09:57 +0200)]
nl80211: Fix protected Action frame reporting for AP mode

Action frame RX report through EVENT_RX_ACTION did not indicate whether
the frame was protected or not even though that information is available
in mlme_event_mgmt(). hostapd_rx_action() has a workaround for setting
the protected flag for SA Query frames, but that did not apply for other
frames, like FT Action. This broke FT-over-DS when PMF is enabled with
newer kernel versions (i.e., the ones that do not use monitor interface
for receiving management frames).

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Verify PeerKey handshake
Jouni Malinen [Sat, 28 Dec 2013 09:43:42 +0000 (11:43 +0200)]
tests: Verify PeerKey handshake

NOTE: Actual use of the direct link (DLS) is not supported in
mac80211_hwsim, so this operation fails at setting the keys after
successfully completed 4-way handshake. This test case does allow the
key negotiation part to be tested for coverage, though.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoFix PeerKey 4-way handshake
Jouni Malinen [Sat, 28 Dec 2013 09:40:23 +0000 (11:40 +0200)]
Fix PeerKey 4-way handshake

The earlier changes to buffer EAPOL frames when not associated to avoid
race conditions (especially commit
3ab35a660364dc68eaebfc0df6130071bbee6be5 but maybe something even before
that) broke PeerKey 4-way handshake. Fix this by using a separate check
before the race condition workaround to process PeerKey 4-way handshake
EAPOL-Key messages differently.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoFix PeerKey deinit behavior
Jouni Malinen [Sat, 28 Dec 2013 12:23:43 +0000 (14:23 +0200)]
Fix PeerKey deinit behavior

PeerKey entries need to be removed on disassociation and this needs to
be done in a way that cancels the possibly pending eloop timeout.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Generate a combined code coverage report
Jouni Malinen [Sat, 28 Dec 2013 09:08:16 +0000 (11:08 +0200)]
tests: Generate a combined code coverage report

This combines coverage from all three separate reports into a single
report.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Verify EAP fast reauthentication
Jouni Malinen [Sat, 28 Dec 2013 08:41:42 +0000 (10:41 +0200)]
tests: Verify EAP fast reauthentication

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Verify PEAPv0 Crypto-Binding
Jouni Malinen [Sat, 28 Dec 2013 08:26:48 +0000 (10:26 +0200)]
tests: Verify PEAPv0 Crypto-Binding

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Add WNM test cases
Jouni Malinen [Thu, 26 Dec 2013 19:09:55 +0000 (21:09 +0200)]
tests: Add WNM test cases

These are not yet complete, but at least some frame exchanges can
be verified for WNM operations.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoWNM: Move disassociation imminent sending to wnm_ap.c
Jouni Malinen [Fri, 27 Dec 2013 17:40:04 +0000 (19:40 +0200)]
WNM: Move disassociation imminent sending to wnm_ap.c

This gets all WNM BSS Transition Management frame building and sending
within hostapd into the same location.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agohostapd: Make STA flags available through ctrl_iface STA command
Jouni Malinen [Fri, 27 Dec 2013 17:24:24 +0000 (19:24 +0200)]
hostapd: Make STA flags available through ctrl_iface STA command

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoRemove IEEE80211_REQUIRE_AUTH_ACK
Jouni Malinen [Fri, 27 Dec 2013 17:11:21 +0000 (19:11 +0200)]
Remove IEEE80211_REQUIRE_AUTH_ACK

This is not really needed for anything and the standard does not require
such validation step to be made for Authentication frame transmission.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoRemove unused STA flags
Jouni Malinen [Fri, 27 Dec 2013 17:09:31 +0000 (19:09 +0200)]
Remove unused STA flags

These three flags were only displayed, but never set or used for
anything else.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoWNM: Add STA flag to indicate the current WNM-Sleep-Mode state
Jouni Malinen [Fri, 27 Dec 2013 17:06:52 +0000 (19:06 +0200)]
WNM: Add STA flag to indicate the current WNM-Sleep-Mode state

This can be useful for displaying the current STA state and also for
determining whether some operations are likely to fail or need
additional delay.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoWNM: Fix AP processing without wnm_oper driver callback
Jouni Malinen [Fri, 27 Dec 2013 16:44:21 +0000 (18:44 +0200)]
WNM: Fix AP processing without wnm_oper driver callback

hostapd_drv_wnm_oper() needs to indicate an error if the driver callback
function is not implemented. Without this, the buf_len argument could
have been left uninitialized which could result in crashing the process.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoWNM: Move ESS Disassoc Imminent sending to a helper function
Jouni Malinen [Thu, 1 Aug 2013 21:37:48 +0000 (00:37 +0300)]
WNM: Move ESS Disassoc Imminent sending to a helper function

This makes it easier to trigger the ESS Disassociation Imminent
operation from different sources.

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

10 years agoWNM: Minimal processing of BSS Transition Management Query/Response
Jouni Malinen [Fri, 27 Dec 2013 15:42:11 +0000 (17:42 +0200)]
WNM: Minimal processing of BSS Transition Management Query/Response

This adds first steps at processing a BSS Transition Management Query on
the AP side. Mainly, the message is parsed and printed out in the debug
log and a minimal BSS Transition Management Request frame is sent as a
response. BSS Transition Management Response frame is also parsed and
details printed out in the debug log.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoWNM: Add Target BSSID into BSS Transition Management Response
Jouni Malinen [Fri, 27 Dec 2013 16:05:27 +0000 (18:05 +0200)]
WNM: Add Target BSSID into BSS Transition Management Response

P802.11-REVmc clarifies that the Target BSSID field is always present
hen status code is zero, so match that requirement.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoWNM: Use nonzero dialog token in BSS Transition Management Query
Jouni Malinen [Fri, 27 Dec 2013 15:13:53 +0000 (17:13 +0200)]
WNM: Use nonzero dialog token in BSS Transition Management Query

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Mark kernel issues more clearly in the log file
Jouni Malinen [Fri, 27 Dec 2013 09:04:38 +0000 (11:04 +0200)]
tests: Mark kernel issues more clearly in the log file

It was previously not obvious from the <test case>.log file that a test
case was marked failed based on kernel issues. Make this very clear to
avoid wasting time on figuring out what caused the failure.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Collect code coverage separately from each component in vm
Jouni Malinen [Fri, 27 Dec 2013 08:16:50 +0000 (10:16 +0200)]
tests: Collect code coverage separately from each component in vm

Use a more robust design for collecting the gcov logs from the case
where test cases are run within a virtual machine. This generates a
writable-from-vm build tree for each component separately so that the
lcov and gcov can easily find the matching source code and data files.
In addition, prepare the reports automatically at the end of the
vm-run.sh --codecov execution.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Wait for AP-ENABLED
Jouni Malinen [Fri, 27 Dec 2013 06:27:44 +0000 (08:27 +0200)]
tests: Wait for AP-ENABLED

It takes some time for hostapd to complete AP startup. In some cases,
this could potentially result in station starting a scan before the AP
is beaconing or ready to reply to probes. To avoid such race conditions,
wait for AP-ENABLED before going ahead with the test cases.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoWNM: Fix Sleep Mode AP processing in open network
Jouni Malinen [Thu, 26 Dec 2013 19:08:50 +0000 (21:08 +0200)]
WNM: Fix Sleep Mode AP processing in open network

The previous version could end up calling WPA authenticator routines
even though the authenticator had not been initialized and this could
result in NULL pointer dereference.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoWNM: Add debug logs to get the RSSI from the scan results
Sudha Daram [Wed, 18 Dec 2013 06:32:44 +0000 (12:02 +0530)]
WNM: Add debug logs to get the RSSI from the scan results

This commit adds few more debug prints to log the RSSI information from
the scanned BSSIDs and the current connected BSSID when comparing
neighbor results during WNM Transition Management Request processing.

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

10 years agoInitial handling of GTK-not-used cipher suite
Jouni Malinen [Tue, 23 Jul 2013 18:24:05 +0000 (21:24 +0300)]
Initial handling of GTK-not-used cipher suite

This prepares wpa_supplicant for accepting cases where the AP does not
use group addressed frames.

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

10 years agoOpenSSL: Do not accept SSL Client certificate for server
Jouni Malinen [Sat, 14 Dec 2013 03:20:01 +0000 (19:20 -0800)]
OpenSSL: Do not accept SSL Client certificate for server

If the extended key usage of the AAA server certificate indicates
that the certificate is for client use, reject the TLS handshake.

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

10 years agoOpenSSL: Use certificates from TLS authentication in OCSP stapling
Jouni Malinen [Mon, 9 Dec 2013 02:35:11 +0000 (18:35 -0800)]
OpenSSL: Use certificates from TLS authentication in OCSP stapling

OCSP response may not include all the needed CA certificates, so use the
ones received during TLS handshake.

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

10 years agoWPS ER: Fix deinit timeout handling with delayed/failing unsubscribe
Jouni Malinen [Fri, 29 Nov 2013 15:45:30 +0000 (17:45 +0200)]
WPS ER: Fix deinit timeout handling with delayed/failing unsubscribe

The five second timeout to call wps_er_deinit_finish() could potentially
be left behind when removing the ER data based on some other event. This
could result in double-freeing of wps_er context killing the process,
e.g., if the WPS ER functionality is stopped while in the process of
unsubscribing from an AP and then restarted.

In addition, AP entries could still be present in the
er->ap_unsubscribing list when the deinit timeout hits. These entries
would still maintain HTTP context pointing to the ER which would be
freed here and as such, the following HTTP client callback could refer
to freed memory and kill the process. Fix this by freeing AP entries
from ap_unsubscribing list when ER is deinitialized from timeout even if
such AP entries have not completed unsubscription from UPnP events.

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

10 years agoWPS: Reschedule AP configuration reload on EAP completion
Jouni Malinen [Fri, 29 Nov 2013 14:52:44 +0000 (16:52 +0200)]
WPS: Reschedule AP configuration reload on EAP completion

Reduce race condition of the station trying to reconnect immediately
after AP reconfiguration through WPS by rescheduling the reload
timeout to happen after EAP completion rather than the originally
scheduled 100 ms after new configuration became known.

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

10 years agotests: Verify that WPS re-provisioning replaces old network block
Jouni Malinen [Fri, 29 Nov 2013 12:58:11 +0000 (14:58 +0200)]
tests: Verify that WPS re-provisioning replaces old network block

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

10 years agoWPS: Remove old duplicate network even if key is different
Jouni Malinen [Fri, 29 Nov 2013 12:56:11 +0000 (14:56 +0200)]
WPS: Remove old duplicate network even if key is different

Previously, WPS credential provisioning removed duplicated network
entries only if they had identicical SSID, security parameters, and the
keys. However, it is possible that the AP has changes its keys and
leaving the old entry behind can result in connectibity issues (e.g.,
with 4-way handshake failing due to use of the old PSK). Fix this by
allowing the old network entry to be removed even if the keys
(passphrase, PSK, WEP keys) are different.

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

10 years agoMake CONFIG_TESTING_OPTIONS=y enable all testing options
Jouni Malinen [Thu, 28 Nov 2013 13:34:24 +0000 (15:34 +0200)]
Make CONFIG_TESTING_OPTIONS=y enable all testing options

This makes it easier to enable various testing parameters and
functionality in build configuration.

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

10 years agoWPS: Reduce scan wait time during WPS processing
Jouni Malinen [Thu, 28 Nov 2013 10:56:21 +0000 (12:56 +0200)]
WPS: Reduce scan wait time during WPS processing

Since the AP is expected to be available, there is no need to wait for
the full five second wait between scans during WPS connection. This
speeds up cases where the first scan misses the AP for some reason.

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

10 years agoDo not use results from externally requested scan for network selection
Jouni Malinen [Thu, 26 Dec 2013 17:00:48 +0000 (19:00 +0200)]
Do not use results from externally requested scan for network selection

It may not always be desirable to trigger reassociation or network
change based on scan results from externally to wpa_supplicant trigger
scan operations. Skip network selection and roaming determination if the
received scan result is known to be triggered by something external to
wpa_supplicant. The control interface SCAN command can be used to
request wpa_supplicant to determine the best network.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agotests: Verify scan behavior
Jouni Malinen [Thu, 26 Dec 2013 16:18:10 +0000 (18:18 +0200)]
tests: Verify scan behavior

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoReschedule own scan request if an externally started one is in progress
Jouni Malinen [Thu, 26 Dec 2013 15:53:20 +0000 (17:53 +0200)]
Reschedule own scan request if an externally started one is in progress

This avoids some unnecessary attempts to request the driver to start a
scan while it is still busy with the scan operation that was started by
an external program.

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoShow timing information about scan requests in debug log
Jouni Malinen [Thu, 26 Dec 2013 15:52:56 +0000 (17:52 +0200)]
Show timing information about scan requests in debug log

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoOptional scan id for ctrl_iface SCAN requests
Jouni Malinen [Thu, 26 Dec 2013 15:35:48 +0000 (17:35 +0200)]
Optional scan id for ctrl_iface SCAN requests

This allows users of wpa_supplicant control interface to figure out when
their specific scan command has been started and completed. For example:

CTRL-EVENT-SCAN-STARTED
> scan freq=2412,2417 passive=1 use_id=1
3
CTRL-EVENT-SCAN-RESULTS
CTRL-EVENT-SCAN-STARTED id=3
CTRL-EVENT-SCAN-RESULTS id=3

Signed-hostap: Jouni Malinen <j@w1.fi>

10 years agoTrack whether scan was started by us or an external program
Jouni Malinen [Thu, 26 Dec 2013 15:33:26 +0000 (17:33 +0200)]
Track whether scan was started by us or an external program

This can be used to improve scan behavior in cases external programs
request scans directly from the driver.

Signed-hostap: Jouni Malinen <j@w1.fi>