Jouni Malinen [Tue, 7 Jul 2015 13:21:36 +0000 (16:21 +0300)]
DATA_TEST_TX: Avoid ubsan warning on 0x80<<24 not fitting in int
Use unsigned constant instead of signed to avoid warning with the LSB
being set in an int.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 7 Jul 2015 13:01:46 +0000 (16:01 +0300)]
Avoid misaligned IPv4 header accesses in DATA_TEST_* commands
The IPv4 header after the Ethernet header is not 32-bit aligned and the
previous version ended up accessing 32-bit members at misaligned
addresses.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 7 Jul 2015 12:54:31 +0000 (15:54 +0300)]
Avoid ubsan warning on 0x80<<24 not fitting in int in WPA_GET_BE32/LE32
Use a typecast to make this shift unsigned so that the MSB fits within
the range of allowed values.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 7 Jul 2015 12:51:05 +0000 (15:51 +0300)]
ndisc_snoop: Avoid misaligned read of IPv6 address
The IPv6 address in the frame buffer may not be 32-bit aligned, so use a
local copy to align this before reading the address with 32-bit reads
(s6_addr32[]).
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 7 Jul 2015 12:41:51 +0000 (15:41 +0300)]
EAP-TTLS: Avoid ubsan warning on 0x80<<24 not fitting in int
Use a typecast to make this unsigned so that the MSB fits within the
range of allowed values.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 7 Jul 2015 12:39:08 +0000 (15:39 +0300)]
radiotap: Avoid ubsan warning on 1<<31
Use the BIT() macro and unsigned int to avoid ubsan warning on 1<<31 not
fitting in an int.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 7 Jul 2015 12:33:55 +0000 (15:33 +0300)]
NFC: Avoid misaligned read of an NDEF field
The 32-bit version of payload length field may not be 32-bit aligned in
the message buffer, so use WPA_GET_BE32() to read it instead of ntohl().
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 7 Jul 2015 10:04:08 +0000 (13:04 +0300)]
trace: Use explicit alignment requirements to avoid misalignment
64-bit builds with CONFIG_WPA_TRACE=y resulted in the wpabuf pointers
getting misaligned (only 32-bit aligned) and that would result in reads
and writes of unaligned size_t values. Avoid this by indicating explicit
alignment requirement for wpabuf_trace to 8 octets (i.e., there will be
extra four octets of padding in case of 64-bit builds).
Similarly, struct os_alloc_trace resulted in some potential misalignment
cases, e.g., when CONFIG_ACS=y uses a 'long double' variable within
struct hostapd_channel_data. Avoid misalignment issues with explicit
alignment indication.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 7 Jul 2015 09:33:38 +0000 (12:33 +0300)]
drivers: Use unsigned arguments for sta_set_flags()
Since BIT() is now returning unsigned int, these functions need to match
that to avoid compiler warnings.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 7 Jul 2015 09:33:03 +0000 (12:33 +0300)]
Make BIT() unsigned int instead of int
This is needed to avoid ubsan warnings on BIT(31).
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 7 Jul 2015 09:24:57 +0000 (12:24 +0300)]
Include stddef.h to use the standard offsetof()
src/utils/list.h ended up defining a local version of offsetof() due to
stddef.h not getting included. This resulted in unnecessary warnings
from ubsan related to "dereferencing" of a NULL pointer.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 7 Jul 2015 09:14:47 +0000 (12:14 +0300)]
RADIUS DAS: Avoid compiler warning on abs()
The input parameter ended up being converted to long int instead of int,
so use an explicit typecase to get rid of the compiler warning.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 7 Jul 2015 09:09:09 +0000 (12:09 +0300)]
ERP: Avoid mixing of enum types
Use explicit typecasting to avoid implicit conversion warnings in cases
where enum eap_erp_type is used in functions taking an EapType argument.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 7 Jul 2015 09:07:06 +0000 (12:07 +0300)]
D-Bus: Fix dont_quote const declaration
Commit
38279bdb35c1b0c248289752197ebddd2fdd52ef ('D-Bus: Coding style
cleanup') handled the dbus_new_handlers.c change properly, but misplaced
the second 'const' in dbus_old_handlers.c in a way that resulted in
duplicated const rather than marking the actual value const.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Wed, 1 Jul 2015 21:33:20 +0000 (00:33 +0300)]
tests: WPA2-PSK-FT AP over DS protocol testing
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Wed, 1 Jul 2015 21:08:28 +0000 (00:08 +0300)]
tests: WPA2-PSK-FT and OOM
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Wed, 1 Jul 2015 20:53:03 +0000 (23:53 +0300)]
tests: WPA2-PSK-FT AP with GCMP-256 cipher
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Wed, 1 Jul 2015 20:51:31 +0000 (23:51 +0300)]
FT: Allow CCMP-256 and GCMP-256 as group ciphers
The FT-specific check for valid group cipher in wpa_ft_gen_req_ies() was
not up-to-date with the current list of supported ciphers. Fix this by
using a generic function to determine validity of the cipher. In
practice, this adds support for using CCMP-256 and GCMP-256 as the group
cipher with FT.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Wed, 1 Jul 2015 18:04:06 +0000 (21:04 +0300)]
tests: IEEE 802.1X connection and EAPOL-Key protocol tests
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Wed, 1 Jul 2015 15:37:29 +0000 (18:37 +0300)]
tests: IEEE 802.1X and EAPOL-Start retransmissions
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 30 Jun 2015 21:42:09 +0000 (00:42 +0300)]
tests: EAP server and OOM
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 30 Jun 2015 21:34:27 +0000 (00:34 +0300)]
tests: WPA2-Enterprise connection using MAC ACL
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 30 Jun 2015 19:05:37 +0000 (22:05 +0300)]
tests: EAP-TLS and unknown OCSP signer
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 30 Jun 2015 19:01:05 +0000 (22:01 +0300)]
tests: Invalid OCSP data (parsing failure)
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 30 Jun 2015 18:55:59 +0000 (21:55 +0300)]
tests: Invalid openssl_ciphers value
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 30 Jun 2015 18:48:22 +0000 (21:48 +0300)]
OpenSSL: Merge error returns
These similar error cases can use a single return statement.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 30 Jun 2015 18:40:48 +0000 (21:40 +0300)]
TLS: Remove unused tls_capabilities()
This mechanism to figure out TLS library capabilities has not been used
since commit
fd2f2d0489635d590930bc0945fbc438ba1387e2 ('Remove
EAP-TTLSv1 and TLS/IA') (Sep 2011).
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 30 Jun 2015 18:36:12 +0000 (21:36 +0300)]
tests: EAP-FAST/MSCHAPv2 and server OOM
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Mon, 29 Jun 2015 19:45:03 +0000 (22:45 +0300)]
tests: DH parameter file DSA conversion and error cases
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Mon, 29 Jun 2015 19:25:43 +0000 (22:25 +0300)]
tests: EAP-TLS with PKCS12 that includes additional certificates
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Mon, 29 Jun 2015 19:17:07 +0000 (22:17 +0300)]
tests: EAP-TLS and OOM
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Mon, 29 Jun 2015 19:09:27 +0000 (22:09 +0300)]
tests: EAP-TLS and server checking CRL
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Mon, 29 Jun 2015 17:55:20 +0000 (20:55 +0300)]
ms_funcs: Merge similar return cases
There is no need to have separate return statements for these corner
cases that are unlikely to be hit in practice.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Mon, 29 Jun 2015 17:44:12 +0000 (20:44 +0300)]
hw_features: Merge similar return case in check_40mhz_2g4()
There is no need to have separate return statements for these corner
cases that are unlikely to be hit in practice.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sun, 28 Jun 2015 21:50:21 +0000 (00:50 +0300)]
tests: EAP-SIM and OOM
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sun, 28 Jun 2015 21:41:14 +0000 (00:41 +0300)]
tests: WPA2-Enterprise connection using EAP-IKEv2 and OOM
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sun, 28 Jun 2015 19:09:12 +0000 (22:09 +0300)]
tests: WPA2-Enterprise connection using EAP-PSK and OOM
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sun, 28 Jun 2015 18:56:40 +0000 (21:56 +0300)]
tests: SAE and no random numbers available
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sun, 28 Jun 2015 18:41:56 +0000 (21:41 +0300)]
tests: WPA2-PSK AP and no random numbers available
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sun, 28 Jun 2015 18:40:37 +0000 (21:40 +0300)]
Reject the initial 4-way handshake if initial GTK setup fails
This makes the AP/Authenticator design more robust against unexpected
failures in random number generation.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sun, 28 Jun 2015 18:35:43 +0000 (21:35 +0300)]
Add backtrace-based error path testing mechanism
The new TEST_FAIL and GET_FAIL control interface commands can be used
similarly to the earlier TEST_ALLOC_FAIL/GET_ALLOC_FAIL design. The new
version is more generic framework allowing any function to be annotated
for failure testing with the TEST_FAIL() macro. This mechanism is only
available in builds with CONFIG_WPA_TRACE_BFD=y and
CONFIG_TESTING_OPTIONS=y. For other builds, the TEST_FAIL() macro is
defined to return 0 to allow the compiler to remove the test code from
normal production builds.
As the first test site, allow os_get_random() to be marked for failing
based on call backtrace.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sun, 28 Jun 2015 15:16:52 +0000 (18:16 +0300)]
tests: Concurrent P2P autonomous GO on 5 GHz and HT40 co-ex
This verifies that 20/40 MHz co-ex scan does not force MCC with PRI/SEC
channel switch.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sun, 28 Jun 2015 15:14:58 +0000 (18:14 +0300)]
P2P: Do not allow 40 MHz co-ex PRI/SEC switch to force MCC
Do not allow 40 MHz co-ex PRI/SEC switch to force us to change our PRI
channel if we have an existing connection on the selected PRI channel
since doing multi-channel concurrency is likely to cause more harm than
using different PRI/SEC selection in environment with multiple BSSes on
these two channels with mixed 20 MHz or PRI channel selection.
Signed-off-by: Jouni Malinen <j@w1.fi>
Stepanov, Max [Tue, 23 Jun 2015 13:47:59 +0000 (13:47 +0000)]
P2PS: Fix attribute addition in p2p_buf_add_service_instance()
Fix a condition when Advertised Service Info Attribute is added to
a probe response in p2p_buf_add_service_instance(). The issue is
that a 'found' value is increased even if 'test' and 'adv->hash' hashes
are different. As result 'found' may have a non-zero value when an
attribute data length is 0. In this cause an empty attribute is about to
be added. Fixing it by eliminating 'found' and checking 'total_len'
containing a real number of bytes added to Advertised Service Info
Attribute.
This fixes an issue from commit
50a9efe713df135e98f2229f67faa1a3d7243693
('P2PS: Fix Probe Response frame building in error cases').
Signed-off-by: Max Stepanov <Max.Stepanov@intel.com>
Stepanov, Max [Tue, 23 Jun 2015 13:52:22 +0000 (13:52 +0000)]
P2PS: Fix p2p_find last parameter handling
In p2p_find command line processing a loop searching for multiple
'seek=' parameters modifies cmd buffer adding '\0' terminators.
The 'freq=' parameter is handled after that and can be
lost if a 'freq=' follows 'seek=' in a command line.
Fix it by moving a handling of 'freq=' parameter to be processed
before 'seek=' handling loop.
Signed-off-by: Max Stepanov <Max.Stepanov@intel.com>
Jouni Malinen [Sat, 27 Jun 2015 20:34:49 +0000 (23:34 +0300)]
AP: Increase maximum value accepted for cwmin/cwmax
The cwmin/cwmax parameters were limited more than is needed. Allow the
full range (0..15 for wmm_ac_??_{cwmin,cwmax} and 1..32767 for
tx_queue_data?_{cwmin,cwmax}) to be used.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sat, 27 Jun 2015 20:24:15 +0000 (23:24 +0300)]
tests: Use 16 instead of 13 as the cwmin/cwmax invalid case
This is needed to allow the parser to accept 15 which is actually a
valid value.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sat, 27 Jun 2015 18:20:14 +0000 (21:20 +0300)]
SAE: Reject FFC commit-element with value p-1
The current P802.11 description of SAE uses "1 < element < p" as the
required range. However, this is not correct and does not match the
Dragonfly description of "1 < element < p-1". SAE definition will need
to change here. Update the implementation to reject p-1 based on the
correct rule here.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sat, 27 Jun 2015 14:13:24 +0000 (17:13 +0300)]
tests: Check GAS and ANQP completion events in gas_fragment
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sat, 27 Jun 2015 14:10:19 +0000 (17:10 +0300)]
P2PS: Do not reply to ProbeReq on another channel when starting Listen
It was possible for the P2PS Probe Response frame to go out on the
channel on which a Probe Request frame was reported even when we are
just about to start Listen mode on another channel. This could result in
the peer device using incorrect channel for us. Fix this by skipping the
response in this special case while waiting for Listen mode to start.
This showed up as a hwsim test failure with test sequence "gas_fragment
p2ps_connect_display_method_nonautoaccept" in cases where the dev[0]
Listen channel was not same as the AP operating frequency in the GAS
test.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sat, 27 Jun 2015 09:51:15 +0000 (12:51 +0300)]
tests: SAE and invalid commit-scalar value 1
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sat, 27 Jun 2015 09:41:40 +0000 (12:41 +0300)]
SAE: Reject commit-scalar value 1
IEEE Std 802.11-2012 description of SAE does not require this, i.e., it
describes the requirement as 0 < scalar < r for processing the Commit
message. However, this is not correct and will be changes to 1 < scalar
< r to match the Dragonfly description so that a trivial secret case
will be avoided explicitly.
This is not much of an issue for the locally generated commit-scalar
since it would be very unlikely to get the value of 1. For Commit
message processing, a peer with knowledge of the password could
potentially force the exchange to expose key material without this
check.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sat, 27 Jun 2015 08:09:22 +0000 (11:09 +0300)]
tests: Use the new CTRL-EVENT-NETWORK-NOT-FOUND in ap_open_select_any
Signed-off-by: Jouni Malinen <j@w1.fi>
Dmitry Shmidt [Fri, 19 Jun 2015 17:33:50 +0000 (10:33 -0700)]
Send CTRL-EVENT-NETWORK-NOT-FOUND if no suitable network was found
This provides more information to upper layer programs on what happens
with connection attempts in cases where the enabled networks are not
found in scan results.
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Purushottam Kushwaha [Wed, 24 Jun 2015 05:45:22 +0000 (05:45 +0000)]
D-Bus: Fix typos in debug print
Signed-off-by: Purushottam Kushwaha <p.kushwaha@samsung.com>
Kevin Cernekee [Sat, 20 Jun 2015 00:22:30 +0000 (17:22 -0700)]
Android: Fix nl80211 build if BOARD_*_PRIVATE_LIB is unspecified
wpa_supplicant has stub functions if the external p2p symbols are
unavailable, but the build still fails if the
wpa_driver_nl80211_driver_cmd symbol is missing. Fix this by leaving the
function pointer NULL. This is safe because wpa_drv_driver_cmd() performs
a NULL check.
Signed-off-by: Kevin Cernekee <cernekee@google.com>
Kevin Cernekee [Sat, 20 Jun 2015 00:22:29 +0000 (17:22 -0700)]
Android: Rename ANDROID_P2P_STUB to ANDROID_LIB_STUB
If BOARD_HOSTAPD_PRIVATE_LIB is not used on an Android build, we will
need to replace both the p2p functions *and* wpa_driver_nl80211_driver_cmd
in order to successfully link. Let's make the name more generic so it is
more obvious what it is used for.
Suggested-by: Dmitry Shmidt <dimitrysh@google.com>
Signed-off-by: Kevin Cernekee <cernekee@google.com>
Maneesh Jain [Mon, 22 Jun 2015 04:25:02 +0000 (09:55 +0530)]
D-Bus: Add documentation for wpas_dbus_signal_peer_groups_changed()
This is needed to add this function into Doxygen documentation.
Signed-off-by: Maneesh Jain <maneesh.jain@samsung.com>
Maneesh Jain [Mon, 22 Jun 2015 04:13:50 +0000 (09:43 +0530)]
D-Bus: Fix typo in dbus signal function documentation
Signed-off-by: Maneesh Jain <maneesh.jain@samsung.com>
Maneesh Jain [Mon, 22 Jun 2015 04:08:39 +0000 (09:38 +0530)]
D-Bus: Add function documentation for wpas_dbus_unregister_interface()
This is needed to add this function into Doxygen documentation.
Signed-off-by: Maneesh Jain <maneesh.jain@samsung.com>
Maneesh Jain [Mon, 22 Jun 2015 04:05:08 +0000 (09:35 +0530)]
D-Bus: Add function documentation for wpas_dbus_register_interface()
This is needed to add this function into Doxygen documentation.
Signed-off-by: Maneesh Jain <maneesh.jain@samsung.com>
Maneesh Jain [Mon, 22 Jun 2015 03:48:34 +0000 (09:18 +0530)]
D-Bus: Fix wpas_dbus_signal_p2p_invitation_result() documentation
Signed-off-by: Maneesh Jain <maneesh.jain@samsung.com>
Maneesh Jain [Mon, 22 Jun 2015 03:32:15 +0000 (09:02 +0530)]
radius: Fix NULL dereference issue on allocation failure
In case memory allocation fails, data->pac_opaque_encr_key may be NULL
and lead to possible crash.
Signed-off-by: Maneesh Jain <maneesh.jain@samsung.com>
Jouni Malinen [Fri, 26 Jun 2015 12:29:29 +0000 (15:29 +0300)]
OpenSSL: Handle EC_POINT_is_on_curve() error case
Even though this OpenSSL function is documented as returning "1 if point
if on the curve and 0 otherwise", it can apparently return -1 on some
error cases. Be prepared for that and check explicitly against 1 instead
of non-zero.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Fri, 26 Jun 2015 08:44:22 +0000 (11:44 +0300)]
SAE: Use random "password" in extra hunting-and-pecking loops
If PWE is discovered before the minimum number of loops (k) is reached,
the extra iterations use a random "password" to further obfuscate the
cost of discovering PWE.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Thu, 25 Jun 2015 08:35:39 +0000 (11:35 +0300)]
SAE: Add side-channel protection to PWE derivation with ECC
This replaces the earlier IEEE Std 802.11-2012 algorithm with the design
from P802.11-REVmc/D4.0. Things brings in a blinding technique for
determining whether the pwd-seed results in a suitable PWE value.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Thu, 25 Jun 2015 08:33:34 +0000 (11:33 +0300)]
crypto: Add functions for computing the Legendre symbol and EC y^2
These are needed to implement side-channel protection for SAE PWE
derivation for ECC.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Thu, 25 Jun 2015 19:19:00 +0000 (22:19 +0300)]
tests: sae_groups to include Brainpool EC groups
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Thu, 25 Jun 2015 19:17:28 +0000 (22:17 +0300)]
OpenSSL: Add support for Brainpool Elliptic Curves
This allows the IKE groups 27-30 (RFC 6932) to be used with OpenSSL
1.0.2 and newer. For now, these get enabled for SAE as configurable
groups (sae_groups parameter), but the new groups are not enabled by
default.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Wed, 24 Jun 2015 17:47:08 +0000 (20:47 +0300)]
SAE: Increase security parameter k to 40 based on Dragonfly recommendation
draft-irtf-cfrg-dragonfly recommends implementation to set the security
parameter, k, to a value of at least 40. This will make PWE generation
take significantly more resources, but makes it more likely to hide
timing differences due to different number of loops needed to find a
suitable PWE.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Wed, 24 Jun 2015 17:42:48 +0000 (20:42 +0300)]
SAE: Fix PWE generation to use minimum loop count (k) properly
The implementation did not match the comment, i.e., only k-1 rounds were
required instead of k.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Thu, 25 Jun 2015 08:56:51 +0000 (11:56 +0300)]
tests: Try heavier SAE groups in sae_groups
This changes the sae_groups test case design to try with every group and
skip triggering test failure for the heavier ones that are likely to
fail in some VM setups under load. This provides more testing coverage
by not limiting the test based on lowest common setup.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Wed, 24 Jun 2015 17:39:07 +0000 (20:39 +0300)]
tests: SAE with number of different passwords
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 23 Jun 2015 20:05:27 +0000 (23:05 +0300)]
tests: SAE anti clogging protocol testing
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 23 Jun 2015 19:38:38 +0000 (22:38 +0300)]
SAE: Merge sae_derive_commit() error case return statements
These error cases have the exact same outcome, so a single return
statement can be used.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 23 Jun 2015 19:35:09 +0000 (22:35 +0300)]
SAE: Merge sae_get_rand() error case return statements
These error cases have the exact same outcome, so a single return
statement can be used.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 23 Jun 2015 19:31:39 +0000 (22:31 +0300)]
tests: SAE reflection attack
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 23 Jun 2015 19:30:15 +0000 (22:30 +0300)]
SAE: Verify that own/peer commit-scalar and COMMIT-ELEMENT are different
This check explicitly for reflection attack and stops authentication
immediately if that is detected instead of continuing to the following
4-way handshake that would fail due to the attacker not knowing the key
from the SAE exchange.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 23 Jun 2015 19:29:23 +0000 (22:29 +0300)]
Add crypto_ec_point_cmp()
This is needed to allow SAE to check whether ECC elements are identical.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 23 Jun 2015 18:14:30 +0000 (21:14 +0300)]
dbus: Do not initialize variable twice
There is no point in initializing 'success' to FALSE when the actual
value is set just below this.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 23 Jun 2015 18:12:29 +0000 (21:12 +0300)]
Do not check unsigned size is less than zero
The variables here are unsigned and as such, cannot have a negative
value. Use == 0 instead of <= 0 to make this cleaner.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 23 Jun 2015 18:05:02 +0000 (21:05 +0300)]
OpenSSL: Remove SSL_CTX_{get,set}_app_data() compatibility wrapper
OpenSSL 0.9.8 (and newer) includes SSL_CTX_get_app_data() and
SSL_CTX_set_app_data(), so there is no need to maintain this old
OPENSSL_SUPPORTS_CTX_APP_DATA backwards compatibility design.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 23 Jun 2015 17:39:08 +0000 (20:39 +0300)]
libtommath: Fix mp_init_multi() stdarg use on error path
Previously, it would have been possible for va_end(args) to be called
twice in case mp_init() fails. While that may not cause issues on number
of platforms, that is not how va_start()/va_end() are supposed to be
used. Fix this by returning from the function without using va_end()
twice on the same va_list args.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 23 Jun 2015 17:23:31 +0000 (20:23 +0300)]
wpa_gui: Initialize WpaGuiApp::w in the constructor
This gets rid of a static analyzer warning. The actual value for
WpaGuiApp::w will be set after the constructor has returned, so this
value was not really used uninitialized.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 23 Jun 2015 17:04:14 +0000 (20:04 +0300)]
Use os_* wrapper more consistently
os_free() needs to be used when freeing memory that was allocated with
os_malloc()/os_zalloc()/os_calloc().
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 23 Jun 2015 16:11:35 +0000 (19:11 +0300)]
Use unsigned/signed printf format more consistently
These configuration parameters did not use matching printf format string
parameters (signed vs. unsigned). While these configuratin values are,
in practice, small unsigned integers, the implementation should use
matching types to write these.
Signed-off-by: Jouni Malinen <j@w1.fi>
Nishant Chaprana [Tue, 23 Jun 2015 12:34:40 +0000 (18:04 +0530)]
HS 2.0R2: Fix memory leak on error path in hs20-osu-client
fqdn was not freed before return in case the server uses an unsupported
location for the PPS MO in the addMO command.
Signed-off-by: Nishant Chaprana <n.chaprana@samsung.com>
Jouni Malinen [Tue, 23 Jun 2015 15:30:11 +0000 (18:30 +0300)]
P2P: Use offsetof() instead of local implementation
The construction used here to figure out the offset of variable length
IEs in Probe Request frames was a bit odd looking and resulted in a
warning from a static analyzer, so replace it with more standard use of
offsetof().
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 23 Jun 2015 15:25:35 +0000 (18:25 +0300)]
ERP server: Make erp_send_finish_reauth() easier for static analyzers
The flags argument is used to indicate a failure case (0x80) which
allows erp == NULL. This may be a bit too difficult combination for
static analyzers to understand, so add an explicit check for !erp as
another condition for returning from the function before the erp pointer
gets dereferenced without checking it.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 23 Jun 2015 15:20:24 +0000 (18:20 +0300)]
bsd: Remove redundant NULL check in bsd_init()
drv cannot be NULL here (it is dereferenced even on the preceding line)
and anyway, os_free(NULL) is allowed, so remove the redundant check.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 23 Jun 2015 15:18:25 +0000 (18:18 +0300)]
Remove redundant NULL check in ieee802_1x_encapsulate_radius()
The eap argument to this function is never NULL and the earlier
ieee802_1x_learn_identity() call is dereferencing it anyway, so there is
no point in checking whether it is NULL later in the function.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 23 Jun 2015 08:23:35 +0000 (11:23 +0300)]
tests: HT40 co-ex scan conflict (HT40-)
This verifies a case where the neighboring BSS is at the other end of
the band and has its PRI channel further away.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 23 Jun 2015 08:21:51 +0000 (11:21 +0300)]
AP: Add more 2.4 GHz channels for 20/40 MHz HT co-ex scan
This needs to find the PRI channel also in cases where the affected
channel is the SEC channel of a 40 MHz BSS, so need to include the
scanning coverage here to be 40 MHz from the center frequency. Without
this, it was possible to miss a neighboring 40 MHz BSS that was at the
other end of the 2.4 GHz band and had its PRI channel further away from
the local BSS.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 23 Jun 2015 08:08:10 +0000 (11:08 +0300)]
hw_features: Merge similar return cases
There is no need to have separate return statements for these corner
cases that are unlikely to be hit in practice.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Mon, 22 Jun 2015 23:42:17 +0000 (02:42 +0300)]
tests: Use different channel offset for the second 160 MHz VHT AP
This increases testing coverage a bit.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Mon, 22 Jun 2015 23:30:24 +0000 (02:30 +0300)]
tests: VHT 80 MHz with different HT40 channel options
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sun, 21 Jun 2015 21:38:02 +0000 (00:38 +0300)]
SAE: Simplify sae_prepare_commit() error path
There is no need to keep separate "return -1" statements for these error
cases.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sun, 21 Jun 2015 21:04:09 +0000 (00:04 +0300)]
tests: SAE protocol tests
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sun, 21 Jun 2015 19:27:34 +0000 (22:27 +0300)]
tests: HT40 co-ex scan and other BSS not affected
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sat, 20 Jun 2015 20:31:12 +0000 (23:31 +0300)]
tests: SAE and OOM in wpa_supplicant
Signed-off-by: Jouni Malinen <j@w1.fi>