mesh: Fix MTK derivation to use AKM suite selector
authorJouni Malinen <j@w1.fi>
Sat, 18 Jun 2016 11:21:48 +0000 (14:21 +0300)
committerJouni Malinen <j@w1.fi>
Sat, 18 Jun 2016 12:53:26 +0000 (15:53 +0300)
mesh_rsn_derive_mtk() was hardcoded to use GCMP (even though CCMP was
hardcoded elsewhere) cipher suite selector instead of the selected AKM
suite selector. This resulted in incorrect MTK getting derived. Fix this
by used the SAE AKM suite selector in the input to the KDF.

Signed-off-by: Jouni Malinen <j@w1.fi>
wpa_supplicant/mesh_rsn.c

index c82c539..047fa02 100644 (file)
@@ -425,8 +425,8 @@ int mesh_rsn_derive_mtk(struct wpa_supplicant *wpa_s, struct sta_info *sta)
        os_memcpy(ptr + lid_len, &max_lid, lid_len);
        ptr += 2 * lid_len;
 
-       /* SAE */
-       RSN_SELECTOR_PUT(ptr, wpa_cipher_to_suite(0, WPA_CIPHER_GCMP));
+       /* Selected AKM Suite: SAE */
+       RSN_SELECTOR_PUT(ptr, RSN_AUTH_KEY_MGMT_SAE);
        ptr += 4;
 
        if (os_memcmp(myaddr, peer, ETH_ALEN) < 0) {