mesh: Check mesh key management method
authorMasashi Honma <masashi.honma@gmail.com>
Sat, 15 Nov 2014 01:35:28 +0000 (10:35 +0900)
committerJouni Malinen <j@w1.fi>
Sun, 16 Nov 2014 17:43:11 +0000 (19:43 +0200)
Signed-off-by: Natsuki Itaya <Natsuki.Itaya@jp.sony.com>
Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
wpa_supplicant/config_file.c
wpa_supplicant/ctrl_iface.c

index 6c55cfc..246db0d 100644 (file)
@@ -143,6 +143,15 @@ static int wpa_config_validate_network(struct wpa_ssid *ssid, int line)
                ssid->group_cipher &= ~WPA_CIPHER_CCMP;
        }
 
+       if (ssid->mode == WPAS_MODE_MESH &&
+           (ssid->key_mgmt != WPA_KEY_MGMT_NONE &&
+           ssid->key_mgmt != WPA_KEY_MGMT_SAE)) {
+               wpa_printf(MSG_ERROR,
+                          "Line %d: key_mgmt for mesh network should be open or SAE",
+                          line);
+               errors++;
+       }
+
        return errors;
 }
 
index 1e41962..b82f620 100644 (file)
@@ -2388,6 +2388,12 @@ static int wpa_supplicant_ctrl_iface_mesh_group_add(
                           "CTRL_IFACE: Cannot use MESH_GROUP_ADD on a non mesh network");
                return -1;
        }
+       if (ssid->key_mgmt != WPA_KEY_MGMT_NONE &&
+           ssid->key_mgmt != WPA_KEY_MGMT_SAE) {
+               wpa_printf(MSG_ERROR,
+                          "CTRL_IFACE: key_mgmt for mesh network should be open or SAE");
+               return -1;
+       }
 
        /*
         * TODO: If necessary write our own group_add function,