From edfba8506888a29be7f81b4a55813af6147900c3 Mon Sep 17 00:00:00 2001 From: marino Date: Mon, 13 Oct 2014 13:49:55 +0000 Subject: security/wpa_supplicant: Bring in BSD driver fix from DragonFly BSD DragonFly adopted it's "new" IEEE 802.11 infrastructure from FreeBSD. This introduced an additional isr_meshid_len field in the ieee80211req_scan_result structure. It is necessary to include this additional offset when calculating the address of the IE data buffer. Imre Vadasz introduced this fix to DragonFly on 01 Sept 2014, but a similar fix doesn't appear to be present in FreeBSD's base wpa_supplicant. --- security/wpa_supplicant/Makefile | 2 +- .../wpa_supplicant/files/patch-src_drivers_driver__bsd.c | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 security/wpa_supplicant/files/patch-src_drivers_driver__bsd.c diff --git a/security/wpa_supplicant/Makefile b/security/wpa_supplicant/Makefile index 48624769793d..9c5afefed4e6 100644 --- a/security/wpa_supplicant/Makefile +++ b/security/wpa_supplicant/Makefile @@ -2,7 +2,7 @@ PORTNAME= wpa_supplicant PORTVERSION= 2.3 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= security net MASTER_SITES= http://w1.fi/releases/ diff --git a/security/wpa_supplicant/files/patch-src_drivers_driver__bsd.c b/security/wpa_supplicant/files/patch-src_drivers_driver__bsd.c new file mode 100644 index 000000000000..1d4447cc96bf --- /dev/null +++ b/security/wpa_supplicant/files/patch-src_drivers_driver__bsd.c @@ -0,0 +1,16 @@ +--- src/drivers/driver_bsd.c.orig 2014-10-09 14:41:31 UTC ++++ src/drivers/driver_bsd.c +@@ -1334,7 +1334,13 @@ wpa_driver_bsd_add_scan_entry(struct wpa + *pos++ = 1; + *pos++ = sr->isr_erp; + ++#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) \ ++ || defined(__DragonFly__) ++ os_memcpy(pos, (u8 *)(sr + 1) + sr->isr_ssid_len + sr->isr_meshid_len, ++ sr->isr_ie_len); ++#else + os_memcpy(pos, (u8 *)(sr + 1) + sr->isr_ssid_len, sr->isr_ie_len); ++#endif + pos += sr->isr_ie_len; + + result->ie_len = pos - (u8 *)(result + 1); -- cgit