From 7bc5a298b28627c6ab5a91943e3f983c21c71d72 Mon Sep 17 00:00:00 2001 From: James Meyer Date: Tue, 7 Aug 2012 14:07:43 -0500 Subject: wpa_supplicant 1.0 --- abs/core/wpa_supplicant/PKGBUILD | 44 ++++++---- abs/core/wpa_supplicant/config | 94 ++++++++++++++++++---- .../hostap_allow-linking-with-libnl-3.2.patch | 12 +++ 3 files changed, 120 insertions(+), 30 deletions(-) create mode 100644 abs/core/wpa_supplicant/hostap_allow-linking-with-libnl-3.2.patch diff --git a/abs/core/wpa_supplicant/PKGBUILD b/abs/core/wpa_supplicant/PKGBUILD index 9a22a1b..5a7db18 100644 --- a/abs/core/wpa_supplicant/PKGBUILD +++ b/abs/core/wpa_supplicant/PKGBUILD @@ -1,42 +1,56 @@ -# $Id: PKGBUILD 90602 2010-09-13 18:07:52Z thomas $ +# $Id: PKGBUILD 162909 2012-07-03 19:16:48Z dreisner $ # Maintainer: Thomas Bächler pkgname=wpa_supplicant -pkgver=0.7.3 +pkgver=1.0 pkgrel=1 pkgdesc="A utility providing key negotiation for WPA wireless networks" url="http://hostap.epitest.fi/wpa_supplicant" arch=('i686' 'x86_64') -depends=('openssl' 'dbus-core>=1.2.4' 'readline>=6.0' 'libnl') +depends=('openssl' 'dbus-core' 'readline' 'libnl') optdepends=('wpa_supplicant_gui: wpa_gui program') license=('GPL') groups=('base') -backup=('etc/wpa_supplicant.conf') -source=(http://hostap.epitest.fi/releases/wpa_supplicant-$pkgver.tar.gz - config) -sha256sums=('d0cd50caa85346ccc376dcda5ed3c258eef19a93b3cade39d25760118ad59443' - '6a0837f18e5ff179ccd6954f7952dfc2e6aa69f353194ee4cb29c1ed2ef68c5d') +backup=('etc/wpa_supplicant/wpa_supplicant.conf') +source=("http://w1.fi/releases/${pkgname}-${pkgver}.tar.gz" + config hostap_allow-linking-with-libnl-3.2.patch) +md5sums=('8650f6aa23646ef634402552d0669640' + '380d8d1fe24bccb2a2636cb2a6038c39' + '473fb6b77909ec5a50b6f4d91370e86b') build() { - cd "${srcdir}/${pkgname}-${pkgver}/${pkgname}" + cd "${srcdir}/${pkgname}-${pkgver}/" + + # from fedora + patch -Np1 -i "$srcdir/hostap_allow-linking-with-libnl-3.2.patch" + + cd "${pkgname}" + cp "${srcdir}/config" ./.config + sed -i 's@/usr/local@$(PREFIX)@g' Makefile - make + + make PREFIX=/usr } package() { cd "${srcdir}/${pkgname}-${pkgver}/${pkgname}" make PREFIX=/usr DESTDIR="${pkgdir}" install - install -m755 -d "${pkgdir}/etc" - install -m644 wpa_supplicant.conf "${pkgdir}/etc/wpa_supplicant.conf" + + install -d -m755 "${pkgdir}/etc/wpa_supplicant" + install -m644 wpa_supplicant.conf "${pkgdir}/etc/wpa_supplicant/wpa_supplicant.conf" + install -d -m755 "${pkgdir}/usr/share/man/man"{5,8} install -m644 doc/docbook/*.5 "${pkgdir}/usr/share/man/man5/" install -m644 doc/docbook/*.8 "${pkgdir}/usr/share/man/man8/" rm -f "${pkgdir}/usr/share/man/man8/wpa_"{priv,gui}.8 - install -m755 -d "${pkgdir}/usr/share/dbus-1/system-services" + install -d -m755 "${pkgdir}/usr/share/dbus-1/system-services" install -m644 dbus/{fi.epitest.hostap.WPASupplicant.service,fi.w1.wpa_supplicant1.service} "${pkgdir}/usr/share/dbus-1/system-services/" - sed -e 's/sbin/usr\/sbin/' -i "${pkgdir}/usr/share/dbus-1/system-services/"*.service - install -m755 -d "${pkgdir}/etc/dbus-1/system.d" + + install -d -m755 "${pkgdir}/etc/dbus-1/system.d" install -m644 dbus/dbus-wpa_supplicant.conf "${pkgdir}/etc/dbus-1/system.d/wpa_supplicant.conf" + + install -d -m755 "${pkgdir}/usr/lib/systemd/system" + install -m644 systemd/*.service "${pkgdir}/usr/lib/systemd/system/" } diff --git a/abs/core/wpa_supplicant/config b/abs/core/wpa_supplicant/config index 192e338..59da1e2 100644 --- a/abs/core/wpa_supplicant/config +++ b/abs/core/wpa_supplicant/config @@ -78,6 +78,11 @@ #CONFIG_DRIVER_RALINK=y # Driver interface for generic Linux wireless extensions +# Note: WEXT is deprecated in the current Linux kernel version and no new +# functionality is added to it. nl80211-based interface is the new +# replacement for WEXT and its use allows wpa_supplicant to properly control +# the driver to improve existing functionality like roaming and to support new +# functionality. CONFIG_DRIVER_WEXT=y # Driver interface for Linux drivers using the nl80211 kernel interface @@ -109,11 +114,6 @@ CONFIG_DRIVER_NL80211=y # Driver interface for development testing #CONFIG_DRIVER_TEST=y -# Include client MLME (management frame processing) for test driver -# This can be used to test MLME operations in hostapd with the test interface. -# space. -#CONFIG_CLIENT_MLME=y - # Driver interface for wired Ethernet drivers CONFIG_DRIVER_WIRED=y @@ -123,6 +123,10 @@ CONFIG_DRIVER_WIRED=y # Driver interface for no driver (e.g., WPS ER only) #CONFIG_DRIVER_NONE=y +# Solaris libraries +#LIBS += -lsocket -ldlpi -lnsl +#LIBS_c += -lsocket + # Enable IEEE 802.1X Supplicant (automatically included if any EAP method is # included) CONFIG_IEEE8021X_EAPOL=y @@ -161,6 +165,9 @@ CONFIG_EAP_OTP=y # EAP-PSK (experimental; this is _not_ needed for WPA-PSK) #CONFIG_EAP_PSK=y +# EAP-pwd (secure authentication using only a password) +#CONFIG_EAP_PWD=y + # EAP-PAX #CONFIG_EAP_PAX=y @@ -190,6 +197,13 @@ CONFIG_EAP_LEAP=y # Wi-Fi Protected Setup (WPS) CONFIG_WPS=y +# Enable WSC 2.0 support +#CONFIG_WPS2=y +# Enable WPS external registrar functionality +#CONFIG_WPS_ER=y +# Disable credentials for an open network by default when acting as a WPS +# registrar. +#CONFIG_WPS_REG_DISABLE_OPEN=y # EAP-IKEv2 #CONFIG_EAP_IKEV2=y @@ -224,6 +238,10 @@ CONFIG_CTRL_IFACE=y # the resulting binary. CONFIG_READLINE=y +# Include internal line edit mode in wpa_cli. This can be used as a replacement +# for GNU Readline to provide limited command line editing and history support. +#CONFIG_WPA_CLI_EDIT=y + # Remove debugging code that is printing out debug message to stdout. # This can be used to reduce the size of the wpa_supplicant considerably # if debugging code is not needed. The size reduction can be around 35% @@ -305,18 +323,17 @@ CONFIG_PEERKEY=y # Select TLS implementation # openssl = OpenSSL (default) -# gnutls = GnuTLS (needed for TLS/IA, see also CONFIG_GNUTLS_EXTRA) +# gnutls = GnuTLS # internal = Internal TLSv1 implementation (experimental) # none = Empty template #CONFIG_TLS=openssl -# Whether to enable TLS/IA support, which is required for EAP-TTLSv1. -# You need CONFIG_TLS=gnutls for this to have any effect. Please note that -# even though the core GnuTLS library is released under LGPL, this extra -# library uses GPL and as such, the terms of GPL apply to the combination -# of wpa_supplicant and GnuTLS if this option is enabled. BSD license may not -# apply for distribution of the resulting binary. -#CONFIG_GNUTLS_EXTRA=y +# TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.1) +# can be enabled to get a stronger construction of messages when block ciphers +# are used. It should be noted that some existing TLS v1.0 -based +# implementation may not be compatible with TLS v1.1 message (ClientHello is +# sent prior to negotiating which version will be used) +#CONFIG_TLSV11=y # If CONFIG_TLS=internal is used, additional library and include paths are # needed for LibTomMath. Alternatively, an integrated, minimal version of @@ -378,6 +395,11 @@ CONFIG_CTRL_IFACE_DBUS_INTRO=y # Add support for writing debug log to a file (/tmp/wpa_supplicant-log-#.txt) CONFIG_DEBUG_FILE=y +# Send debug messages to syslog instead of stdout +#CONFIG_DEBUG_SYSLOG=y +# Set syslog facility for debug messages +#CONFIG_DEBUG_SYSLOG_FACILITY=LOG_DAEMON + # Enable privilege separation (see README 'Privilege separation' for details) #CONFIG_PRIVSEP=y @@ -389,7 +411,7 @@ CONFIG_DEBUG_FILE=y # This tracks use of memory allocations and other registrations and reports # incorrect use with a backtrace of call (or allocation) location. #CONFIG_WPA_TRACE=y -# For BSD, comment out these. +# For BSD, uncomment these. #LIBS += -lexecinfo #LIBS_p += -lexecinfo #LIBS_c += -lexecinfo @@ -398,7 +420,49 @@ CONFIG_DEBUG_FILE=y # This enables use of libbfd to get more detailed symbols for the backtraces # generated by CONFIG_WPA_TRACE=y. #CONFIG_WPA_TRACE_BFD=y -# For BSD, comment out these. +# For BSD, uncomment these. #LIBS += -lbfd -liberty -lz #LIBS_p += -lbfd -liberty -lz #LIBS_c += -lbfd -liberty -lz + +# wpa_supplicant depends on strong random number generation being available +# from the operating system. os_get_random() function is used to fetch random +# data when needed, e.g., for key generation. On Linux and BSD systems, this +# works by reading /dev/urandom. It should be noted that the OS entropy pool +# needs to be properly initialized before wpa_supplicant is started. This is +# important especially on embedded devices that do not have a hardware random +# number generator and may by default start up with minimal entropy available +# for random number generation. +# +# As a safety net, wpa_supplicant is by default trying to internally collect +# additional entropy for generating random data to mix in with the data fetched +# from the OS. This by itself is not considered to be very strong, but it may +# help in cases where the system pool is not initialized properly. However, it +# is very strongly recommended that the system pool is initialized with enough +# entropy either by using hardware assisted random number generator or by +# storing state over device reboots. +# +# wpa_supplicant can be configured to maintain its own entropy store over +# restarts to enhance random number generation. This is not perfect, but it is +# much more secure than using the same sequence of random numbers after every +# reboot. This can be enabled with -e command line option. The +# specified file needs to be readable and writable by wpa_supplicant. +# +# If the os_get_random() is known to provide strong random data (e.g., on +# Linux/BSD, the board in question is known to have reliable source of random +# data from /dev/urandom), the internal wpa_supplicant random pool can be +# disabled. This will save some in binary size and CPU use. However, this +# should only be considered for builds that are known to be used on devices +# that meet the requirements described above. +CONFIG_NO_RANDOM_POOL=y + +# IEEE 802.11n (High Throughput) support (mainly for AP mode) +#CONFIG_IEEE80211N=y + +# Interworking (IEEE 802.11u) +# This can be used to enable functionality to improve interworking with +# external networks (GAS/ANQP to learn more about the networks and network +# selection based on available credentials). +#CONFIG_INTERWORKING=y + +CONFIG_LIBNL32=y diff --git a/abs/core/wpa_supplicant/hostap_allow-linking-with-libnl-3.2.patch b/abs/core/wpa_supplicant/hostap_allow-linking-with-libnl-3.2.patch new file mode 100644 index 0000000..5d89039 --- /dev/null +++ b/abs/core/wpa_supplicant/hostap_allow-linking-with-libnl-3.2.patch @@ -0,0 +1,12 @@ +diff -up wpa_supplicant-1.0-rc2/src/drivers/drivers.mak.foo wpa_supplicant-1.0-rc2/src/drivers/drivers.mak +--- wpa_supplicant-1.0-rc2/src/drivers/drivers.mak.foo 2012-03-02 16:11:43.176448714 -0600 ++++ wpa_supplicant-1.0-rc2/src/drivers/drivers.mak 2012-03-02 16:12:29.759866341 -0600 +@@ -48,7 +48,7 @@ NEED_RFKILL=y + ifdef CONFIG_LIBNL32 + DRV_LIBS += -lnl-3 + DRV_LIBS += -lnl-genl-3 +- DRV_CFLAGS += -DCONFIG_LIBNL20 ++ DRV_CFLAGS += -DCONFIG_LIBNL20 `pkg-config --cflags libnl-3.0` + else + ifdef CONFIG_LIBNL_TINY + DRV_LIBS += -lnl-tiny -- cgit v0.12