# Maintainer: Natanael Copa pkgname=wpa_supplicant pkgver=2.4 pkgrel=0 pkgdesc="A utility providing key negotiation for WPA wireless networks" url="http://hostap.epitest.fi/wpa_supplicant" arch="all" license="BSD" subpackages="$pkgname-doc $pkgname-gui" depends="dbus" makedepends="openssl-dev dbus-dev libnl3-dev qt-dev" source="http://hostap.epitest.fi/releases/$pkgname-$pkgver.tar.gz CVE-2015-1863.patch wpa_supplicant.initd wpa_supplicant.confd " _builddir="$srcdir"/$pkgname-$pkgver prepare() { cd "$_builddir" for i in $source; do case $i in *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; esac done cd "$_builddir"/wpa_supplicant # Toolchain setup echo "CC = ${CC:-gcc}" > .config # Basic setup echo "CONFIG_CTRL_IFACE=y" >> .config # dbus support echo "CONFIG_CTRL_IFACE_DBUS=y" >> .config echo "CONFIG_CTRL_IFACE_DBUS_NEW=y" >> .config echo "CONFIG_CTRL_IFACE_DBUS_INTRO=y" >> .config echo "CONFIG_BACKEND=file" >> .config # Basic authentication methods # NOTE: we don't set GPSK or SAKE as they conflict # with the below options echo "CONFIG_EAP_GTC=y" >> .config echo "CONFIG_EAP_MD5=y" >> .config echo "CONFIG_EAP_OTP=y" >> .config echo "CONFIG_EAP_PAX=y" >> .config echo "CONFIG_EAP_PSK=y" >> .config echo "CONFIG_EAP_TLV=y" >> .config echo "CONFIG_IEEE8021X_EAPOL=y" >> .config echo "CONFIG_PKCS12=y" >> .config echo "CONFIG_PEERKEY=y" >> .config echo "CONFIG_EAP_LEAP=y" >> .config echo "CONFIG_EAP_MSCHAPV2=y" >> .config echo "CONFIG_EAP_PEAP=y" >> .config echo "CONFIG_EAP_TLS=y" >> .config echo "CONFIG_EAP_TTLS=y" >> .config # debug # echo "CONFIG_DEBUG_FILE=y" >> .config # Smart card authentication #echo "CONFIG_EAP_SIM=y" >> .config #echo "CONFIG_EAP_AKA=y" >> .config #echo "CONFIG_EAP_AKA_PRIME=y" >> .config #echo "CONFIG_PCSC=y" >> .config # readline/history support for wpa_cli #echo "CONFIG_READLINE=y" >> .config # SSL authentication methods echo "CONFIG_TLS=openssl" >> .config echo "CONFIG_SMARTCARD=y" >> .config # use gnutls # echo "CONFIG_TLS=gnutls" >> .config # echo "CONFIG_GNUTLS_EXTRA=y" >> .config #echo "CONFIG_TLS=internal" >> .config # Linux specific drivers echo "CONFIG_DRIVER_ATMEL=y" >> .config #echo "CONFIG_DRIVER_BROADCOM=y" >> .config #echo "CONFIG_DRIVER_HERMES=y" >> .config echo "CONFIG_DRIVER_HOSTAP=y" >> .config echo "CONFIG_DRIVER_IPW=y" >> .config echo "CONFIG_DRIVER_NDISWRAPPER=y" >> .config echo "CONFIG_DRIVER_NL80211=y" >> .config #echo "CONFIG_DRIVER_PRISM54=y" >> .config echo "CONFIG_DRIVER_RALINK=y" >> .config echo "CONFIG_DRIVER_WEXT=y" >> .config echo "CONFIG_DRIVER_WIRED=y" >> .config # Add include path for madwifi-driver headers #echo "CFLAGS += -I/usr/include/madwifi" >> .config #echo "CONFIG_DRIVER_MADWIFI=y" >> .config # Wi-Fi Protected Setup (WPS) echo "CONFIG_WPS=y" >> .config # Enable mitigation against certain attacks against TKIP echo "CONFIG_DELAYED_MIC_ERROR_REPORT=y" >> .config echo "CONFIG_WPS2=y" >> .config echo "CONFIG_AP=y" >> .config echo "CONFIG_P2P=y" >> .config echo "CONFIG_LIBNL32=y" >> .config } build() { cd "$_builddir"/wpa_supplicant make LIBDIR=/lib BINDIR=/sbin || return 1 # comment out the network={ } stansas in config sed -i -e '/^network=/,/}/s/^/#/' wpa_supplicant.conf make wpa_gui-qt4 || return 1 make eapol_test || return 1 } package() { cd "$_builddir"/wpa_supplicant make DESTDIR="$pkgdir" LIBDIR=/lib BINDIR=/sbin install || return 1 install -Dm644 wpa_supplicant.conf \ "$pkgdir"/etc/wpa_supplicant/wpa_supplicant.conf install -Dm644 doc/docbook/wpa_supplicant.conf.5 \ "$pkgdir"/usr/share/man/man5/wpa_supplicant.conf.5 || return 1 for i in wpa_background wpa_cli wpa_passphrase wpa_supplicant; do install -Dm644 doc/docbook/$i.8 \ "$pkgdir"/usr/share/man/man8/$i.8 || return 1 done install -Dm755 eapol_test "$pkgdir"/sbin/eapol_test || return 1 # gui install -d "$pkgdir"/usr/bin install -m 0755 wpa_gui-qt4/wpa_gui "$pkgdir"/usr/bin/wpa_gui \ || return 1 # dbus cd dbus || return 1 install -d "$pkgdir"/etc/dbus-1/system.d install dbus-wpa_supplicant.conf \ "$pkgdir"/etc/dbus-1/system.d/wpa_supplicant.conf || return 1 install -d "$pkgdir"/usr/share/dbus-1/system-services install fi.epitest.hostap.WPASupplicant.service \ "$pkgdir"/usr/share/dbus-1/system-services || return 1 install -d "$pkgdir"/var/run/wpa_supplicant install -Dm755 "$srcdir"/wpa_supplicant.initd \ "$pkgdir"/etc/init.d/wpa_supplicant || return 1 install -Dm755 "$srcdir"/wpa_supplicant.confd \ "$pkgdir"/etc/conf.d/wpa_supplicant || return 1 } gui() { pkgdesc="Grafical User Interface for $pkgname" mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/wpa_gui "$subpkgdir"/usr/bin/ } md5sums="f0037dbe03897dcaf2ad2722e659095d wpa_supplicant-2.4.tar.gz 8e8c34267fefcc4142ee142e5515b5df CVE-2015-1863.patch 5ee64e2494a9e83740d2344dd5b9bb19 wpa_supplicant.initd bc117427f2c538439f3f1481a028ee06 wpa_supplicant.confd" sha256sums="058dc832c096139a059e6df814080f50251a8d313c21b13364c54a1e70109122 wpa_supplicant-2.4.tar.gz a3abf75801f02199ff48c316a7b6598860e6ca20ce2fe79b0bec873905e5c8a4 CVE-2015-1863.patch 131828768c8f334b39bb5294398105ed4cd6d031908e6e9b00bb4a0938f5f7f2 wpa_supplicant.initd 61ec59007f66ac5bacc0aa095d1f2ccbc977a687038e161a463d1727223d5a90 wpa_supplicant.confd" sha512sums="03d8199325b3910f77013ddb7edd803ab4444542230484e1cb465dc3df9372b39ee3307d823ce88730e8f5a5231ef3183954c54cf07297b70432f526e45aac2b wpa_supplicant-2.4.tar.gz 61f90d06bd42fb7ea17ba147db861303f5b1fdce2cda35492cec578214da5ea5d654a1df99dee4d4a0c07ef3e8b3bfb65ab4b98eff21c2013adf536766136ce1 CVE-2015-1863.patch 4a62879f6eb37226a2009a4bceb123c6e610c366c2369ee2fc84b66b79e8dddee5185a64cebe0331bafe13d61cf44c0bbbe3dce2620c0f4525c96afcb58dd362 wpa_supplicant.initd 29103161ec2b9631fca9e8d9a97fafd60ffac3fe78cf613b834395ddcaf8be1e253c22e060d7d9f9b974b2d7ce794caa932a2125e29f6494b75bce475f7b30e1 wpa_supplicant.confd"