diff options
author | marino <marino@FreeBSD.org> | 2014-10-13 21:49:55 +0800 |
---|---|---|
committer | marino <marino@FreeBSD.org> | 2014-10-13 21:49:55 +0800 |
commit | edfba8506888a29be7f81b4a55813af6147900c3 (patch) | |
tree | e6d71105872af1c704db0a1848e7311d4ce8e058 | |
parent | 6eefcdd6d62d4dcdd0601825daad31a5dae49bdb (diff) | |
download | freebsd-ports-gnome-edfba8506888a29be7f81b4a55813af6147900c3.tar.gz freebsd-ports-gnome-edfba8506888a29be7f81b4a55813af6147900c3.tar.zst freebsd-ports-gnome-edfba8506888a29be7f81b4a55813af6147900c3.zip |
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.
-rw-r--r-- | security/wpa_supplicant/Makefile | 2 | ||||
-rw-r--r-- | security/wpa_supplicant/files/patch-src_drivers_driver__bsd.c | 16 |
2 files changed, 17 insertions, 1 deletions
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); |