]> git.ipfire.org Git - thirdparty/hostap.git/blobdiff - wpa_supplicant/ctrl_iface.c
SAE H2E: Testing option to report extra rejected groups
[thirdparty/hostap.git] / wpa_supplicant / ctrl_iface.c
index f0ea9d12bef39a7914b4f05b6aa0c6d3c2c6f9c0..3bd988142df4040c0ce6cb1c93e8302668d5f38a 100644 (file)
@@ -665,6 +665,28 @@ static int wpa_supplicant_ctrl_iface_set(struct wpa_supplicant *wpa_s,
                                              wpa_s->ignore_assoc_disallow);
        } else if (os_strcasecmp(cmd, "ignore_sae_h2e_only") == 0) {
                wpa_s->ignore_sae_h2e_only = !!atoi(value);
+       } else if (os_strcasecmp(cmd, "extra_sae_rejected_groups") == 0) {
+               char *pos;
+
+               os_free(wpa_s->extra_sae_rejected_groups);
+               wpa_s->extra_sae_rejected_groups = NULL;
+               pos = value;
+               while (pos && pos[0]) {
+                       int group;
+
+                       group = atoi(pos);
+                       wpa_printf(MSG_DEBUG,
+                                  "TESTING: Extra rejection of SAE group %d",
+                                  group);
+                       if (group)
+                               int_array_add_unique(
+                                       &wpa_s->extra_sae_rejected_groups,
+                                       group);
+                       pos = os_strchr(pos, ' ');
+                       if (!pos)
+                               break;
+                       pos++;
+               }
        } else if (os_strcasecmp(cmd, "reject_btm_req_reason") == 0) {
                wpa_s->reject_btm_req_reason = atoi(value);
        } else if (os_strcasecmp(cmd, "get_pref_freq_list_override") == 0) {
@@ -8054,6 +8076,8 @@ static void wpa_supplicant_ctrl_iface_flush(struct wpa_supplicant *wpa_s)
        wpa_s->get_pref_freq_list_override = NULL;
        wpabuf_free(wpa_s->sae_commit_override);
        wpa_s->sae_commit_override = NULL;
+       os_free(wpa_s->extra_sae_rejected_groups);
+       wpa_s->extra_sae_rejected_groups = NULL;
 #ifdef CONFIG_DPP
        os_free(wpa_s->dpp_config_obj_override);
        wpa_s->dpp_config_obj_override = NULL;