]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Allow SA Query to be disabled for testing purposes
authorJouni Malinen <j@w1.fi>
Sat, 21 Mar 2020 16:12:02 +0000 (18:12 +0200)
committerJouni Malinen <j@w1.fi>
Sat, 21 Mar 2020 16:12:02 +0000 (18:12 +0200)
The new wpa_supplicant control interface SET parameter disable_sa_query
can now be used to disable SA Query on receiving unprotected
disconnection event.

Signed-off-by: Jouni Malinen <j@w1.fi>
wpa_supplicant/ctrl_iface.c
wpa_supplicant/sme.c
wpa_supplicant/wpa_supplicant_i.h

index 2321fc358e7b0d8bd9095462bd20f5a80ee69116..3b4c5002064b43f112ece5aec3f9048a3b8ced0d 100644 (file)
@@ -721,6 +721,8 @@ static int wpa_supplicant_ctrl_iface_set(struct wpa_supplicant *wpa_s,
                wpa_s->ignore_assoc_disallow = !!atoi(value);
                wpa_drv_ignore_assoc_disallow(wpa_s,
                                              wpa_s->ignore_assoc_disallow);
+       } else if (os_strcasecmp(cmd, "disable_sa_query") == 0) {
+               wpa_s->disable_sa_query = !!atoi(value);
        } 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) {
@@ -8170,6 +8172,7 @@ static void wpa_supplicant_ctrl_iface_flush(struct wpa_supplicant *wpa_s)
        wpa_s->p2p_go_csa_on_inv = 0;
        wpa_s->ignore_auth_resp = 0;
        wpa_s->ignore_assoc_disallow = 0;
+       wpa_s->disable_sa_query = 0;
        wpa_s->testing_resend_assoc = 0;
        wpa_s->ignore_sae_h2e_only = 0;
        wpa_s->reject_btm_req_reason = 0;
index f7792ec9629e07513153f7b798ad410f47b87d08..71b67e4a7f67d932df32862dc0c45bad0b57a281 100644 (file)
@@ -2658,6 +2658,10 @@ void sme_event_unprot_disconnect(struct wpa_supplicant *wpa_s, const u8 *sa,
                return;
        if (wpa_s->sme.sa_query_count > 0)
                return;
+#ifdef CONFIG_TESTING_OPTIONS
+       if (wpa_s->disable_sa_query)
+               return;
+#endif /* CONFIG_TESTING_OPTIONS */
 
        os_get_reltime(&now);
        if (wpa_s->sme.last_unprot_disconnect.sec &&
index 0de0382dcc1459583936a676ef23655c017da77e..e77ebb8f9e82b158755fc777ea726130139615cc 100644 (file)
@@ -1132,6 +1132,7 @@ struct wpa_supplicant {
        unsigned int p2p_go_csa_on_inv:1;
        unsigned int ignore_auth_resp:1;
        unsigned int ignore_assoc_disallow:1;
+       unsigned int disable_sa_query:1;
        unsigned int testing_resend_assoc:1;
        unsigned int ignore_sae_h2e_only:1;
        struct wpabuf *sae_commit_override;