qcacld-3.0: Fix FILS auth failure in connection manager
Fix FILS auth failure in connection manager. Change-Id: I727d374a820375110723a081cd3a27828e92ba66 CRs-Fixed: 2865370
This commit is contained in:

committed by
snandini

parent
ca5b8c897c
commit
c13a047628
@@ -70,6 +70,8 @@ void cm_update_hlp_info(struct wlan_objmgr_vdev *vdev,
|
||||
qdf_mem_copy(mlme_priv->connect_info.hlp_ie +
|
||||
mlme_priv->connect_info.hlp_ie_len, gen_ie, len);
|
||||
mlme_priv->connect_info.hlp_ie_len += len;
|
||||
mlme_debug("hlp_ie_len %d len %d", mlme_priv->connect_info.hlp_ie_len,
|
||||
len);
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -842,14 +844,32 @@ QDF_STATUS wlan_cm_send_connect_rsp(struct scheduler_msg *msg)
|
||||
return status;
|
||||
}
|
||||
|
||||
#define FILS_HLP_OUI_TYPE "\x5"
|
||||
#define FILS_HLP_OUI_LEN 1
|
||||
|
||||
static void
|
||||
cm_update_hlp_data_from_assoc_ie(struct wlan_objmgr_vdev *vdev,
|
||||
struct wlan_cm_vdev_connect_req *req)
|
||||
{
|
||||
/*
|
||||
* loop through req->assoc IE and fill hld date from
|
||||
* DOT11F_EID_FRAGMENT_IE and SIR_FILS_HLP_EXT_EID
|
||||
*/
|
||||
const uint8_t *hlp_ext_ie;
|
||||
const uint8_t *fragment_ie;
|
||||
|
||||
/* clear hlp IE */
|
||||
cm_update_hlp_info(vdev, NULL, 0, true);
|
||||
|
||||
hlp_ext_ie = wlan_get_ext_ie_ptr_from_ext_id(FILS_HLP_OUI_TYPE,
|
||||
FILS_HLP_OUI_LEN,
|
||||
req->assoc_ie.ptr,
|
||||
req->assoc_ie.len);
|
||||
if (hlp_ext_ie)
|
||||
cm_update_hlp_info(vdev, hlp_ext_ie, hlp_ext_ie[1] + 2, false);
|
||||
|
||||
fragment_ie = wlan_get_ie_ptr_from_eid(DOT11F_EID_FRAGMENT_IE,
|
||||
req->assoc_ie.ptr,
|
||||
req->assoc_ie.len);
|
||||
if (fragment_ie)
|
||||
cm_update_hlp_info(vdev, fragment_ie,
|
||||
fragment_ie[1] + 2, false);
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
|
@@ -714,6 +714,10 @@ static void lim_process_mlm_auth_req(struct mac_context *mac_ctx, uint32_t *msg)
|
||||
* Unexpected auth request.
|
||||
* Return Auth confirm with Invalid parameters code.
|
||||
*/
|
||||
pe_err("Auth req not expected is_privacy_enabled %d is_auth_open_system %d auth type %d",
|
||||
mac_ctx->mlme_cfg->wep_params.is_privacy_enabled,
|
||||
mac_ctx->mlme_cfg->wep_params.is_auth_open_system,
|
||||
mac_ctx->lim.gpLimMlmAuthReq->authType);
|
||||
mlm_auth_cnf.resultCode = eSIR_SME_INVALID_PARAMETERS;
|
||||
goto end;
|
||||
}
|
||||
|
@@ -3136,7 +3136,7 @@ static void lim_fill_crypto_params(struct mac_context *mac_ctx,
|
||||
privacy = true;
|
||||
rsn_enabled = false;
|
||||
} else if (QDF_HAS_PARAM(ucast_cipher, WLAN_CRYPTO_CIPHER_TKIP) ||
|
||||
QDF_HAS_PARAM(ucast_cipher, WLAN_CRYPTO_CIPHER_AES_CMAC) ||
|
||||
QDF_HAS_PARAM(ucast_cipher, WLAN_CRYPTO_CIPHER_AES_CCM) ||
|
||||
QDF_HAS_PARAM(ucast_cipher, WLAN_CRYPTO_CIPHER_AES_OCB) ||
|
||||
QDF_HAS_PARAM(ucast_cipher,
|
||||
WLAN_CRYPTO_CIPHER_AES_CCM_256) ||
|
||||
@@ -3155,6 +3155,9 @@ static void lim_fill_crypto_params(struct mac_context *mac_ctx,
|
||||
mac_ctx->mlme_cfg->feature_flags.enable_rsn = rsn_enabled;
|
||||
mac_ctx->mlme_cfg->wep_params.is_privacy_enabled = privacy;
|
||||
mac_ctx->mlme_cfg->wep_params.wep_default_key_id = 0;
|
||||
pe_debug("rsn_enabled %d privacy %d ucast_cipher %x auth_mode %x akm %x auth_type %d",
|
||||
rsn_enabled, privacy, ucast_cipher, auth_mode, akm,
|
||||
mac_ctx->mlme_cfg->wep_params.auth_type);
|
||||
session->encryptType = lim_get_encrypt_ed_type(ucast_cipher);
|
||||
session->connected_akm = lim_get_connected_akm(session, ucast_cipher,
|
||||
auth_mode, akm);
|
||||
|
Reference in New Issue
Block a user