[PATCH v2] supplicant: Allow custom probe and assoc req ie.

Jouni Malinen j at w1.fi
Fri Apr 8 07:31:07 PDT 2016


On Mon, Apr 04, 2016 at 06:55:05PM -0400, greearb at candelatech.com wrote:
> This lets user specify additional IEs for probe requests and
> association requests.

While reviewing the changes, I noticed that the Association Request
frame case was already supported with control interface command
VENDOR_ELEM_ADD 13 <hexdump>

Probe Request frame did not have similar extension, so adding that makes
sense, but it's better to be consistent with the already existing
mechanism, so I updated this patch to do simply this:

diff --git a/src/common/wpa_ctrl.h b/src/common/wpa_ctrl.h
index d9641bb..20cd5ae 100644
--- a/src/common/wpa_ctrl.h
+++ b/src/common/wpa_ctrl.h
@@ -319,6 +319,7 @@ enum wpa_vendor_elem_frame {
 	VENDOR_ELEM_P2P_ASSOC_REQ = 11,
 	VENDOR_ELEM_P2P_ASSOC_RESP = 12,
 	VENDOR_ELEM_ASSOC_REQ = 13,
+	VENDOR_ELEM_PROBE_REQ = 14,
 	NUM_VENDOR_ELEM_FRAMES
 };
 
diff --git a/wpa_supplicant/scan.c b/wpa_supplicant/scan.c
index 4dd0314..b2576e3 100644
--- a/wpa_supplicant/scan.c
+++ b/wpa_supplicant/scan.c
@@ -497,6 +497,13 @@ static struct wpabuf * wpa_supplicant_extra_ies(struct wpa_supplicant *wpa_s)
 		wpas_mbo_scan_ie(wpa_s, extra_ie);
 #endif /* CONFIG_MBO */
 
+	if (wpa_s->vendor_elem[VENDOR_ELEM_PROBE_REQ]) {
+		struct wpabuf *buf = wpa_s->vendor_elem[VENDOR_ELEM_PROBE_REQ];
+
+		if (wpabuf_resize(&extra_ie, wpabuf_len(buf)) == 0)
+			wpabuf_put_buf(extra_ie, buf);
+	}
+
 	return extra_ie;
 }
 
-- 
Jouni Malinen                                            PGP id EFC895FA



More information about the Hostap mailing list