summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsheenam monga <shebala@codeaurora.org>2019-08-20 20:38:09 +0530
committersheenam monga <shebala@codeaurora.org>2019-08-21 11:40:11 +0530
commit5211d5b1a055a2eadeeaefcfc87b41b6aa25158f (patch)
tree38107a245375f4a1b27115f3f9d318f687e5a827
parent93f0a65a750bd50761c81b5c9b793c0e7c31d41d (diff)
qcacld-3.0: Set negotiated auth type to OPEN for SAE-pmk cache case
wpa_supplicant sends connect request with open auth and pmkid when PMK caching is enabled and if it has PMK/PMKID cached. Set rsn_auth_type to SAE when connect request has AKM as SAE auth_type as open. Set negotiated auth type to OPEN in SAE with pmk cache case as open authentication going to happen. Similar fix is applicable for FT-SAE. Handle the same. Change-Id: I9ccc419bd439702041840b0194bb0622d7856255 CRs-Fixed: 2467813
-rw-r--r--core/hdd/src/wlan_hdd_assoc.c4
-rw-r--r--core/sme/src/csr/csr_util.c2
2 files changed, 6 insertions, 0 deletions
diff --git a/core/hdd/src/wlan_hdd_assoc.c b/core/hdd/src/wlan_hdd_assoc.c
index c723d79c2c5b..68444a46a423 100644
--- a/core/hdd/src/wlan_hdd_assoc.c
+++ b/core/hdd/src/wlan_hdd_assoc.c
@@ -6168,6 +6168,10 @@ int hdd_set_csr_auth_type(hdd_adapter_t *pAdapter, eCsrAuthType RSNAuthType)
RSNAuthType;
hdd_debug("updated profile authtype as %d",
RSNAuthType);
+ } else if (RSNAuthType == eCSR_AUTH_TYPE_SAE) {
+ /* SAE with open authentication case */
+ pRoamProfile->AuthType.authType[0] =
+ eCSR_AUTH_TYPE_SAE;
} else if ((RSNAuthType ==
eCSR_AUTH_TYPE_SUITEB_EAP_SHA256) &&
((pWextState->
diff --git a/core/sme/src/csr/csr_util.c b/core/sme/src/csr/csr_util.c
index 9f9be44a0c2f..924ce2c3e03d 100644
--- a/core/sme/src/csr/csr_util.c
+++ b/core/sme/src/csr/csr_util.c
@@ -3083,6 +3083,8 @@ static void csr_check_sae_auth(tpAniSirGlobal mac_ctx,
c_auth_suites, authentication)) {
if (eCSR_AUTH_TYPE_SAE == auth_type->authType[index])
*neg_authtype = eCSR_AUTH_TYPE_SAE;
+ if (eCSR_AUTH_TYPE_OPEN_SYSTEM == auth_type->authType[index])
+ *neg_authtype = eCSR_AUTH_TYPE_OPEN_SYSTEM;
}
sme_debug("negotiated auth type is %d", *neg_authtype);
}