]> git.ipfire.org Git - thirdparty/hostap.git/log
thirdparty/hostap.git
4 years agoiface match: Unspecified matched interfaces should not log driver fails
Roy Marples [Tue, 21 Jul 2020 13:25:26 +0000 (14:25 +0100)] 
iface match: Unspecified matched interfaces should not log driver fails

If there is no matching interface given, but interface matching is
enabled, all interfaces on the system will try to be initialized. Non
wireless interfaces will fail and the loopback device will be one of
these, so just log a diagnostic rather than an error.

Signed-off-by: Roy Marples <roy@marples.name>
4 years agoop_classes: Don't report an error when there are none to add
Roy Marples [Tue, 21 Jul 2020 12:17:41 +0000 (13:17 +0100)] 
op_classes: Don't report an error when there are none to add

Instead, log a diagnostic so that noise to the user is reduced. This is
expected behavior with driver interfaces that do not report supported
operating modes/classes.

Signed-off-by: Roy Marples <roy@marples.name>
4 years agoBSD: don't log SIOCG80211 errors during interface setup
Roy Marples [Tue, 21 Jul 2020 10:53:55 +0000 (11:53 +0100)] 
BSD: don't log SIOCG80211 errors during interface setup

Unless debugging.
wpa_supplicant will log it failed to initialized the driver for the
interface anyway so this just silences some noise for users.

Signed-off-by: Roy Marples <roy@marples.name>
4 years agotests: bgscan parameter update
Jouni Malinen [Fri, 9 Oct 2020 12:48:54 +0000 (15:48 +0300)] 
tests: bgscan parameter update

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoD-Bus: Allow empty string in dbus network properties
Matthew Wang [Thu, 16 Jul 2020 00:17:43 +0000 (17:17 -0700)] 
D-Bus: Allow empty string in dbus network properties

This is needed for clearing previously set parameters in a similar
manner that was already available through the control interface
SET_NETWORK command.

Signed-off-by: Matthew Wang <matthewmwang@chromium.org>
4 years agotests: Empty network profile parameters will be valid
Jouni Malinen [Fri, 9 Oct 2020 13:41:16 +0000 (16:41 +0300)] 
tests: Empty network profile parameters will be valid

Remove this part of the dbus_network test case since it would be causing
failures after wpa_supplicant is modified to accept empty strings
through D-Bus.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoAllow bgscan parameters to be reconfigured
Matthew Wang [Thu, 16 Jul 2020 00:17:42 +0000 (17:17 -0700)] 
Allow bgscan parameters to be reconfigured

Teach wpa_supplicant to {de,}initialize bgscans when bgscan parameters
are set after initial connection.

Signed-off-by: Matthew Wang <matthewmwang@chromium.org>
4 years agoGlobal parser functions to return 1 when property unchanged
Matthew Wang [Thu, 16 Jul 2020 00:17:41 +0000 (17:17 -0700)] 
Global parser functions to return 1 when property unchanged

Currently, wpa_config_set(), the function that sets wpa_supplicant
per-network properties, returns 1 when a property it attempts to set is
unchanged. Its global parallel, wpa_config_process_global(), doesn't do
this even though much of the code is very similar. Change this, and
several of the parser functions, to resemble the per-network parser and
setter functions.

Signed-off-by: Matthew Wang <matthewmwang@chromium.org>
4 years agoD-Bus: Skip property update actions when wpa_config_set() returns 1
Matthew Wang [Thu, 16 Jul 2020 00:17:40 +0000 (17:17 -0700)] 
D-Bus: Skip property update actions when wpa_config_set() returns 1

When network properties are updated via dbus, wpa_config_set() is used
to update the property in the wpa_ssid struct. If it returns 1, the
property was not changed and there's no need to perform any of the
update actions.

Signed-off-by: Matthew Wang <matthewmwang@chromium.org>
4 years agoD-Bus: Allow changing an interface bridge via D-Bus
Beniamino Galvani [Wed, 30 Sep 2020 16:34:36 +0000 (18:34 +0200)] 
D-Bus: Allow changing an interface bridge via D-Bus

D-Bus clients can call CreateInterface() once and use the resulting
Interface object to connect multiple times to different networks.

However, if the network interface gets added to a bridge, clients
currently have to remove the Interface object and create a new one.

Improve this by supporting the change of the BridgeIfname property of
an existing Interface object.

Signed-off-by: Beniamino Galvani <bgalvani@redhat.com>
4 years agotests: remote: Add run_monitor test case
Janusz Dziedzic [Sat, 26 Sep 2020 11:27:00 +0000 (13:27 +0200)] 
tests: remote: Add run_monitor test case

This is useful to run monitor quickly:
./run-tests.py -t run_monitor -m mon:36,20,36,0:1,20,1,0

In such example we will get one PCAP for 36/20 and 1/20.
After execution, PCAP file is in the log directory, e.g.:
./logs/2019_11_11_13_36_24/run_monitor_mon_wlp3s0_wlp5s0.pcap

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@gmail.com>
4 years agotests: remote: Allow passing of parameters with monitor interface
Janusz Dziedzic [Sat, 26 Sep 2020 11:26:59 +0000 (13:26 +0200)] 
tests: remote: Allow passing of parameters with monitor interface

This is mainly for standalone monitor in case we know and would like to
setup specific monitor configuration.

-m monitor:<chan>,<bw>, <cf1>, <cf2>:...

For example:
-m monitor:1,40,3,0
-m e4300:1,40,3,0:11,40,9,0

This also supports monitor with multiple interfaces (one pcap).

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@gmail.com>
4 years agotests: remote: Allow passing of parameters with devname
Janusz Dziedzic [Sat, 26 Sep 2020 11:26:58 +0000 (13:26 +0200)] 
tests: remote: Allow passing of parameters with devname

Allow parameters to be passed together with the device name. For
example, -m mon1:1,20,1,0

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@gmail.com>
4 years agotests: remote: Unblock rfkill on monitor
Janusz Dziedzic [Sat, 26 Sep 2020 11:26:57 +0000 (13:26 +0200)] 
tests: remote: Unblock rfkill on monitor

Unblock wifi rfkill before setup/run monitor.

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@gmail.com>
4 years agotests: remote: Stop wpa_supplicant/hostapd using pidfile
Janusz Dziedzic [Sat, 26 Sep 2020 11:26:56 +0000 (13:26 +0200)] 
tests: remote: Stop wpa_supplicant/hostapd using pidfile

Instead of killall, use pidfile.

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@gmail.com>
4 years agotests: remote: monitor use execute_stop()
Janusz Dziedzic [Sat, 26 Sep 2020 11:26:55 +0000 (13:26 +0200)] 
tests: remote: monitor use execute_stop()

Stop the single thread instead of killing all monitor apps.

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@gmail.com>
4 years agotests: remotehost add execute_stop()
Janusz Dziedzic [Sat, 26 Sep 2020 11:26:54 +0000 (13:26 +0200)] 
tests: remotehost add execute_stop()

Before we have to kill an application we start in the thread - in most
cases using killall and sometimes kill other applicantions, e.g., tcpdump,
iper, iperf3, tshark.

With this patch we are able to stop/kill a single application/thread
instead, based on the pid file.

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@gmail.com>
4 years agotests: remote host stderr workaround
Janusz Dziedzic [Sat, 26 Sep 2020 11:26:53 +0000 (13:26 +0200)] 
tests: remote host stderr workaround

In case we are using ssh MUX (which speed up a lot test execution) with
remotehost we could hit cases where ssh will hang up. This depends on
different ssh versions and remotehost implementation.

stderr as a tmpfile fixes this problem.

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@gmail.com>
4 years agotests: remote: Sort tests correctly
Janusz Dziedzic [Sat, 26 Sep 2020 11:26:52 +0000 (13:26 +0200)] 
tests: remote: Sort tests correctly

Problem appeared after introducing python3 support.

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@gmail.com>
4 years agotests: P2P with 6 GHz disabled
Jouni Malinen [Thu, 8 Oct 2020 20:29:50 +0000 (23:29 +0300)] 
tests: P2P with 6 GHz disabled

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoP2P: Add configuration support to disable P2P in 6 GHz band
Sreeramya Soratkal [Thu, 8 Oct 2020 12:05:43 +0000 (17:35 +0530)] 
P2P: Add configuration support to disable P2P in 6 GHz band

Add a new configuration parameter p2p_6ghz_disable=1 to disable P2P
operation in the 6 GHz band. This avoids additional delays caused by
scanning 6 GHz channels in p2p_find and p2p_join operations in the cases
where user doesn't want P2P connection in the 6 GHz band.

Signed-off-by: Sreeramya Soratkal <ssramya@codeaurora.org>
4 years agotests: OCV and missing PMF or OCI
Jouni Malinen [Thu, 8 Oct 2020 20:07:43 +0000 (23:07 +0300)] 
tests: OCV and missing PMF or OCI

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoOCV: Work around for misbehaving STAs that indicate OCVC=1 without OCI
Veerendranath Jakkam [Wed, 7 Oct 2020 07:21:58 +0000 (12:51 +0530)] 
OCV: Work around for misbehaving STAs that indicate OCVC=1 without OCI

Some legacy stations copy previously reserved RSN capability bits,
including OCVC, in (Re)Association Request frames from the AP's RSNE but
do not indicate MFP capability and/or do not send OCI in RSN handshakes.
This is causing connection failures with such erroneous STAs.

To improve interoperability with such legacy STAs allow a workaround OCV
mode to be enabled to ignore OCVC=1 from the STA if it does not follow
OCV requirements in the first protected exchange. This covers cases
where a STA claims to have OCV capability, but it does not negotiate use
of management frame protection or does not include OCI in EAPOL Key msg
2/4, FT Reassociation Request frame, or FILS (Re)Association Reqest.

The previous behavior with ocv=1 is maintained, i.e., misbehaving STAs
are not allowed to connect. When the new workaround mode is enabled with
ocv=2, the AP considers STA as OCV capable on below criteria
- STA indicates both OCV and MFP capability
- STA sends OCI during connection attempt in a protected frame

Enabling this workaround mode reduced OCV protection to some extend
since it allows misbehavior to go through. As such, this should be
enabled only if interoperability with misbehaving STAs is needed.

Signed-off-by: Veerendranath Jakkam <vjakkam@codeaurora.org>
4 years agoFT: Modify status code in FT Reassoc frame for invalid OCI channel info
Shaakir Mohamed [Sat, 3 Oct 2020 00:14:21 +0000 (17:14 -0700)] 
FT: Modify status code in FT Reassoc frame for invalid OCI channel info

Modify status code in FT Reassociation Response frame from
WLAN_STATUS_UNSPECIFIED_FAILURE to WLAN_STATUS_INVALID_FTE when replying
to an invalid OCI channel info (subelement of FTE) in FT Reassociation
Request frame.

Signed-off-by: Shaakir Mohamed <smohamed@codeaurora.org>
4 years agotests: DPP-CHIRP-RX reception
Jouni Malinen [Wed, 7 Oct 2020 18:31:46 +0000 (21:31 +0300)] 
tests: DPP-CHIRP-RX reception

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoDPP2: Presence Announcement notification in STA
Andrew Beltrano [Mon, 21 Sep 2020 13:50:31 +0000 (13:50 +0000)] 
DPP2: Presence Announcement notification in STA

Generate a control interface event upon receipt of DPP Presence
Announcement frames. This allows external programs to instrument
wpa_supplicant with bootstrapping information on-demand.

Signed-off-by: Andrew Beltrano <anbeltra@microsoft.com>
4 years agoDPP2: Presence Announcement notification in AP
Andrew Beltrano [Mon, 21 Sep 2020 13:49:37 +0000 (13:49 +0000)] 
DPP2: Presence Announcement notification in AP

Generate a control interface event upon receipt of DPP Presence
Announcement frames. This allows external programs to instrument hostapd
with bootstrapping information on-demand.

Signed-off-by: Andrew Beltrano <anbeltra@microsoft.com>
4 years agoDPP2: Presence Announcement notification
Andrew Beltrano [Mon, 21 Sep 2020 13:48:32 +0000 (13:48 +0000)] 
DPP2: Presence Announcement notification

Define a control event with bootstrap id, frame source, frequency, and
chirp hash for receipt of Presence Announcement (chirp) frames.

Signed-off-by: Andrew Beltrano <anbeltra@microsoft.com>
4 years agoDPP2: Fix hostapd crash setting global configurator params on chirp RX
Andrew Beltrano [Wed, 16 Sep 2020 21:51:40 +0000 (21:51 +0000)] 
DPP2: Fix hostapd crash setting global configurator params on chirp RX

When a Presence Announcement frame is received, a check is done to
ensure an ongoing auth is not in progress (!hapd->dpp_auth). A new DPP
auth is then initialized, however, when setting global configurator
params for it, the hapd->dpp_auth pointer is used which was earlier
confirmed as NULL, causing a crash in dpp_set_configurator params when
the pointer is dereferenced.

This only occurs when there are global DPP configurator params to be set
and the peer has no overriding configurator params. If no global DPP
configurator params exist, the call to dpp_set_configurator exits early
and the problem is not observed.

Fix by using the newly init'ed DPP auth structure for setting global
DPP configurator params.

Signed-off-by: Andrew Beltrano <anbeltra@microsoft.com>
4 years agoDocument the missing ignore_broadcast_ssid network profile parameter
Yegor Yefremov [Fri, 2 Oct 2020 06:21:53 +0000 (08:21 +0200)] 
Document the missing ignore_broadcast_ssid network profile parameter

Copy parameter description from hostapd.conf.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
4 years agoDBus: Update dont_quote[] with ignore_broadcast_ssid parameter
Yegor Yefremov [Thu, 1 Oct 2020 15:52:28 +0000 (17:52 +0200)] 
DBus: Update dont_quote[] with ignore_broadcast_ssid parameter

ignore_broadcast_ssid is supported when using with the config
file. But it generates an error if you try to set it via the
DBus interface.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
4 years agoDPP2: Replace OneAsymmetricKey version number (v2 to v1)
Jouni Malinen [Tue, 6 Oct 2020 22:04:48 +0000 (01:04 +0300)] 
DPP2: Replace OneAsymmetricKey version number (v2 to v1)

DPP tech spec was modified to use v1(0) instead of v2(1) for the
OneAsymmetricKey in the Configurator backup structure to match the
description in RFC 5958 Section 2 which indicates v2 to be used when any
items tagged as version 2 are included. No such items are actually
included in this case, so v1 should be used instead.

Change OneAsymmetricKey generation to use v1(0) instead of v2(1) and
parsing to accept either version to be used. This is not backwards
compatible with the earlier implementation which requires v2(1) when
parsing the received value.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoDPP2: Check channel 6 validity before adding it to chirp channel list
Disha Das [Fri, 11 Sep 2020 04:43:52 +0000 (10:13 +0530)] 
DPP2: Check channel 6 validity before adding it to chirp channel list

Check if the 2.4 GHz channel 6 is in the list of available channels
advertised by the driver before adding in to the chirping frequency
list. This fixes issues, e.g., with a 5 GHz only interface.

Signed-off-by: Disha Das <dishad@codeaurora.org>
4 years agotests: DPP with hostapd as configurator requiring fragmentation
Jouni Malinen [Tue, 6 Oct 2020 20:37:17 +0000 (23:37 +0300)] 
tests: DPP with hostapd as configurator requiring fragmentation

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoDPP: Fix GAS fragmentation for DPP Config Response from hostapd
Disha Das [Fri, 11 Sep 2020 04:28:40 +0000 (09:58 +0530)] 
DPP: Fix GAS fragmentation for DPP Config Response from hostapd

The Query Response Length field was missing from GAS Initial Response
and GAS Comeback Response frames in the DPP specific code path from
hostaps GAS server. This resulted in invalid frames being used when the
DPP Config Response needed fragmentation. Fix this by adding the Query
Response Length fields into these frames.

Signed-off-by: Disha Das <dishad@codeaurora.org>
4 years agotests: WPA2-PSK AP with PMF association comeback (WPS)
Jouni Malinen [Tue, 6 Oct 2020 19:46:26 +0000 (22:46 +0300)] 
tests: WPA2-PSK AP with PMF association comeback (WPS)

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoWPS: Enable SA Query checks for WPS AP
Disha Das [Tue, 6 Oct 2020 12:07:01 +0000 (17:37 +0530)] 
WPS: Enable SA Query checks for WPS AP

Initiate SA Query for a WPS+MFP AP. STA flag checks for MFP added for
Association Request frames that use WPS IE without RSNE. This is needed
to avoid giving an opportunity to skip the protection against
disconnections when WPS is enabled.

Signed-off-by: Disha Das <dishad@codeaurora.org>
4 years agotests: P2P autonomous GO and interface being removed
Jouni Malinen [Thu, 1 Oct 2020 12:45:34 +0000 (15:45 +0300)] 
tests: P2P autonomous GO and interface being removed

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoP2P: Make use wpas_p2p_reconsider_moving_go timeout gets canceled
Jouni Malinen [Thu, 1 Oct 2020 12:44:19 +0000 (15:44 +0300)] 
P2P: Make use wpas_p2p_reconsider_moving_go timeout gets canceled

The per-interface P2P data freeing function did not cover this eloop
timeout that could potentially have been registered. Explicitly cancel
this timeout to make sure no references to freed memory can remain in
such a case.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoP2P: Fix P2P interface remuval through wpa_supplicant_remove_iface()
Veerendranath Jakkam [Fri, 25 Sep 2020 12:39:00 +0000 (18:09 +0530)] 
P2P: Fix P2P interface remuval through wpa_supplicant_remove_iface()

wpa_supplicant_remove_iface() removes the P2P management interface from
the global interfaces list before calling wpa_supplicant_deinit_iface().
When wpas_p2p_group_remove() is called from
wpa_supplicant_deinit_iface(), the P2P group created on the calling
wpa_s was not getting cleared as the calling wpa_s is not in the list of
global->ifaces. This results in the P2P management interface being
removed without disconnecting the p2p_group created on it. This could
result in an illegal access of freed memory, e.g., when a pending eloop
task wpas_p2p_reconsider_moving_go() was triggered with the leftover ctx
pointer to the removed P2P interface instance.

Fix this by disconnecting the P2P group created on interface to be
deinitialized before deinitializing the interface.

Signed-off-by: Veerendranath Jakkam <vjakkam@codeaurora.org>
4 years agoP2P: Include channels 149 to 161 for operating classes 128 and 130
Sreeramya Soratkal [Tue, 18 Aug 2020 16:16:12 +0000 (21:46 +0530)] 
P2P: Include channels 149 to 161 for operating classes 128 and 130

With the configuration defined in the global_op_class array, the
channels starting from 149 in the operating classes 128 and 130 were not
considered for P2P channel setup due to the non-continuous
incrementation of channel indexes. The other channels in these operating
classes were considered. Handle the channels from 149 to 161 in the
operating classes 128 and 130 for P2P channel setup by handling this
jump in the channel number incrementation.

Signed-off-by: Sreeramya Soratkal <ssramya@codeaurora.org>
4 years agoSAE: Fix error path handling for SSWU
Jouni Malinen [Thu, 1 Oct 2020 06:35:58 +0000 (09:35 +0300)] 
SAE: Fix error path handling for SSWU

crypto_bignum_init_set() might fail in case of memory allocation
failures. These two cases within sswu() did not handle that properly,
i.e., a memory allocation failure could have resulted in dereferencing a
NULL pointer. Check the return value before proceeding to fix this.

Fixes: aeb022f8e51e ("SAE: Implement hash-to-element PT/PWE crypto routines")
Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoP2P: Fix a typo in a comment
Jouni Malinen [Wed, 30 Sep 2020 07:14:33 +0000 (10:14 +0300)] 
P2P: Fix a typo in a comment

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoAdd additional roam triggers to qca_vendor_roam_triggers
Sunil Dutt [Fri, 25 Sep 2020 15:45:46 +0000 (21:15 +0530)] 
Add additional roam triggers to qca_vendor_roam_triggers

Introduce QCA_ATTR_ROAM_CONTROL_SCAN_SCHEME_TRIGGERS that represents the
triggers for which the scan scheme from enum qca_roam_scan_scheme has to
be applied.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agowlantest: Fix EAPOL-Key Key Data padding removal
Jouni Malinen [Tue, 29 Sep 2020 21:19:53 +0000 (00:19 +0300)] 
wlantest: Fix EAPOL-Key Key Data padding removal

The case where a single 0xdd octet without any 0x00 octets is used as
padding was addressed incorrectly and that ended up truncating one octet
of the actual plaintext version of the Key Data value. Fix this by
removing the unnecessary change to the p pointer before calculating the
new length since p is already pointing to one past the last octet of the
full plaintext.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoAdd a new status code to represent an already suspended TWT session
Rajasekaran Kalidoss [Tue, 22 Sep 2020 05:22:42 +0000 (10:52 +0530)] 
Add a new status code to represent an already suspended TWT session

The firmware sends a new status code to indicate an already suspended
TWT session. Update the status code enum to represent this state.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoAdd test configuration attr to start/stop transmitting FD frames
Veerendranath Jakkam [Mon, 21 Sep 2020 07:42:11 +0000 (13:12 +0530)] 
Add test configuration attr to start/stop transmitting FD frames

Define QCA vendor attribute
QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_FILS_DISCOVERY_FRAMES_TX to
dynamically start/stop transmitting FILS discovery frames.

Signed-off-by: Veerendranath Jakkam <vjakkam@codeaurora.org>
4 years agotests: DPP PFS fallback with SAE enabled
Jouni Malinen [Wed, 23 Sep 2020 20:09:32 +0000 (23:09 +0300)] 
tests: DPP PFS fallback with SAE enabled

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoDPP2: Use the PFS fallback if multiple key_mgmt values are enabled
Jouni Malinen [Wed, 23 Sep 2020 20:06:55 +0000 (23:06 +0300)] 
DPP2: Use the PFS fallback if multiple key_mgmt values are enabled

Previously this fallback from PFS enabled to disabled (and back to
enabled) was used only if the local network profile used key_mgmt=DPP,
i.e., did not enable another other AKM. That leaves out some valid cases
since the local network profile could actually enable both DPP and SAE.
Extend this check to accept cases DPP AKM is enabled and it was selected
for the connection even if there other enabled AKMs.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoFix a typo in a comment
Jouni Malinen [Tue, 22 Sep 2020 20:31:20 +0000 (23:31 +0300)] 
Fix a typo in a comment

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agohostapd: Resolved compiler uninitialized warning
Karthikeyan Kathirvel [Mon, 20 Jul 2020 16:52:01 +0000 (22:22 +0530)] 
hostapd: Resolved compiler uninitialized warning

Resolved the below warning
../src/ap/ieee802_11.c:4535:25: warning: 'reply_res' may be used
uninitialized in this function [-Wmaybe-uninitialized]
  if (sta && ((reply_res != WLAN_STATUS_SUCCESS &&
                           ^
Since reply_res is been assigned inside an if condition and so
compiler treats reply_res as uninitalized variable

Initialize reply_res with WLAN_STATUS_UNSPECIFIED_FAILURE.

Fixes: 5344af7d22ac ("FT: Discard ReassocReq with mismatching RSNXE Used value")
Signed-off-by: Karthikeyan Kathirvel <kathirve@codeaurora.org>
4 years agoDo not start SA Query procedure without keys
Rohan [Fri, 14 Aug 2020 13:36:15 +0000 (19:06 +0530)] 
Do not start SA Query procedure without keys

The AP mode condition for initiating the SA Query procedure when
receiving a new (Re)Association Request frame used only association
state and MFP negotiation result without checking that the key exchange
has been completed. This can give rise to a corner case where the SA
Query procedure may get started after open association but before the
4-way handshake has been completed, resulting in open SA query frames
over the air.

Fix this by adding station authorized check in hostapd_notif_assoc() and
check_assoc_ies().

Signed-off-by: Rohan <drohan@codeaurora.org>
4 years agoWork around Supported Operating Classes element issues for 6 GHz
Kiran Kumar Lokere [Fri, 11 Sep 2020 03:40:02 +0000 (20:40 -0700)] 
Work around Supported Operating Classes element issues for 6 GHz

IEEE Std 802.11 specifies that the Operating Classes field terminates
immediately before the OneHundredAndThirty Delimiter (i.e., an octet
with value 130). Move the operating class value 130 last in the global
op_class array so that it gets added as the last entry into the
Supported Operating Clases element and the 6 GHz operating class is
parsed in that element by implementation that stop at the assumed
OneHundredAndThirty Delimiter.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoAdditional attributes to QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_CONTROL
Sunil Dutt [Mon, 21 Sep 2020 09:22:22 +0000 (14:52 +0530)] 
Additional attributes to QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_CONTROL

Add additional attributes to enum qca_vendor_attr_roam_control to
control the roam behavior through QCA_NL80211_VENDOR_SUBCMD_ROAM and
QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_CONTROL.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoAdd new QCA vendor attributes to get thermal level
Hu Wang [Thu, 17 Sep 2020 12:40:01 +0000 (20:40 +0800)] 
Add new QCA vendor attributes to get thermal level

Add new QCA vendor attributes to get thermal level from the driver. The
driver may return thermal level when userpace requests, or send a
thermal event when thermal level changes.

Signed-off-by: Hu Wang <huw@codeaurora.org>
4 years agotests: SAE-PK with invalid password on AP
Jouni Malinen [Fri, 11 Sep 2020 12:53:56 +0000 (15:53 +0300)] 
tests: SAE-PK with invalid password on AP

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoSAE-PK: Add support to skip sae_pk password check for testing purposes
Shaakir Mohamed [Tue, 8 Sep 2020 21:08:38 +0000 (14:08 -0700)] 
SAE-PK: Add support to skip sae_pk password check for testing purposes

Add support to skip sae_pk password check under compile flag
CONFIG_TESTING_OPTIONS which allows AP to be configured with
sae_pk enabled but a password that is invalid for sae_pk.

Signed-off-by: Shaakir Mohamed <smohamed@codeaurora.org>
4 years agoOCV: Allow connecting MFP incapable OCV STA when OCV is disabled in AP
Veerendranath Jakkam [Wed, 2 Sep 2020 11:55:15 +0000 (17:25 +0530)] 
OCV: Allow connecting MFP incapable OCV STA when OCV is disabled in AP

Skip check to mandate MFP capability for OCV enabled STA when OCV is
disabled in AP. This is to improve interoperability with STAs in which
OCV capability is advertised incorrectly without advertising MFP when
OCV is disabled in AP.

Signed-off-by: Veerendranath Jakkam <vjakkam@codeaurora.org>
4 years agoOCV: Use more granular error codes for OCI validation failures
Veerendranath Jakkam [Wed, 2 Sep 2020 18:55:28 +0000 (00:25 +0530)] 
OCV: Use more granular error codes for OCI validation failures

Enhance the return values of ocv_verify_tx_params with enum to indicate
different OCI verification failures to caller.

Signed-off-by: Veerendranath Jakkam <vjakkam@codeaurora.org>
4 years agoDPP2: Include E-nonce in reconfig ke derivation
Jouni Malinen [Wed, 9 Sep 2020 20:33:58 +0000 (23:33 +0300)] 
DPP2: Include E-nonce in reconfig ke derivation

This was changed in the protocol design to include nonce from both
devices, so update implementation to match.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoDPP2: Move E-nonce to be outside wrapped data in Reconfig Auth Resp
Jouni Malinen [Wed, 9 Sep 2020 20:15:37 +0000 (23:15 +0300)] 
DPP2: Move E-nonce to be outside wrapped data in Reconfig Auth Resp

This was changed in the protocol design to allow ke derivation to use
E-nonce, so update implementation to match.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoDPP2: Replace I/R-nonce with C/E-nonce in reconfiguration
Jouni Malinen [Wed, 9 Sep 2020 20:06:14 +0000 (23:06 +0300)] 
DPP2: Replace I/R-nonce with C/E-nonce in reconfiguration

These nonces were renamed/replaced in the protocol design, so update
implementation to match.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoAdd QCA_NL80211_VENDOR_SUBCMD_MBSSID_TX_VDEV_STATUS
Srinivas Pitla [Sun, 30 Aug 2020 06:22:31 +0000 (23:22 -0700)] 
Add QCA_NL80211_VENDOR_SUBCMD_MBSSID_TX_VDEV_STATUS

This change adds QCA_NL80211_VENDOR_SUBCMD_MBSSID_TX_VDEV_STATUS,
and enum for qca_wlan_vendor_attr_mbssid_tx_vdev_status to notify
Tx VDEV status.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoMSCS: Fix issues due to incorrect usage of wpa_hexdump_buf()
Veerendranath Jakkam [Wed, 19 Aug 2020 09:30:32 +0000 (15:00 +0530)] 
MSCS: Fix issues due to incorrect usage of wpa_hexdump_buf()

Previously wpabuf_head() of the buffer is passed to wpa_hexdump_buf()
instead of the wpabuf struct itself and it was causing wpa_supplicant to
crash. Fix this by using the correct pointer in the debug prints.

Fixes: a118047245b0 ("MSCS: Add support to send MSCS Request frames")
Fixes: c504ff5398fa ("MSCS: Add support to populate MSCS Descriptor IE in (Re)AssocReq")
Signed-off-by: Veerendranath Jakkam <vjakkam@codeaurora.org>
4 years agotests: More explicit TLS version enabling in version tests
Jouni Malinen [Tue, 8 Sep 2020 14:58:06 +0000 (17:58 +0300)] 
tests: More explicit TLS version enabling in version tests

This is needed to allow the test cases to work on systems using
secpolicy=2 default (e.g., Ubuntu 20.04).

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoOpenSSL: Allow systemwide secpolicy overrides for TLS version
Jouni Malinen [Tue, 8 Sep 2020 14:55:36 +0000 (17:55 +0300)] 
OpenSSL: Allow systemwide secpolicy overrides for TLS version

Explicit configuration to enable TLS v1.0 and/or v1.1 did not work with
systemwide OpenSSL secpolicy=2 cases (e.g., Ubuntu 20.04). Allow such
systemwide configuration to be overridden if the older TLS versions have
been explicitly enabled in the network profile. The default behavior
follows the systemwide policy, but this allows compatibility with old
authentication servers without having to touch the systemwide policy.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoQCA vendor attributes for setting ANI level
Hu Wang [Thu, 9 Jul 2020 03:35:23 +0000 (11:35 +0800)] 
QCA vendor attributes for setting ANI level

Define QCA vendor attribute in SET(GET)_WIFI_CONFIGURATION to
dynamically configure ANI level.

Signed-off-by: Hu Wang <huw@codeaurora.org>
4 years agoUpdate QCA vendor interface for GPIO configuration
Chaoli Zhou [Fri, 28 Aug 2020 03:12:54 +0000 (11:12 +0800)] 
Update QCA vendor interface for GPIO configuration

Add a new vendor attribute for GPIO configuration. In addition, document
the previously defined attributes.

Signed-off-by: Chaoli Zhou <zchaoli@codeaurora.org>
4 years agotests: DPP Controller in hostapd
Jouni Malinen [Tue, 25 Aug 2020 12:54:19 +0000 (15:54 +0300)] 
tests: DPP Controller in hostapd

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoDPP2: Support QR mutual auth scan-during-auth-exchange (hostapd)
Jouni Malinen [Tue, 25 Aug 2020 13:10:41 +0000 (16:10 +0300)] 
DPP2: Support QR mutual auth scan-during-auth-exchange (hostapd)

Extend DPP authentication session search for the DPP_QR_CODE command to
cover the ongoing exchanges in Controller/Responder. This was previously
done for wpa_supplicant, but not for hostapd, so complete this support
on the hostapd side.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoDPP: Remove unnecessary dpp_global_config parameters
Jouni Malinen [Tue, 25 Aug 2020 13:00:56 +0000 (16:00 +0300)] 
DPP: Remove unnecessary dpp_global_config parameters

These were not really used anymore since the AP/Relay case did not set
msg_ctx or process_conf_obj in the global DPP context. Get the
appropriate pointers more directly from the more specific data
structures instead and remove these global values.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoDPP2: Controller support in hostapd
Jouni Malinen [Tue, 25 Aug 2020 12:53:08 +0000 (15:53 +0300)] 
DPP2: Controller support in hostapd

Extend hostapd support for DPP Controller to cover the DPP_CONTROLLER_*
cases that were previously implemented only in wpa_supplicant. This
allows hostapd/AP to be provisioned using DPP over TCP.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoAdd QCA vendor event for firmware statistics
Chaithanya Garrepalli [Tue, 18 Aug 2020 16:11:20 +0000 (21:41 +0530)] 
Add QCA vendor event for firmware statistics

Firmware statistics are received in the driver as opaque data. The host
target needs to send this opaque data to userspace wifistats
application. This new event is used to transfer this opaque data to the
application.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agodpp-nfc: Start listen operation more completely for NFC Tag write cases
Jouni Malinen [Mon, 24 Aug 2020 20:41:13 +0000 (23:41 +0300)] 
dpp-nfc: Start listen operation more completely for NFC Tag write cases

Share the same setup steps from the negotiated connection handover to
fix issues with NFC Tag write cases in AP mode. This addresses issues in
the AP mode DPP listen operation not actually receiving anything when
the write-a-tag code path was used.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoGAS: Fix memory leak on some DPP error paths
Jouni Malinen [Sat, 22 Aug 2020 20:47:44 +0000 (23:47 +0300)] 
GAS: Fix memory leak on some DPP error paths

One of the code paths left behind a response buffer. Free this properly
on this missed code path as well.

Signed-off-by: Jouni Malinen <j@w1.fi>
4 years agotests: Additional coverage for OWE PMKSA caching
Jouni Malinen [Sat, 22 Aug 2020 11:03:30 +0000 (14:03 +0300)] 
tests: Additional coverage for OWE PMKSA caching

Signed-off-by: Jouni Malinen <j@w1.fi>
4 years agoFix EAPOL-Key msg 1/4 processing in a corner case
Jouni Malinen [Sat, 22 Aug 2020 11:00:34 +0000 (14:00 +0300)] 
Fix EAPOL-Key msg 1/4 processing in a corner case

If reassoc_same_bss_optim=1 is used to optimize reassociation back to
the same BSS, it was possible for sm->pmk_len to be 0 due to a
disconnection event getting processed after sending out the
reassociation request. This resulted in wpa_sm_rx_eapol() calling
wpa_mic_len() with incorrect PMK length when PMKSA caching was being
attempted. That resulted in incorrect mic_len getting determined and not
finding the correct Key Data Length field value. This could result in
failing to complete 4-way handshake successfully.

Fix this by updating the current PMK length based on the selected PMKSA
cache entry if sm->pmk_len is not set when processing EAPOL-Key msg 1/4.

Signed-off-by: Jouni Malinen <j@w1.fi>
4 years agoOWE: Do not add DH Params element in AssocResp with PMKSA caching
Chittur Subramanian Raman [Wed, 19 Aug 2020 09:06:39 +0000 (14:36 +0530)] 
OWE: Do not add DH Params element in AssocResp with PMKSA caching

As per RFC 8110 (Opportunistic Wireless Encryption), if the AP has the
PMK identified by the PMKID and wishes to perform PMK caching, it will
include the PMKID in the Association Response frame RSNE but does not
include the Diffie-Hellman Parameter element.

This was already addressed for most cases with owe_process_assoc_req()
not setting sta->owe_ecdh in case PMKSA caching is used. However, it was
possible to an old STA entry to maintain the initial sta->owe_ecdh value
if reassociation back to the same AP was used to initiate the PMKSA
caching attempt. Cover that case by adding an explicit check for the
time when the Association Response frame is being generated.

Signed-off-by: Chittur Subramanian Raman <craman@maxlinear.com>
4 years agogitignore: Ignore ctags tags file
Yegor Yefremov [Sun, 9 Aug 2020 16:28:52 +0000 (18:28 +0200)] 
gitignore: Ignore ctags tags file

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
4 years agoDPP2: Fix build without IEEE8021X_EAPOL
Jouni Malinen [Sat, 22 Aug 2020 09:49:05 +0000 (12:49 +0300)] 
DPP2: Fix build without IEEE8021X_EAPOL

The local network profile parameters for EAP are not available without
IEEE8021X_EAPOL, so do not try to set these in builds that do not
include any EAP support.

Signed-off-by: Jouni Malinen <j@w1.fi>
4 years agowlantest: Avoid heap-overflow on unexpected data
Brian Norris [Wed, 19 Aug 2020 19:44:46 +0000 (12:44 -0700)] 
wlantest: Avoid heap-overflow on unexpected data

We're doing a sort of bounds check, based on the previous loop, but only
after we've already tried to read off the end.

This squashes some ASAN errors I'm seeing when running the ap_ft hwsim
test module.

Signed-off-by: Brian Norris <briannorris@chromium.org>
4 years agoLibreSSL: Fix build with LibreSSL versions older than 2.9.1
Jouni Malinen [Sat, 22 Aug 2020 08:32:01 +0000 (11:32 +0300)] 
LibreSSL: Fix build with LibreSSL versions older than 2.9.1

SSL_add0_chain_cert() was not available in LibreSSL before version
2.9.1.

Fixes: 4b834df5e08a ("OpenSSL: Support PEM encoded chain from client_cert blob")
Signed-off-by: Jouni Malinen <j@w1.fi>
4 years agotests: Fix wnm fuzzer build regression
Jouni Malinen [Sat, 22 Aug 2020 08:12:17 +0000 (11:12 +0300)] 
tests: Fix wnm fuzzer build regression

Addition of MSCS support broke the test tool build due to references to
a functions from a new file. Fix this by bringing in that file to the
fuzzer build as well.

Signed-off-by: Jouni Malinen <j@w1.fi>
4 years agodpp-nfc: Fix recv_octets() regression
Jouni Malinen [Fri, 14 Aug 2020 21:19:46 +0000 (00:19 +0300)] 
dpp-nfc: Fix recv_octets() regression

The updated socket.poll() loop did not terminate properly in cases where
no response is available. Fix that to check for both False and None.

Fixes: 1733e356e421 ("dpp-nfc: Fix handover client wait for receiving handover select")
Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoAdd test configuration to ignore SA Query timeout
Veerendranath Jakkam [Fri, 14 Aug 2020 08:36:23 +0000 (14:06 +0530)] 
Add test configuration to ignore SA Query timeout

Add a new QCA vendor attribute to configure the driver/firmware to
ignore SA Query timeout. If this configuration is enabled the
driver/firmware shall not send Deauthentication frame when SA Query
times out. This is required to support STA testbed role.

Signed-off-by: Veerendranath Jakkam <vjakkam@codeaurora.org>
4 years agoFix documentation for the test configuration attributes of FT-SAE/OCV
Veerendranath Jakkam [Fri, 14 Aug 2020 13:05:29 +0000 (18:35 +0530)] 
Fix documentation for the test configuration attributes of FT-SAE/OCV

These vendor attributes for FT/OCV/SAE testing can be configured only
when the STA is in connected state. Update the documentation of the
attributes to reflect the same.

Fixes: 18f3f99ac467 ("Add vendor attributes to configure testing functionality for FT/OCV/SAE")
Signed-off-by: Veerendranath Jakkam <vjakkam@codeaurora.org>
4 years agoAdd get_sta_info vendor attrs to get BIP failure counters for STA mode
Veerendranath Jakkam [Fri, 14 Aug 2020 09:20:45 +0000 (14:50 +0530)] 
Add get_sta_info vendor attrs to get BIP failure counters for STA mode

Add support to get number of MIC errors, missing MME incidents, and
packet replay incidents observed while using IGTK/BIGTK keys when PMF
and/or beacon protection features are enabled.

These counters are applicable only for STA mode and can be fetched
through the QCA_NL80211_VENDOR_SUBCMD_GET_STA_INFO vendor command.

Signed-off-by: Veerendranath Jakkam <vjakkam@codeaurora.org>
4 years agotests: sigma_dut DPP AP as TCP Enrollee/initiator
Jouni Malinen [Fri, 14 Aug 2020 14:04:56 +0000 (17:04 +0300)] 
tests: sigma_dut DPP AP as TCP Enrollee/initiator

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoDPP: Add process_conf_obj into TCP connection data struct
Jouni Malinen [Fri, 14 Aug 2020 14:04:11 +0000 (17:04 +0300)] 
DPP: Add process_conf_obj into TCP connection data struct

This is needed to avoid issues with hostapd not having set this function
pointer in dpp_global.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoDPP: Add msg_ctx into TCP connection data struct
Jouni Malinen [Fri, 14 Aug 2020 13:53:42 +0000 (16:53 +0300)] 
DPP: Add msg_ctx into TCP connection data struct

This is needed to avoid issues with hostapd not having set msg_ctx in
dpp_global.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoDPP2: hostapd/AP as Enrollee/Initiator over TCP
Jouni Malinen [Fri, 14 Aug 2020 13:44:38 +0000 (16:44 +0300)] 
DPP2: hostapd/AP as Enrollee/Initiator over TCP

Extend DPP support in hostapd to allow AP Enrollee role when initiating
the exchange using TCP.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoMSCS: Send MSCS change/remove frames only if MSCS setup exists
Vinita S. Maloo [Tue, 4 Aug 2020 18:33:24 +0000 (00:03 +0530)] 
MSCS: Send MSCS change/remove frames only if MSCS setup exists

Allow MSCS change/remove request to be sent only after an initial setup,
i.e., after an add request has been accepted.

Signed-off-by: Vinita S. Maloo <vmaloo@codeaurora.org>
4 years agoMSCS: Parse result of MSCS setup in (Re)Association Response frames
Vinita S. Maloo [Wed, 5 Aug 2020 17:25:32 +0000 (22:55 +0530)] 
MSCS: Parse result of MSCS setup in (Re)Association Response frames

Add support to parse the (Re)Association Response frames to check if the
AP has accepted/declined the MSCS request in response to the
corresponding (Re)Association Request frame. AP indicates the result by
setting it in the optional MSCS Status subelement of MSCS Descriptor
element in (Re)Association Response frame.

This MSCS Status subelement is defined in the process of being added
into P802.11-REVmd/D4.0 (11-20-0516-17-000m-cr-mscs-and-cid4158).

Signed-off-by: Vinita S. Maloo <vmaloo@codeaurora.org>
4 years agoMSCS: Add support to populate MSCS Descriptor IE in (Re)AssocReq
Vinita S. Maloo [Tue, 16 Jun 2020 14:51:30 +0000 (20:21 +0530)] 
MSCS: Add support to populate MSCS Descriptor IE in (Re)AssocReq

Include the MSCS Descriptor IE in the (Re)Association Request frames to
setup MSCS between the AP and the STA during association.

Signed-off-by: Vinita S. Maloo <vmaloo@codeaurora.org>
4 years agoMSCS: Add support to process MSCS Response frames
Vinita S. Maloo [Wed, 3 Jun 2020 15:24:04 +0000 (20:54 +0530)] 
MSCS: Add support to process MSCS Response frames

Add support to receive and process MSCS Response frames from the AP and
indicate the status to upper layers.

Signed-off-by: Vinita S. Maloo <vmaloo@codeaurora.org>
4 years agoMSCS: Add support to send MSCS Request frames
Vinita S. Maloo [Tue, 4 Aug 2020 14:42:24 +0000 (20:12 +0530)] 
MSCS: Add support to send MSCS Request frames

Add support to send MSCS add/change/remove types of Action frames
to the connected AP.

Signed-off-by: Vinita S. Maloo <vmaloo@codeaurora.org>
4 years agodpp-nfc: Fix handover client wait for receiving handover select
Jouni Malinen [Thu, 13 Aug 2020 21:11:44 +0000 (00:11 +0300)] 
dpp-nfc: Fix handover client wait for receiving handover select

This was supposed to wait for up to 3.0 seconds for the handover select,
but the incorrect loop terminated ended up limiting this to a single
iteration of 0.1 second wait. This was too fast for some cases like the
AP mode operation where it may take significant time to enable the radio
for listening to DPP authentication messages.

Fix the loop to allow that full three second wait for the response to be
used. In addition, report the amount of time it takes to receive the
response.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoSME: Process channel switch event in SME only when supplicant's SME is used
Veerendranath Jakkam [Sun, 2 Aug 2020 11:25:05 +0000 (16:55 +0530)] 
SME: Process channel switch event in SME only when supplicant's SME is used

Do not process channel switch event in wpa_supplicant's SME when SME is
offloaded to the driver/firmware to avoid SA Query initiation from both
wpa_supplicant and the driver/firmware for the OCV case.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years agoDerive seg0_idx and seg1_idx for 6 GHz when processing channel switch
Rohan [Thu, 16 Jul 2020 14:05:14 +0000 (19:35 +0530)] 
Derive seg0_idx and seg1_idx for 6 GHz when processing channel switch

The function hostapd_event_ch_switch() derived the seg0_idx and seg1_idx
values only for the 5 GHz and 2.4 GHz bands and the 6 GHz case ended up
using incorrect calculation based on the 5 GHz channel definitions.

Fix this by adding support for 6 GHz frequencies.

Signed-off-by: Rohan <drohan@codeaurora.org>
4 years agoQCA vendor command to update SSID
Pooventhiran G [Wed, 8 Jul 2020 12:00:05 +0000 (17:30 +0530)] 
QCA vendor command to update SSID

Add a QCA vendor subcommand QCA_NL80211_VENDOR_SUBCMD_UPDATE_SSID
to update the new SSID in hostapd. NL80211_ATTR_SSID is used to encapsulate
the new SSID.

Signed-off-by: Pooventhiran G <pooventh@codeaurora.org>