]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
P2P: Add test option to disable IP address assignment request
authorJouni Malinen <jouni@qca.qualcomm.com>
Thu, 4 Apr 2013 16:09:10 +0000 (19:09 +0300)
committerJouni Malinen <j@w1.fi>
Mon, 27 Jan 2014 19:44:30 +0000 (21:44 +0200)
Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>

wpa_supplicant/ctrl_iface.c
wpa_supplicant/wpa_supplicant_i.h
wpa_supplicant/wpas_glue.c

index a30f67b071c1e6668ed0c9a67e97baa0e3be4e03..c34c7a8f3d5059c50f300d9fbb0d908afd3511bc 100644 (file)
@@ -4680,6 +4680,11 @@ static int p2p_ctrl_set(struct wpa_supplicant *wpa_s, char *cmd)
                return wpas_p2p_nfc_tag_enabled(wpa_s, !!atoi(param));
 #endif /* CONFIG_WPS_NFC */
 
+       if (os_strcmp(cmd, "disable_ip_addr_req") == 0) {
+               wpa_s->p2p_disable_ip_addr_req = !!atoi(param);
+               return 0;
+       }
+
        wpa_printf(MSG_DEBUG, "CTRL_IFACE: Unknown P2P_SET field value '%s'",
                   cmd);
 
@@ -5356,6 +5361,7 @@ static void wpa_supplicant_ctrl_iface_flush(struct wpa_supplicant *wpa_s)
        wpa_s->global->p2p_disabled = 0;
        wpa_s->global->p2p_per_sta_psk = 0;
        wpa_s->conf->num_sec_device_types = 0;
+       wpa_s->p2p_disable_ip_addr_req = 0;
 #endif /* CONFIG_P2P */
 
 #ifdef CONFIG_WPS_TESTING
index 6390ca280ed9c9efb094812f145612dde9d188dd..267c226092c8a7b4e5d4345dc872e31d4c296301 100644 (file)
@@ -716,6 +716,7 @@ struct wpa_supplicant {
        int p2p_first_connection_timeout;
        unsigned int p2p_nfc_tag_enabled:1;
        unsigned int p2p_peer_oob_pk_hash_known:1;
+       unsigned int p2p_disable_ip_addr_req:1;
        int p2p_persistent_go_freq;
        int p2p_persistent_id;
        int p2p_go_intent;
index 0dca0e6294d379389f47d39b6b8b390192d81446..e8a4b356e02418a40b7ce4060a8b1fb75eb87922 100644 (file)
@@ -949,7 +949,8 @@ void wpa_supplicant_rsn_supp_set_config(struct wpa_supplicant *wpa_s,
                conf.ssid_len = ssid->ssid_len;
                conf.wpa_ptk_rekey = ssid->wpa_ptk_rekey;
 #ifdef CONFIG_P2P
-               if (ssid->p2p_group && wpa_s->current_bss) {
+               if (ssid->p2p_group && wpa_s->current_bss &&
+                   !wpa_s->p2p_disable_ip_addr_req) {
                        struct wpabuf *p2p;
                        p2p = wpa_bss_get_vendor_ie_multi(wpa_s->current_bss,
                                                          P2P_IE_VENDOR_TYPE);