hostapd and wpa_supplicant vendor update (2.1)
- File 0001-hostapd-wpa_supplicant-local-modifications-to-contri.patch added
- File 0002-hostapd-wpa_supplicant-update-to-2.1.patch added
patch against master once both vendor branch have been merged in.
Note that vendor/HOSTAPD and vendor/WPA_SUPPLICANT were not cleanly merged in master.
Sorry for the lack of comments, I wanted to complete a full buildworld / kernel beforehand.
1. The vendors patches remove and contrib/wpa_supplicant-0.4.9 contrib/hostapd-0.4.9. They're both are unchanged since their import from 2006, so I figured they're not used nor needed anymore.
2. The vendors branches were not cleanly merged before, so a bit of conflict solving is needed for a clean merge.
3. both hostapd and wpa_supplicant now ship default configuration files (with a lot of documentation in comments). The patch install them under /etc/wpa_supplicant.conf, /etc/hostapd.conf and /usr/share/initrd/etc/wpa_supplicant.conf.
4. I've imported minor changes to the man pages from FreeBSD making sure to adapt where needed.
5. usr.sbin/802_11 Makefile were adapted from FreeBSD because they're using hostapd / wpa_supplicant 2.0 (which is closer to 2.1 than our previous 0.6.10 version). I've tested both to build without any option (default) and with all options (requires devel/pcsc-lite, see comments in usr.sbin/802_11/wpa_supplicant/Makefile).
6. usr.sbin/802_11/wpa_supplicant/driver_wired.c was removed because it is now provided by the vendor.
7. usr.sbin/802_11/wpa_supplicant/driver_dragonfly.c was removed and we use driver_bsd.c from the vendor which is DragonFly ready (no modification were needed and there was already ifdef __DragonFly__ code).
8. `usr.sbin/802_11/l2_packet.c` is a copy of the vendor's `l2_packet_freebsd.c`. The changes are minimal between them and I think we should ask hostapd/wpa_supplicant to have a copy of `l2_packet_dragonfly.c`.
9. hostapd, wpa_cli and wpa_supplicant needs WARNS=0 in order to compile or small modifications. See comments below.
hostapd and wpa_supplicant needs WARNS=0 because otherwise WPA_OUI_TYPE gets redefined (see attachment). I am uneasy because the dragonfly definition in /usr/include/netproto/802_11/ieee80211.h is very different from the vendor's in common/wpa_common.h and I am clueless about its purpose.
In addition wpa_supplicant/wpa_supplicant/scan.c redefine MIN() but that is trivial to ignore.
I've done a full buildworld, buildkernel, installkernel, installworld, and upgrade. All seems ok (config files executables and manuals) except the wpa_passphrase manual (which does not show).
Also I don't have the hardware to properly test hostapd / wpa_supplicant :( So wireless tester are welcome.