mech_eap.git
10 years agoDeclare wpa_debug_* variables in src/utils/wpa_debug.h
Jouni Malinen [Tue, 31 Dec 2013 17:29:52 +0000 (19:29 +0200)]
Declare wpa_debug_* variables in src/utils/wpa_debug.h

These were somewhat more hidden to avoid direct use, but there are now
numerous places where these are needed and more justification to make
the extern int declarations available from wpa_debug.h. In addition,
this avoids some warnings from sparse.

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

10 years agoDeclare wpa_drivers in src/drivers/driver.h
Jouni Malinen [Tue, 31 Dec 2013 17:19:37 +0000 (19:19 +0200)]
Declare wpa_drivers in src/drivers/driver.h

This avoids some warnings from sparse.

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

10 years agotests: RADIUS
Jouni Malinen [Tue, 31 Dec 2013 11:57:49 +0000 (13:57 +0200)]
tests: RADIUS

This adds initial set of test cases to increase RADIUS testing coverage.

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

10 years agotests: SSID contents and encoding
Jouni Malinen [Tue, 31 Dec 2013 11:21:18 +0000 (13:21 +0200)]
tests: SSID contents and encoding

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

10 years agotests: Add IEEE 802.1X and dynamic WEP test cases
Jouni Malinen [Tue, 31 Dec 2013 10:07:33 +0000 (12:07 +0200)]
tests: Add IEEE 802.1X and dynamic WEP test cases

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

10 years agoClear EAPOL Logoff state on FLUSH command
Jouni Malinen [Tue, 31 Dec 2013 10:07:11 +0000 (12:07 +0200)]
Clear EAPOL Logoff state on FLUSH command

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

10 years agotests: Verify mixed mode WPA+WPA2 operation
Jouni Malinen [Tue, 31 Dec 2013 09:32:48 +0000 (11:32 +0200)]
tests: Verify mixed mode WPA+WPA2 operation

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

10 years agotests: Verify WMM AC configuration and ACM=1 downgrade VO/VI->BE
Jouni Malinen [Tue, 31 Dec 2013 09:20:44 +0000 (11:20 +0200)]
tests: Verify WMM AC configuration and ACM=1 downgrade VO/VI->BE

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

10 years agotests: WEXT functionality
Jouni Malinen [Tue, 31 Dec 2013 08:49:26 +0000 (10:49 +0200)]
tests: WEXT functionality

It did not look like open mode association completed with WEXT.. I'm
commenting that test case out for now since WPA2-PSK worked. If you care
about WEXT, feel free to fix it and submit a patch to remove the
"REMOVED_" prefix here..

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

10 years agotests: Increase nl80211 test coverage with monitor/connect
Jouni Malinen [Mon, 30 Dec 2013 22:17:02 +0000 (00:17 +0200)]
tests: Increase nl80211 test coverage with monitor/connect

Add test cases to use connect command instead of auth+assoc commands and
AP mode operations using the old monitor interface design.

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

10 years agonl80211: Add driver param for forcing monitor and connect APIs
Jouni Malinen [Mon, 30 Dec 2013 22:07:23 +0000 (00:07 +0200)]
nl80211: Add driver param for forcing monitor and connect APIs

use_monitor=1 and force_connect_cmd=1 driver parameters can now be used
to force older monitor interface design and the connect API (SME in
driver) to increase hwsim testing coverage.

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

10 years agotests: Verify cfg80211 P2P Device use
Jouni Malinen [Mon, 30 Dec 2013 21:36:10 +0000 (23:36 +0200)]
tests: Verify cfg80211 P2P Device use

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

10 years agonl80211: Fix nl_mgmt handling in partial error case
Jouni Malinen [Tue, 31 Dec 2013 08:17:53 +0000 (10:17 +0200)]
nl80211: Fix nl_mgmt handling in partial error case

If Action frame registration in nl80211_mgmt_subscribe_non_ap() failed
for any frame type, the previous implementation skipped
nl80211_mgmt_handle_register_eloop() call. This is not desirable since
none of the Action frame types could be received and even worse, the
following nl80211_destroy_eloop_handle() call for nl_mgmt would likely
result in crashing the process due to the ELOOP_SOCKET_INVALID XOR
operation. This could be triggered at least in a P2P group interface
startup failure case.

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

10 years agonl80211: Prefer newer scan result over older during duplicate removal
Jouni Malinen [Tue, 31 Dec 2013 07:38:55 +0000 (09:38 +0200)]
nl80211: Prefer newer scan result over older during duplicate removal

Previously, it was possible for bss_info_handler() to end up dropping a
newer scan result entry if there were two entries with the same BSSID
and SSID (i.e., only frequency was different) and we were not associated
with either. This could happen, e.g., in some P2P use cases where device
discovery may happen on different channels. Fix this by checking the age
of the scan entries as well to prefer the most recent response.

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

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>