### this file is sourced not run
PKGVER=2.6
PKGBUILD=1
PKGARCH=x86_64

# source: james
TARBALL=hostapd-$PKGVER.tar.gz
MD5SUM=eaa56dce9bd8f1d195eb62596eab34c7
SRC_URL=http://w1.fi/releases/$TARBALL
BUNDLE=

SLACKREQ='libnl openssl sqlite3'
SLACKDESC="hostapd: hostapd $PKGVER (Wireless AP daemon)  
hostapd:  
hostapd: hostapd is a user space daemon for access point and authentication 
hostapd: servers. It implements IEEE 802.11 access point management, IEEE 
hostapd: 802.1X/WPA/WPA2/EAP Authenticators, RADIUS client, EAP server, and 
hostapd: RADIUS authentication server. In short, it makes your computer to 
hostapd: function as a Wi-Fi access point/router. It is actually the same 
hostapd: software used in some real-life Wi-Fi routers to provide the AP 
hostapd: functionality.  
hostapd: 
hostapd: http://w1.fi/hostapd/  
"

### default pkg_download
### prepare
pkg_prepare() {
	pkg_prepare_default &&
	cd tmp/hostapd* &&
	patch -Np1 -i $CHROOT_DIR/tmp/pkg/rebased-v2.6-0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch &&
	patch -Np1 -i $CHROOT_DIR/tmp/pkg/rebased-v2.6-0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch &&
	patch -Np1 -i $CHROOT_DIR/tmp/pkg/rebased-v2.6-0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch &&
	patch -Np1 -i $CHROOT_DIR/tmp/pkg/rebased-v2.6-0004-Prevent-installation-of-an-all-zero-TK.patch &&
	patch -Np1 -i $CHROOT_DIR/tmp/pkg/rebased-v2.6-0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch &&
	patch -Np1 -i $CHROOT_DIR/tmp/pkg/rebased-v2.6-0006-TDLS-Reject-TPK-TK-reconfiguration.patch &&
	# This one's for wpa_supplicant...
	#patch -Np1 -i $CHROOT_DIR/tmp/pkg/rebased-v2.6-0007-WNM-Ignore-WNM-Sleep-Mode-Response-without-pending-r.patch &&
	patch -Np1 -i $CHROOT_DIR/tmp/pkg/rebased-v2.6-0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch
}
### default pkg_package
### build
pkg_build() {
	cd /tmp/hostapd*/hostapd
	
	# our config is defconfig + wired, LIBNL32, radius server, 80211n, and fully dynamic vlan
	cp defconfig .config &&
	sed -i -e '
		s/#CONFIG_DRIVER_WIRED/CONFIG_DRIVER_WIRED/;
		s/#CONFIG_LIBNL32/CONFIG_LIBNL32/;
		s/#CONFIG_RADIUS_SERVER/CONFIG_RADIUS_SERVER/;
		s/#CONFIG_DRIVER_RADIUS_ACL/CONFIG_DRIVER_RADIUS_ACL/;
		s/#CONFIG_IEEE80211N/CONFIG_IEEE80211N/;
		s/#CONFIG_FULL_DYNAMIC_VLAN/CONFIG_FULL_DYNAMIC_VLAN/;
		s/#CONFIG_SQLITE/CONFIG_SQLITE/;
		s/#CONFIG_EAP_PSK/CONFIG_EAP_PSK/;
		s/#CONFIG_EAP_GPSK/CONFIG_EAP_GPSK/;
		s/#CONFIG_EAP_PAX/CONFIG_EAP_PAX/;
		s/#CONFIG_EAP_PWD/CONFIG_EAP_PWD/;
		s/#CONFIG_EAP_SAKE/CONFIG_EAP_SAKE/;
		s/#CONFIG_EAP_FAST/CONFIG_EAP_FAST/;
		s/#CONFIG_WPS/CONFIG_WPS/;
		s/#CONFIG_IEEE80211N/CONFIG_IEEE80211N/;
		s/#CONFIG_EAP_IKEV2/CONFIG_EAP_IKEV2/;
		' .config &&
	
	make $MAKEFLAGS &&
	cp hostapd /usr/sbin &&
	cp hostapd_cli /usr/bin &&
	cp *.8 /usr/share/man/man8 &&
	cp *.1 /usr/share/man/man1 &&
	
	mkdir -p /usr/share/hostapd/samples &&
	install -m644 README* /usr/share/hostapd &&
	install -m644 hostapd.accept hostapd.conf hostapd.deny hostapd.eap_user \
	   hostapd.radius_clients hostapd.vlan hostapd.wpa_psk wired.conf \
	   /usr/share/hostapd/samples &&
	pkg_build_slackdesc
}


