]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
DPP: Allow testing override values to be cleared
authorJouni Malinen <jouni@qca.qualcomm.com>
Sun, 29 Oct 2017 10:23:34 +0000 (12:23 +0200)
committerJouni Malinen <j@w1.fi>
Sun, 29 Oct 2017 10:23:34 +0000 (12:23 +0200)
This allows wpa_supplicant dpp_config_obj_override,
dpp_discovery_override, and dpp_groups_override parameters to be cleared
by setting them to a zero-length value.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
wpa_supplicant/ctrl_iface.c

index dbc654a2a93c7b0608d80a27c8899fc57258b835..9d61f5de2281575655d389c51aecb7f77e98bf61 100644 (file)
@@ -646,13 +646,22 @@ static int wpa_supplicant_ctrl_iface_set(struct wpa_supplicant *wpa_s,
 #ifdef CONFIG_DPP
        } else if (os_strcasecmp(cmd, "dpp_config_obj_override") == 0) {
                os_free(wpa_s->dpp_config_obj_override);
-               wpa_s->dpp_config_obj_override = os_strdup(value);
+               if (value[0] == '\0')
+                       wpa_s->dpp_config_obj_override = NULL;
+               else
+                       wpa_s->dpp_config_obj_override = os_strdup(value);
        } else if (os_strcasecmp(cmd, "dpp_discovery_override") == 0) {
                os_free(wpa_s->dpp_discovery_override);
-               wpa_s->dpp_discovery_override = os_strdup(value);
+               if (value[0] == '\0')
+                       wpa_s->dpp_discovery_override = NULL;
+               else
+                       wpa_s->dpp_discovery_override = os_strdup(value);
        } else if (os_strcasecmp(cmd, "dpp_groups_override") == 0) {
                os_free(wpa_s->dpp_groups_override);
-               wpa_s->dpp_groups_override = os_strdup(value);
+               if (value[0] == '\0')
+                       wpa_s->dpp_groups_override = NULL;
+               else
+                       wpa_s->dpp_groups_override = os_strdup(value);
        } else if (os_strcasecmp(cmd,
                                 "dpp_ignore_netaccesskey_mismatch") == 0) {
                wpa_s->dpp_ignore_netaccesskey_mismatch = atoi(value);
@@ -7782,6 +7791,12 @@ static void wpa_supplicant_ctrl_iface_flush(struct wpa_supplicant *wpa_s)
        wpabuf_free(wpa_s->sae_commit_override);
        wpa_s->sae_commit_override = NULL;
 #ifdef CONFIG_DPP
+       os_free(wpa_s->dpp_config_obj_override);
+       wpa_s->dpp_config_obj_override = NULL;
+       os_free(wpa_s->dpp_discovery_override);
+       wpa_s->dpp_discovery_override = NULL;
+       os_free(wpa_s->dpp_groups_override);
+       wpa_s->dpp_groups_override = NULL;
        dpp_test = DPP_TEST_DISABLED;
 #endif /* CONFIG_DPP */
 #endif /* CONFIG_TESTING_OPTIONS */