mesh: Do not use RX MGTK as RX IGTK
The previous implementation was incorrect in forcing the MGTK to be used as the IGTK as well. Define new variable for storing IGTK and use that, if set, to configure IGTK to the driver. This commit does not yet fix AMPE element parsing to fill in this information. Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
a4eec3c230
commit
4367eec439
2 changed files with 11 additions and 3 deletions
|
@ -89,6 +89,8 @@ struct sta_info {
|
|||
size_t mtk_len;
|
||||
u8 mgtk[WPA_TK_MAX_LEN];
|
||||
size_t mgtk_len;
|
||||
u8 igtk[WPA_TK_MAX_LEN];
|
||||
size_t igtk_len;
|
||||
u8 sae_auth_retry;
|
||||
#endif /* CONFIG_MESH */
|
||||
|
||||
|
|
|
@ -805,9 +805,15 @@ static void mesh_mpm_plink_estab(struct wpa_supplicant *wpa_s,
|
|||
wpa_drv_set_key(wpa_s, WPA_ALG_CCMP, sta->addr, 1, 0,
|
||||
seq, sizeof(seq),
|
||||
sta->mgtk, sta->mgtk_len);
|
||||
wpa_drv_set_key(wpa_s, WPA_ALG_IGTK, sta->addr, 4, 0,
|
||||
seq, sizeof(seq),
|
||||
sta->mgtk, sizeof(sta->mgtk));
|
||||
|
||||
if (sta->igtk_len) {
|
||||
wpa_hexdump_key(MSG_DEBUG, "RX IGTK",
|
||||
sta->igtk, sta->igtk_len);
|
||||
/* FIX: key index.. */
|
||||
wpa_drv_set_key(wpa_s, WPA_ALG_IGTK, sta->addr, 4, 0,
|
||||
seq, sizeof(seq),
|
||||
sta->igtk, sta->igtk_len);
|
||||
}
|
||||
}
|
||||
|
||||
wpa_mesh_set_plink_state(wpa_s, sta, PLINK_ESTAB);
|
||||
|
|
Loading…
Reference in a new issue