From 61c101186a9c7826ab2cbfe1a422ede206f7fb54 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Fri, 8 Apr 2016 17:28:23 +0300 Subject: [PATCH] Extend VENDOR_ELEM parameters to cover non-P2P Probe Request frame The new VENDOR_ELEM value 14 can now be used to add a vendor element into Probe Request frames used by non-P2P active scans. For example: VENDOR_ELEM_ADD 14 dd05001122330a and to clear that: VENDOR_ELEM_REMOVE 14 * Signed-off-by: Jouni Malinen --- src/common/wpa_ctrl.h | 1 + wpa_supplicant/scan.c | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/src/common/wpa_ctrl.h b/src/common/wpa_ctrl.h index d9641bb05..20cd5ae77 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 4dd031458..b2576e376 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; }