Jouni Malinen [Sun, 26 Oct 2014 14:13:27 +0000 (16:13 +0200)]
nl80211: Move event handling into a separate file
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sun, 26 Oct 2014 11:28:39 +0000 (13:28 +0200)]
nl80211: Move capability determination into a separate file
This moves significant amount of code away from large driver_nl80211.c.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sun, 26 Oct 2014 11:23:30 +0000 (13:23 +0200)]
nl80211: Move QCA DFS offload capability determination to init time
There is no need to fetch this capability for each get_capa() call.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sun, 26 Oct 2014 10:40:10 +0000 (12:40 +0200)]
nl80211: Move AP monitor interface handling to a separate file
This moves the old monitor interface design to driver_nl80211_monitor.c.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sun, 26 Oct 2014 15:20:37 +0000 (17:20 +0200)]
nl80211: Make some helper functions non-static
This allows more functionality to be moved to separate files.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sun, 26 Oct 2014 10:27:35 +0000 (12:27 +0200)]
nl80211: Move most of the Android code into a separate file
This moves most of the Android specific implementation from
driver_nl80211.c to driver_nl80211_android.c.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sun, 26 Oct 2014 10:02:36 +0000 (12:02 +0200)]
nl80211: Move definitions into separate header files
This is an initial step in starting to split the large driver_nl80211.c
implementation into somewhat smaller parts.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sun, 26 Oct 2014 13:48:57 +0000 (15:48 +0200)]
tests: cfg80211 connect command for WEP connection
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sun, 26 Oct 2014 10:16:53 +0000 (12:16 +0200)]
Avoid unsigned vs. signed comparison warning
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sun, 26 Oct 2014 09:36:14 +0000 (11:36 +0200)]
Write human readable version of channel width to CSA event debug log
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sun, 26 Oct 2014 09:29:16 +0000 (11:29 +0200)]
tests: External bridge control for hostapd interface
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sun, 26 Oct 2014 09:20:01 +0000 (11:20 +0200)]
nl80211: Store externally managed bridge name in driver status
This makes it easier to figure out from hostapd control interface
whether an interface had been added to a bridge externally at the time
hostapd interface was enabled or if the interface gets added during
hostapd operations.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sun, 26 Oct 2014 08:53:37 +0000 (10:53 +0200)]
tests: hostapd rfkill
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sun, 26 Oct 2014 08:52:54 +0000 (10:52 +0200)]
hostapd: Add INTERFACE-ENABLED and INTERFACE-DISABLED events
These can be convenient for upper layer programs to determine if the
hostapd interface gets disabled/re-enabled, e.g., due to rfkill
block/unblock.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sun, 26 Oct 2014 08:39:32 +0000 (10:39 +0200)]
tests: Print failure exeception if logger output goes to file
This makes it more convenient to determine failure reasons during test
case development and VM testing.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sun, 26 Oct 2014 08:21:48 +0000 (10:21 +0200)]
tests: IP address in STATUS
Signed-off-by: Jouni Malinen <j@w1.fi>
Ilan Peer [Mon, 7 Jul 2014 11:21:01 +0000 (14:21 +0300)]
P2P: Save group common frequencies in invitation result
Save the group common frequencies when starting a GO due to
an invitation signaling requesting to re-invoke a persistent GO.
To do so, move the code that handles the translation of p2p_channels to
frequency list into a public function so it can be re-used both when GO
Negotiation is done and invitation signaling is done.
Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Ilan Peer [Mon, 7 Jul 2014 11:20:59 +0000 (14:20 +0300)]
P2P: Save group common frequencies
Once a P2P GO interface is configured, save the group common
frequencies, as this can be useful later for channel selection
considerations during channel switch, etc.
Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Ilan Peer [Mon, 7 Jul 2014 11:21:06 +0000 (14:21 +0300)]
WPS: Add missing device types
Add missing device category and device sub category definitions.
Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Ilan Peer [Mon, 7 Jul 2014 11:20:58 +0000 (14:20 +0300)]
nl80211: Clear beacon_set when deleting a beacon from deinit_ap()
When a beacon was deleted from the kernel in
wpa_driver_nl80211_deinit_ap(), bss->beacon_set was not cleared so
restarting the AP again was not possible.
Fix this by clearing the variable once the beacon was deleted.
Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Ilan Peer [Mon, 7 Jul 2014 11:20:55 +0000 (14:20 +0300)]
nl80211: Add indoor only and GO concurrent flags
Add the following channel flags:
* INDOOR_ONLY: The channel can be used if and only if there is a clear
assessment that the device is operating in an indoor environment, i.e.,
it is AC power.
* CONCURRENT_GO: The channel can be used for instantiating a GO if and
only if there is an additional station interface that is currently
connected to an AP on the same channel or on the same U-NII band
(assuming that the AP is an authorized master).
Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Ilan Peer [Mon, 7 Jul 2014 11:20:54 +0000 (14:20 +0300)]
wpa_supplicant: Use the 'no_ir' notation
Use the 'no_ir' notation instead of the 'passive scan' and
'no_ibss' notations to match the earlier change in nl80211.
Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Jouni Malinen [Sat, 25 Oct 2014 19:27:24 +0000 (22:27 +0300)]
tests: Make ap_ht40_csa and ap_ht40_csa3 less likely to fail
It looks like cfg80211 can trigger disconnection even without disabling
HT, so the same issue may be hit with both of the channel switches in
these test cases.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sat, 25 Oct 2014 18:26:23 +0000 (21:26 +0300)]
tests: Group formation wait for peer with driver increasing ROC duration
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sat, 25 Oct 2014 18:25:00 +0000 (21:25 +0300)]
Add test functionality to simulate driver increased ROC duration
The extra_roc_dur parameter can now be used in CONFIG_TESTING_OPTIONS=y
builds to simulate driver behavior where the ROC duration gets increased
without user space request.
Signed-off-by: Jouni Malinen <j@w1.fi>
Constantin Musca [Fri, 12 Sep 2014 07:22:19 +0000 (10:22 +0300)]
P2P: Stop driver listen in p2p_state_timeout()
When a P2P timeout occurs and p2p_state_timeout is executed, the
stop_listen function can be called besides setting in_listen to zero in
cases where the driver is still in ROC. That should not really happen in
normal cases, but it is possible for some drivers to extend the ROC
duration. If that happens, the next start_listen request may get
rejected with "P2P: Reject start_listen since p2p_listen_work already
exists".
Signed-off-by: Constantin Musca <constantin.musca@intel.com>
Mikael Kanstrup [Tue, 21 Oct 2014 10:08:30 +0000 (12:08 +0200)]
P2P: Use neg_freq when re-establish persistent group as GC
When GC receives invitation response and tries to re-establish
connection to a persistent group channels from passive list should
be allowed. A missing check for operation mode triggered reselection
of operating channel from active channels only to happen and thus fail
the connect attempt.
Add a check for operation mode and if GC instead use negotiated
frequency (i.e. GO operating channel from invitation response).
Signed-off-by: Mikael Kanstrup <mikael.kanstrup@sonymobile.com>
Javier Lopez [Mon, 1 Sep 2014 04:23:37 +0000 (00:23 -0400)]
hostapd: Skip some configuration steps for mesh cases
Modify hostapd.c logic to add checks for valid mconf data structure:
- For hostapd_setup_bss we don't need to flush old stations in case
we're rejoining a mesh network.
- In hostapd_setup_interface_complete, we don't need to setup the
interface until we join the mesh (same reasoning for
hostapd_tx_queue_params).
Signed-off-by: Javier Lopez <jlopex@gmail.com>
Signed-off-by: Jason Mobarak <x@jason.mobarak.name>
Jason Abele [Mon, 1 Sep 2014 04:23:32 +0000 (00:23 -0400)]
mesh: Implement mesh scanning
When mesh is configured in, include the wildcard mesh id so that mesh
networks are returned.
Signed-off-by: Javier Lopez <jlopex@gmail.com>
Signed-off-by: Jason Abele <jason.abele@gmail.com>
Jason Abele [Mon, 1 Sep 2014 04:23:32 +0000 (00:23 -0400)]
mesh: Use mesh id instead of SSID in BSS table
Signed-off-by: Javier Lopez <jlopex@gmail.com>
Signed-off-by: Jason Abele <jason.abele@gmail.com>
Bob Copeland [Mon, 1 Sep 2014 04:23:30 +0000 (00:23 -0400)]
mesh: Accept Action frames without BSSID match
[original patch by: Thomas Pedersen <thomas@noack.us>]
Signed-off-by: Bob Copeland <me@bobcopeland.com>
Thomas Pedersen [Mon, 1 Sep 2014 04:23:26 +0000 (00:23 -0400)]
mesh: Add no_auto_peer config option
Add no_auto_peer parameter, which controls wheter a station will
automatically initiate peering to another mesh peer that comes into
range.
Signed-off-by: Javier Lopez <jlopex@gmail.com>
Signed-off-by: Jason Mobarak <x@jason.mobarak.name>
Signed-off-by: Thomas Pedersen <thomas@noack.us>
Thomas Pedersen [Mon, 1 Sep 2014 04:23:26 +0000 (00:23 -0400)]
mesh: Add mesh mode config option
Modify network mode to support mode number 5 when CONFIG_MESH is
enabled.
Signed-off-by: Javier Lopez <jlopex@gmail.com>
Signed-off-by: Jason Mobarak <x@jason.mobarak.name>
Signed-off-by: Thomas Pedersen <thomas@noack.us>
Thomas Pedersen [Mon, 1 Sep 2014 04:23:24 +0000 (00:23 -0400)]
mesh: Avoid join if already joined a mesh group
Signed-off-by: Javier Lopez <jlopex@gmail.com>
Signed-off-by: Thomas Pedersen <thomas@noack.us>
Bob Copeland [Tue, 11 Mar 2014 04:07:01 +0000 (21:07 -0700)]
mesh: Add mesh peering manager
The mesh peering manager establishes and maintains links among
mesh peers, tracking each peer link via a finite state machine.
This implementation supports open mesh peerings.
[assorted fixes from Yu Niiro <yu.niiro@gmail.com>]
[more fixes from Masashi Honma <masashi.honma@gmail.com>]
Signed-off-by: Javier Lopez <jlopex@gmail.com>
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: Ashok Nagarajan <ashok.dragon@gmail.com>
Signed-off-by: Jason Mobarak <x@jason.mobarak.name>
Signed-hostap: Bob Copeland <me@bobcopeland.com>
Thomas Pedersen [Mon, 1 Sep 2014 04:23:26 +0000 (00:23 -0400)]
mesh: Add user_mpm config option
Add user_mpm config parameter, when this is set to 1 (the default) the
peer link management is done on userspace, otherwise the peer management
will be done by the kernel.
Signed-off-by: Javier Lopez <jlopex@gmail.com>
Signed-off-by: Jason Mobarak <x@jason.mobarak.name>
Signed-off-by: Thomas Pedersen <thomas@noack.us>
Thomas Pedersen [Mon, 1 Sep 2014 04:23:21 +0000 (00:23 -0400)]
mesh: Add mesh mode routines
Add routines to (de)initialize mesh interface data structures and
join and leave mesh networks.
Signed-off-by: Javier Lopez <jlopex@gmail.com>
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: Jason Mobarak <x@jason.mobarak.name>
Signed-off-by: Thomas Pedersen <thomas@noack.us>
Bob Copeland [Mon, 1 Sep 2014 04:23:23 +0000 (00:23 -0400)]
nl80211: Do not try to change supported rates
For mesh mode to work properly, set supported rates only once.
Signed-off-by: Javier Lopez <jlopex@gmail.com>
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: Jason Mobarak <x@jason.mobarak.name>
Signed-off-by: Bob Copeland <me@bobcopeland.com>
Bob Copeland [Mon, 1 Sep 2014 04:23:23 +0000 (00:23 -0400)]
nl80211: Add STA flag WPA_STA_AUTHENTICATED
This is needed for managing STA entries for mesh use cases.
Signed-off-by: Javier Lopez <jlopex@gmail.com>
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: Jason Mobarak <x@jason.mobarak.name>
Signed-off-by: Bob Copeland <me@bobcopeland.com>
Bob Copeland [Mon, 1 Sep 2014 04:23:23 +0000 (00:23 -0400)]
nl80211: Add plink_action_field to hostapd_sta_add_params
Signed-off-by: Javier Lopez <jlopex@gmail.com>
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: Jason Mobarak <x@jason.mobarak.name>
Signed-off-by: Bob Copeland <me@bobcopeland.com>
Bob Copeland [Mon, 1 Sep 2014 04:23:23 +0000 (00:23 -0400)]
nl80211: Reject deauth/disassoc for mesh interface
sta_info call these to send out the disassoc and deauth frame
which are both not relevent to mesh. So don't send them.
Signed-off-by: Chun-Yeow Yeoh <yeohchunyeow@gmail.com>
Signed-off-by: Javier Lopez <jlopex@gmail.com>
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: Jason Mobarak <x@jason.mobarak.name>
Signed-off-by: Bob Copeland <me@bobcopeland.com>
Bob Copeland [Mon, 1 Sep 2014 04:23:23 +0000 (00:23 -0400)]
nl80211: Register to receive mesh frames
Signed-off-by: Javier Lopez <jlopex@gmail.com>
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: Jason Mobarak <x@jason.mobarak.name>
Signed-off-by: Bob Copeland <me@bobcopeland.com>
Jason Abele [Mon, 1 Sep 2014 04:23:32 +0000 (00:23 -0400)]
mesh: Show [MESH] flag in scan results
Signed-off-by: Javier Lopez <jlopex@gmail.com>
Signed-off-by: Jason Abele <jason.abele@gmail.com>
Jason Abele [Mon, 1 Sep 2014 04:23:32 +0000 (00:23 -0400)]
Add SAE and FT/SAE into scan results info
These key management options were missing from the previous set of
parsed information in scan results.
Signed-off-by: Javier Lopez <jlopex@gmail.com>
Signed-off-by: Jason Abele <jason.abele@gmail.com>
Jouni Malinen [Sat, 25 Oct 2014 09:09:02 +0000 (12:09 +0300)]
tests: Channel switch with HT40
ap_ht40_csa and ap_ht40_csa3 seem to show a cfg80211/mac80211 issue
where a CSA from HT40+ to HT40- channel results in HT getting disabled
due to cfg80211_chandef_compatible() check on c1->width == c2->width
claiming that the new channel is not compatible. For now, comment out
the FAIL case for these known issues to avoid constant failure for cases
that are not wpa_supplicant/hostapd issues. Once the kernel side design
has been reviewed, these error cases can be enabled here.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sat, 25 Oct 2014 08:29:28 +0000 (11:29 +0300)]
tests: Channel switch with VHT80
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sat, 25 Oct 2014 08:28:56 +0000 (11:28 +0300)]
nl80211: Write channel type in debug log on channel switch event
This makes it easier to understand what kind of channel switch was
indicated by the driver.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sat, 25 Oct 2014 08:27:48 +0000 (11:27 +0300)]
Fix channel switch to disable VHT with HT
If both HT and VHT was enabled on AP and channel switch event from the
driver indicated that HT was disabled, VHT was left enabled. This
resulted in the following channel configuration failing. Fix this by
disabling VHT if HT gets disabled.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sat, 25 Oct 2014 07:52:06 +0000 (10:52 +0300)]
tests: Radar detection on HT40 channel
Signed-off-by: Jouni Malinen <j@w1.fi>
Eliad Peller [Mon, 20 Oct 2014 03:21:41 +0000 (23:21 -0400)]
nl80211: Advertise and configure SMPS modes
Advertise static/dynamic SMPS mode support (according to the wiphy
feature bits) and pass the configured smps_mode when starting the AP.
Signed-off-by: Eliad Peller <eliad@wizery.com>
Eliad Peller [Mon, 20 Oct 2014 03:21:40 +0000 (23:21 -0400)]
HT: Pass the smps_mode in AP parameters
The driver needs to know what SMPS mode it should use.
Signed-off-by: Eliad Peller <eliad@wizery.com>
Eliad Peller [Mon, 20 Oct 2014 03:21:39 +0000 (23:21 -0400)]
HT: Let the driver advertise its supported SMPS modes for AP mode
Add smps_modes field, and let the driver fill it with its supported SMPS
modes (static/dynamic). This will let us start an AP with specific SMPS
mode (e.g., dynamic) that will allow it to reduce its power usage.
Signed-off-by: Eliad Peller <eliad@wizery.com>
Tomasz Bursztyka [Wed, 22 Oct 2014 06:33:22 +0000 (09:33 +0300)]
dbus: Do a full P2P find as it is in ctrl_iface.c
So the behavior is consistent whatever interface is in use.
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
Jouni Malinen [Thu, 23 Oct 2014 18:52:05 +0000 (21:52 +0300)]
P2P: Stop TX wait on SD query TX status failure
The previous TX operation could be on another channel if there are
multiple peers with pending SD queries. To avoid failing to send the
following query, stop the last one to allow any Listen channel to be
used for the following query during p2p_find iteration.
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Jouni Malinen [Thu, 23 Oct 2014 18:49:42 +0000 (21:49 +0300)]
P2P: Limit number of SD retries during find
Commit
7139cf4a4f1fecfd03d0daff9bb33adb80cc3530 ('P2P: Decrement
sd_pending_bcast_queries when sd returns success') added support for
retrying P2P SD queries. However, it did this without limiting how many
retries are allowed. This can result in excessive number of retries if a
peer device does not show up on its Listen channel and there is a
pending SD query to it. Limit the maximum number of SD retries to 100
per p2p_find operation for each peer to avoid unlimited retries.
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Jouni Malinen [Thu, 23 Oct 2014 18:30:32 +0000 (21:30 +0300)]
P2P: Iterate through all peers in pending pre-find operation
Commit
7139cf4a4f1fecfd03d0daff9bb33adb80cc3530 ('P2P: Decrement
sd_pending_bcast_queries when sd returns success') changed P2P SD
behavior in a way that the P2P search loop ended up in continuing with
the first peer entry until it acknowledged receipt of a pending
broadcast SD request while the previous design went through all peers
once. While it is reasonable to retry SD, getting stuck with the first
peer is not really desirable. Change the p2p_continue_find() loop to
continue from the next peer in each iteration to allow progress through
all peers that have pending operations if any other peer is not
acknowledging frames (e.g., due to not being on Listen channel).
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Chet Lanctot [Thu, 23 Oct 2014 15:21:49 +0000 (18:21 +0300)]
Add support for offloading key management operations to the driver
This commit introduces a QCA vendor command and event to provide an
option to use extended versions of the nl80211 connect/roam operations
in a way that allows drivers to offload key management operations to the
driver/firmware.
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Jouni Malinen [Thu, 23 Oct 2014 13:33:25 +0000 (16:33 +0300)]
tests: Allow time for go_neg_pbc() GO Neg Resp to go out
It was possible for the not-pre-authorized GO Negotiation case to end up
starting new GO Negotiation before the GO Negotiation Response frame
with status=1 was transmitted. While this works for group formation, it
could reduce test coverage for the common case where that response is
received. At a small sleep to make it less likely for this unexpected
sequence to happen during testing.
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Jouni Malinen [Wed, 22 Oct 2014 17:02:48 +0000 (20:02 +0300)]
P2P: Search all 2.4 GHz social channels regardless of disallow_freq
Commit
1595eb93aee0239de51f1090d4528e4b2cfe3add ('P2P: Add support for
60 GHz social channel') had an unintended change to how P2P search scans
2.4 GHz social channels. Use of p2p_supported_freq() to filter the list
of social channels ended up using the disallow_freq setting to remove
social channels from the P2P search scans. This is not desired since
peers need to be found on any of the social channels even if those
channels have been disabled from P2P operating channel use. Restore the
previous behavior by included all the 2.4 GHz social channels in P2P
search scans if the driver indicated support for the 2.4 GHz band.
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Jouni Malinen [Tue, 21 Oct 2014 09:16:47 +0000 (12:16 +0300)]
GAS: Do not reply to P2P SD query from generic GAS/ANQP server
This avoids an issue where a wpa_supplicant build with CONFIG_P2P=y and
CONFIG_HS20=y ended up processing a P2P SD query twice when operating as
a GO and sending out two replies. Only the P2P SD implementation should
reply to P2P SD query in such a case.
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Johannes Berg [Mon, 20 Oct 2014 10:00:08 +0000 (12:00 +0200)]
Revert "nl80211: Do not indicate P2P_DEVICE support by default"
This reverts commit
851b0c5581069de6db01ddca7c150b76cee415a2.
The kernel now has full support for this (and it is turned off
by default for hwsim) so wpa_supplicant should really go back
to autodetecting this so clients don't have to figure out what
to do.
Also add a debug message stating that P2P_DEVICE support is used.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Johannes Berg [Mon, 20 Oct 2014 10:00:07 +0000 (12:00 +0200)]
tests: Disable support_p2p_device by default
When loading the hwsim module, disable support_p2p_device by default.
This will also become the default in the kernel, but until then it
makes sure it's not turned on by default.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Johannes Berg [Mon, 20 Oct 2014 10:00:06 +0000 (12:00 +0200)]
tests: Use dynamic radio for P2P_DEVICE tests
Use dynamic radios for P2P_DEVICE tests to be able to test
support when the default in hwsim is to not support it.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Jouni Malinen [Wed, 22 Oct 2014 07:50:57 +0000 (10:50 +0300)]
tests: Run run-tests.py as root from run-all.sh
This will be needed to be able to control dynamic mac80211_hwsim
operations like adding and removing a phy. In the past, it has been
possible to start the main programs as root and then use non-root
account for run-tests.py. However, there is already a large number of
cases within the test scripts where sudo is needed. Moving that
requirement to execution of run-tests.py allows those to be simplified
as well.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Tue, 21 Oct 2014 09:08:47 +0000 (12:08 +0300)]
tests: P2P SD with GO
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Jouni Malinen [Tue, 21 Oct 2014 11:16:06 +0000 (14:16 +0300)]
browser-android: Use execv() directly instead of os_exec()
This allows the URL to be passed as a single argument to the program
instead of getting split into multiple by os_exec(). This makes the
operation more robust for cases where the URL could have been received
from an external source and could potentially add extra arguments to the
command line.
In addition, fix the /system/bin/input execution by using system() for
it instead of execv() through os_exec(). /system/bin/input is a script
that execv() won't be able to run. Since the full command line is
specified, system() can be used for this. The keycode is also changed
from 3 to KEYCODE_HOME to make this work with current Android version.
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Jouni Malinen [Tue, 21 Oct 2014 11:04:25 +0000 (14:04 +0300)]
browser-wpadebug: Use execv() directly instead of os_exec()
This allows the URL to be passed as a single argument to the program
instead of getting split into multiple by os_exec(). This makes the
operation more robust for cases where the URL could have been received
from an external source and could potentially add extra arguments to the
command line.
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Jouni Malinen [Tue, 21 Oct 2014 09:59:47 +0000 (12:59 +0300)]
browser-system: Use execv() directly instead of os_exec()
This allows the URL to be passed as a single argument to the program
instead of getting split into multiple by os_exec(). This makes the
operation more robust for cases where the URL could have been received
from an external source and could potentially add extra arguments to the
command line.
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Jouni Malinen [Tue, 21 Oct 2014 08:59:54 +0000 (11:59 +0300)]
tests: BSS Load updates
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Kyeyoon Park [Wed, 15 Oct 2014 23:36:04 +0000 (16:36 -0700)]
AP: Add support for BSS load element (STA Count, Channel Utilization)
The new "bss_load_update_period" parameter can be used to configure
hostapd to advertise its BSS Load element in Beacon and Probe Response
frames. This parameter is in the units of BUs (Beacon Units).
When enabled, the STA Count and the Channel Utilization value will be
updated periodically in the BSS Load element. The AAC is set to 0 sinze
explicit admission control is not supported. Channel Utilization is
calculated based on the channel survey information from the driver and
as such, requires a driver that supports providing that information for
the current operating channel.
Signed-off-by: Kyeyoon Park <kyeyoonp@qca.qualcomm.com>
Johannes Berg [Mon, 20 Oct 2014 10:00:05 +0000 (12:00 +0200)]
tests: Introduce hwsim radio context manager
The new HWSimRadio context manager allows the following
syntax to create (and appropriately destroy) a new radio:
with HWSimRadio([...]) as (radio_id, iface_name):
[...]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Johannes Berg [Mon, 20 Oct 2014 10:00:04 +0000 (12:00 +0200)]
tests: Allow creating radio with p2p-device support
For testing P2P-Device support properly, allow dynamically
creating radios with support for it in hwsim.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Jouni Malinen [Mon, 20 Oct 2014 09:42:27 +0000 (12:42 +0300)]
P2P: Support dynamic addition of P2P Device triggering interface
This moves the addition of P2P Device interface into
wpa_supplicant_add_iface() so that this operation can be done
dynamically when adding an interface to an already running
wpa_supplicant process.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Mon, 20 Oct 2014 09:40:29 +0000 (12:40 +0300)]
P2P: Remove all child interfaces when removing the parent
This is needed to allow dynamic removal of an interface that adds the
P2P Device interface without leaving behind the management interface
with invalid wpa_s->parent pointer.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Mon, 20 Oct 2014 09:38:43 +0000 (12:38 +0300)]
tests: Remove wlan5-related interfaces based on list
Instead of hardcoding reset_devs() to remove wlan5, remove all wlan*
interfaces renaming in the wpa_supplicant process to support the case of
dynamically added hwsim phy.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Mon, 20 Oct 2014 08:22:16 +0000 (11:22 +0300)]
tests: Make RELOG command use global control interface
This allows RELOG to be used even if a wpa_supplicant process does not
have any interfaces configured.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sun, 19 Oct 2014 17:57:08 +0000 (20:57 +0300)]
tests: Use internal DATA_TEST_* functionality instead of hwsim_test
This replaces use of the external hwsim_test tool for most data
connectivity test cases. Only the cases where a special interface
(bridge/VLAN) is used are still executed through hwsim_test.
The internal DATA_TEST_* functionality makes it easier to extend the
connectivity test cases through an external device with real WLAN
hardware instead of the hwsim test setup. In addition, the error reports
from this code can be made more informative.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sun, 19 Oct 2014 17:56:36 +0000 (20:56 +0300)]
tests: Add WpaSupplicant.wait_group_event()
This can be used to wait for events from a P2P group interface.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sun, 19 Oct 2014 17:55:02 +0000 (20:55 +0300)]
tests: Add own_addr() for both Hostapd and WpaSupplicant classes
This makes it easier to use instances of control interfaces in common
code without having to separately address hostapd and wpa_supplicant
behavior differences.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sun, 19 Oct 2014 17:51:45 +0000 (20:51 +0300)]
Add data test functionality
It is now possible to run hwsim_test like data connectivity test through
wpa_supplicant/hostapd control interface if CONFIG_TESTING_OPTIONS=y is
used for the build. Test functionality is enabled/disabled at runtime
with "DATA_TEST_CONFIG <1/0>". The "DATA_TEST_TX <dst> <src> <tos>"
command can be used to request a test frame to be transmitted.
"DATA-TEST-RX <dst> <src>" event is generated when the test frame is
received.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sun, 19 Oct 2014 14:54:49 +0000 (17:54 +0300)]
tests: Pass wpas/hapd instance to test_connectivity()
This makes it easier to replace data connectivity testing to use
something else than local hwsim_test binary on the controller device.
Signed-off-by: Jouni Malinen <j@w1.fi>
Luciano Coelho [Wed, 1 Jan 2014 13:32:12 +0000 (15:32 +0200)]
tests: Add test cases for AP channel switch announcement
Signed-hostap: Luciano Coelho <luciano.coelho@intel.com>
Skip CSA tests if the driver doesn't support this in AP mode.
Signed-hostap: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
Andrei Otcheretianski [Wed, 1 Jan 2014 13:32:10 +0000 (15:32 +0200)]
Do not start CSA flow when CSA is not supported by the driver
Signed-hostap: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
Jouni Malinen [Sun, 19 Oct 2014 09:22:39 +0000 (12:22 +0300)]
HS 2.0R2: Write OSEN key_mgmt value to config file
This was forgotten when the parser for key_mgmt=OSEN was added.
Signed-off-by: Jouni Malinen <j@w1.fi>
Thomas Pedersen [Mon, 1 Sep 2014 04:23:34 +0000 (00:23 -0400)]
Write SAE and FT-SAE key_mgmt to config
This was forgotten when the key_mgmt parser for SAE and FT-SAE was
added.
Signed-off-by: Javier Lopez <jlopex@gmail.com>
Signed-off-by: Jason Mobarak <x@jason.mobarak.name>
Signed-off-by: Thomas Pedersen <thomas@noack.us>
Bob Copeland [Mon, 1 Sep 2014 04:23:23 +0000 (00:23 -0400)]
nl80211: Add new peer candidate event for mesh
Signed-off-by: Javier Lopez <jlopex@gmail.com>
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: Jason Mobarak <x@jason.mobarak.name>
Signed-off-by: Bob Copeland <me@bobcopeland.com>
Bob Copeland [Mon, 1 Sep 2014 04:23:23 +0000 (00:23 -0400)]
nl80211: Add support for sta_add flags_mask
Signed-off-by: Javier Lopez <jlopex@gmail.com>
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: Jason Mobarak <x@jason.mobarak.name>
Signed-off-by: Bob Copeland <me@bobcopeland.com>
Bob Copeland [Mon, 1 Sep 2014 04:23:23 +0000 (00:23 -0400)]
nl80211: Add new commands to support mesh interfaces
Create init_mesh, mesh_join, and mesh_leave actions to kernel.
Signed-off-by: Javier Lopez <jlopex@gmail.com>
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: Jason Mobarak <x@jason.mobarak.name>
Signed-off-by: Bob Copeland <me@bobcopeland.com>
Bob Copeland [Mon, 1 Sep 2014 04:23:23 +0000 (00:23 -0400)]
nl80211: Add driver flag to indicate mesh support
Convert the driver flags variable to u64 since there was no room for
more flags.
Signed-off-by: Javier Lopez <jlopex@gmail.com>
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: Jason Mobarak <x@jason.mobarak.name>
Signed-off-by: Bob Copeland <me@bobcopeland.com>
Jouni Malinen [Sun, 19 Oct 2014 08:18:07 +0000 (11:18 +0300)]
Add a test vector for AES-SIV
This verifies that the AES-SIV implementation results matches RFC 5297
test vector A.1.
Signed-off-by: Jouni Malinen <j@w1.fi>
Bob Copeland [Mon, 1 Sep 2014 04:23:28 +0000 (00:23 -0400)]
Implement RFC 5297 AES-SIV
Add an implementation of Synthetic Initialization Vector (SIV)
Authenticated Encryption Using the Advanced Encryption Standard (AES).
This mode of AES is used to protect peering frames when using
the authenticated mesh peering exchange.
Signed-off-by: Javier Lopez <jlopex@gmail.com>
Signed-off-by: Jason Mobarak <x@jason.mobarak.name>
Signed-off-by: Bob Copeland <me@bobcopeland.com>
Bob Copeland [Mon, 1 Sep 2014 04:23:25 +0000 (00:23 -0400)]
mesh: Parse mesh-related information elements
Add support for parsing mesh id, mesh config, mesh peering,
AMPE and MIC information elements.
Signed-off-by: Bob Copeland <me@bobcopeland.com>
Thomas Pedersen [Mon, 1 Sep 2014 04:23:20 +0000 (00:23 -0400)]
mesh: Add mesh protocol definitions
Signed-off-by: Javier Lopez <jlopex@gmail.com>
Signed-off-by: Jason Mobarak <x@jason.mobarak.name>
Signed-hostap: Thomas Pedersen <thomas@noack.us>
Jouni Malinen [Sun, 19 Oct 2014 07:37:02 +0000 (10:37 +0300)]
tests: Provide more details of parallel testing with curses UI
This extends parallel-vm.py to show more details about testing progress
from each VM.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sat, 18 Oct 2014 13:50:17 +0000 (16:50 +0300)]
tests: P2P re-invocation with p2p_add_cli_chan=1
Signed-off-by: Jouni Malinen <j@w1.fi>
Mikael Kanstrup [Fri, 17 Oct 2014 11:16:35 +0000 (13:16 +0200)]
P2P: Include passive channels in invitation response
Patch
51e9f22809b0f412c9c10baa34ddc46cf5df4f33 added the option
p2p_add_cli_chan to allow P2P GC to connect on passive channels
assuming the GO should know whether allowed to send on these channels.
This patch adds missing cli_channels to invitation response messages
to allow re-connecting to a persistent group as GC on passive
channels.
Signed-off-by: Mikael Kanstrup <mikael.kanstrup@sonymobile.com>
Toby Gray [Tue, 14 Oct 2014 17:34:42 +0000 (18:34 +0100)]
tests: Removing a P2P group via the group control interface
This adds a test which attempts to use the control interface for the
P2P group to remove the P2P group.
Signed-off-by: Toby Gray <toby.gray@realvnc.com>
Jouni Malinen [Sat, 18 Oct 2014 13:20:51 +0000 (16:20 +0300)]
P2P: Fix group interface removal through interface ctrl_iface
It was possible to issue the P2P_GROUP_REMOVE command through the
per-interface control interface. This resulted in freed memory getting
accessed when trying to send the control interface response to the
operation that ended up deleting the group interface. Fix this by
postponing the removal operation until the caller has returned.
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sat, 18 Oct 2014 10:03:17 +0000 (13:03 +0300)]
tests: SAE PMKSA caching
Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen [Sat, 18 Oct 2014 10:02:02 +0000 (13:02 +0300)]
SAE: Add support for PMKSA caching on the station side
This makes wpa_supplicant SME create PMKSA cache entries from SAE
authentication and try to use PMKSA caching if an entry is found for the
AP. If the AP rejects the attempt, fall back to SAE authentication is
used.
Signed-off-by: Jouni Malinen <j@w1.fi>