Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2184e16e authored by Abhinav Kumar's avatar Abhinav Kumar Committed by Gerrit - the friendly Code Review server
Browse files

wlan: Set negotiated auth type to OPEN for SAE-pmk cache case

propagation from qcacld-3.0 to prima.

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: 2531287
parent a4282180
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -4919,9 +4919,9 @@ int hdd_set_csr_auth_type ( hdd_adapter_t *pAdapter, eCsrAuthType RSNAuthType)

    pRoamProfile->AuthType.numEntries = 1;
    hddLog( LOG1,
           "%s: authType = %d RSNAuthType %d wpa_versions %d",
           "%s: authType = %d RSNAuthType %d wpa_versions %d key_mgmt : 0x%x",
           __func__, pHddStaCtx->conn_info.authType, RSNAuthType,
           pWextState->wpaVersion);
           pWextState->wpaVersion, pWextState->authKeyMgmt);

    switch( pHddStaCtx->conn_info.authType)
    {
@@ -5008,6 +5008,10 @@ int hdd_set_csr_auth_type ( hdd_adapter_t *pAdapter, eCsrAuthType RSNAuthType)
                /* OWE case */
                pRoamProfile->AuthType.authType[0] = eCSR_AUTH_TYPE_OWE;
            } else
            if (RSNAuthType == eCSR_AUTH_TYPE_SAE) {
               /* SAE with open authentication case */
               pRoamProfile->AuthType.authType[0] = eCSR_AUTH_TYPE_SAE;
            } else
            if( (pWextState->authKeyMgmt & IW_AUTH_KEY_MGMT_802_1X)
                    == IW_AUTH_KEY_MGMT_802_1X) {
               pRoamProfile->AuthType.authType[0] = eCSR_AUTH_TYPE_RSN;
+2 −0
Original line number Diff line number Diff line
@@ -3792,6 +3792,8 @@ static void csr_check_sae_auth(tpAniSirGlobal mac_ctx,
                                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;
        }
        VOS_TRACE(VOS_MODULE_ID_SME, VOS_TRACE_LEVEL_ERROR,
                  FL("negotiated auth type is %d"), *neg_authtype);