Browse Source

P2P: Add test option to disable IP address assignment request

Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
Jouni Malinen 12 years ago
parent
commit
201b0f5fa6
3 changed files with 9 additions and 1 deletions
  1. 6 0
      wpa_supplicant/ctrl_iface.c
  2. 1 0
      wpa_supplicant/wpa_supplicant_i.h
  3. 2 1
      wpa_supplicant/wpas_glue.c

+ 6 - 0
wpa_supplicant/ctrl_iface.c

@@ -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

+ 1 - 0
wpa_supplicant/wpa_supplicant_i.h

@@ -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;

+ 2 - 1
wpa_supplicant/wpas_glue.c

@@ -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);