From 7f6f69dc52c8601768ba48fa7b69507a80d532cb Mon Sep 17 00:00:00 2001 From: root Date: Thu, 5 Jul 2012 00:02:54 +0000 Subject: Thu Jul 5 00:02:54 UTC 2012 --- core/wpa_supplicant/PKGBUILD | 49 +++++++----- core/wpa_supplicant/config | 92 ++++++++++++++++++---- .../hostap_allow-linking-with-libnl-3.2.patch | 54 +++---------- 3 files changed, 117 insertions(+), 78 deletions(-) (limited to 'core/wpa_supplicant') diff --git a/core/wpa_supplicant/PKGBUILD b/core/wpa_supplicant/PKGBUILD index b8f264e29..5a7db187f 100644 --- a/core/wpa_supplicant/PKGBUILD +++ b/core/wpa_supplicant/PKGBUILD @@ -1,49 +1,56 @@ -# $Id: PKGBUILD 150896 2012-02-23 13:54:14Z allan $ +# $Id: PKGBUILD 162909 2012-07-03 19:16:48Z dreisner $ # Maintainer: Thomas Bächler pkgname=wpa_supplicant -pkgver=0.7.3 -pkgrel=5 +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 dbus.patch hostap_allow-linking-with-libnl-3.2.patch) -sha256sums=('d0cd50caa85346ccc376dcda5ed3c258eef19a93b3cade39d25760118ad59443' - 'd00f306e53c22cc0d7352a0d4ed701fd77b9ff20e3a2422d81ac1fddcc11dff4' - '13effa9ed6a1bb940ffc056a3eabcf64c8cc057069eca5cc1822b98ed769812a' - 'ac805bf6e5aaec733dfc2c333417e519239cd58663a6e1cb34a54fd0f2bcc3c5') +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}" + cd "${srcdir}/${pkgname}-${pkgver}/" + + # from fedora patch -Np1 -i "$srcdir/hostap_allow-linking-with-libnl-3.2.patch" - cd ${pkgname} - # Required by NetworkManager 0.8.995 - patch -Np2 -i "$srcdir/dbus.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/core/wpa_supplicant/config b/core/wpa_supplicant/config index eef35d045..59da1e27e 100644 --- a/core/wpa_supplicant/config +++ b/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,9 +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/core/wpa_supplicant/hostap_allow-linking-with-libnl-3.2.patch b/core/wpa_supplicant/hostap_allow-linking-with-libnl-3.2.patch index 8e7cd9a97..5d8903906 100644 --- a/core/wpa_supplicant/hostap_allow-linking-with-libnl-3.2.patch +++ b/core/wpa_supplicant/hostap_allow-linking-with-libnl-3.2.patch @@ -1,42 +1,12 @@ -Subject: [RFC] hostap: Allow linking with libnl-3. -Date: Tue, 15 Nov 2011 14:30:04 -0000 -From: Ben Greear - -I needed this patch to compile against the latest -libnl code. I added this to my config file: - -CONFIG_LIBNL32=y - -Signed-hostap: Ben Greear -rediffed against 0.7.3 by Stefan Lippers-Hollmann - ---- -:100644 100644 5caeec5... 0cc81f9... M src/drivers/drivers.mak - src/drivers/drivers.mak | 21 ++++++++++++++------- - 2 files changed, 29 insertions(+), 14 deletions(-) - ---- a/src/drivers/drivers.mak -+++ b/src/drivers/drivers.mak -@@ -31,11 +31,18 @@ NEED_SME=y - NEED_AP_MLME=y - NEED_NETLINK=y - NEED_LINUX_IOCTL=y --DRV_LIBS += -lnl -+ifdef CONFIG_LIBNL32 -+ DRV_LIBS += -lnl-3 -+ DRV_LIBS += -lnl-genl-3 -+ DRV_CFLAGS += -DCONFIG_LIBNL20 -+ DRV_CFLAGS += -I/usr/include/libnl3/ -+else -+ DRV_LIBS += -lnl - --ifdef CONFIG_LIBNL20 --DRV_LIBS += -lnl-genl --DRV_CFLAGS += -DCONFIG_LIBNL20 -+ ifdef CONFIG_LIBNL20 -+ DRV_LIBS += -lnl-genl -+ DRV_CFLAGS += -DCONFIG_LIBNL20 -+ endif - endif - endif - +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 v1.2.3-54-g00ecf