mesh: Calculate MTK before sending it to MAC in case Open is dropped
IEEE Std 802.11-2012 13.5.6.3 State transitions require an action sending SETKEYS primitive to MAC when OPN_ACPT event occurs in CNF_RCVD state in case of AMPE is used, but since MTK calculation is missed in this condition, all zero valued key are passed to MAC and cause unicast packet decryption error. This could happen if the first transmission of plink Open frame is dropped and Confirm frame is processed first followed by retransmitted Open frame. Fix this by calculating the MTK also in this sequence of unexpected messages. Signed-off-by: Peter Oh <poh@qca.qualcomm.com>
This commit is contained in:
parent
baa1213649
commit
f42c3ceb94
1 changed files with 2 additions and 0 deletions
|
@ -934,6 +934,8 @@ static void mesh_mpm_fsm(struct wpa_supplicant *wpa_s, struct sta_info *sta,
|
||||||
PLINK_CLOSE, reason);
|
PLINK_CLOSE, reason);
|
||||||
break;
|
break;
|
||||||
case OPN_ACPT:
|
case OPN_ACPT:
|
||||||
|
if (conf->security & MESH_CONF_SEC_AMPE)
|
||||||
|
mesh_rsn_derive_mtk(wpa_s, sta);
|
||||||
mesh_mpm_plink_estab(wpa_s, sta);
|
mesh_mpm_plink_estab(wpa_s, sta);
|
||||||
mesh_mpm_send_plink_action(wpa_s, sta,
|
mesh_mpm_send_plink_action(wpa_s, sta,
|
||||||
PLINK_CONFIRM, 0);
|
PLINK_CONFIRM, 0);
|
||||||
|
|
Loading…
Reference in a new issue