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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Jouni Malinen [Sun, 29 Dec 2013 17:25:42 +0000 (19:25 +0200)]
tests: Verify PMKSA caching
Signed-hostap: Jouni Malinen <j@w1.fi>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Jouni Malinen [Sat, 28 Dec 2013 11:51:09 +0000 (13:51 +0200)]
tests: Verify FT EAP
Signed-hostap: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sat, 28 Dec 2013 11:42:43 +0000 (13:42 +0200)]
tests: Verify FT SAE
Signed-hostap: Jouni Malinen <j@w1.fi>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Jouni Malinen [Thu, 26 Dec 2013 16:18:10 +0000 (18:18 +0200)]
tests: Verify scan behavior
Signed-hostap: Jouni Malinen <j@w1.fi>
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>
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>
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>
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>