From 087086973ab517d57d51388fe44c9525f11589f6 Mon Sep 17 00:00:00 2001 From: "Murat D. Kadirov" Date: Mon, 28 Jun 2010 13:00:58 -0400 Subject: network/hostapd: Updated for version 0.6.10. Signed-off-by: dsomero --- network/hostapd/DTIM.patch | 46 ++++++++++++ network/hostapd/README | 4 -- network/hostapd/config | 90 ----------------------- network/hostapd/hostapd.SlackBuild | 15 ++-- network/hostapd/hostapd.defconfig | 144 +++++++++++++++++++++++++++++++++++++ network/hostapd/hostapd.info | 8 +-- network/hostapd/slack-desc | 4 +- 7 files changed, 204 insertions(+), 107 deletions(-) create mode 100644 network/hostapd/DTIM.patch delete mode 100644 network/hostapd/config create mode 100644 network/hostapd/hostapd.defconfig (limited to 'network') diff --git a/network/hostapd/DTIM.patch b/network/hostapd/DTIM.patch new file mode 100644 index 0000000000..e19555e1ef --- /dev/null +++ b/network/hostapd/DTIM.patch @@ -0,0 +1,46 @@ +commit 8fac32f5efa7a7c3fc6eee8d3723a09e7abe27fa +Author: Jouni Malinen +Date: Thu Mar 12 21:57:08 2009 +0200 + + Move DTIM period configuration into Beacon set operation + + This is needed to make mac80211 work with multi-BSS configuration. The + previous design ended up setting DTIM period for secondary BSSes before + setting the Beacon and driver_nl80211.c was not really prepared for + that. Eventually, the Beacon configuration routines should be combined + into a single driver operation, but for now, just moving this call is + the simplest workaround. + (cherry picked from commit eb1f7446b5b86cceb1508f060f5e66e5dd791a4d) + +diff --git a/hostapd/beacon.c b/hostapd/beacon.c +index 1f82d9c..0a192fe 100644 +--- a/hostapd/beacon.c ++++ b/hostapd/beacon.c +@@ -434,6 +434,10 @@ void ieee802_11_set_beacon(struct hostapd_data *hapd) + os_free(tail); + os_free(head); + ++ if (hostapd_set_dtim_period(hapd, hapd->conf->dtim_period)) ++ wpa_printf(MSG_ERROR, "Could not set DTIM period for kernel " ++ "driver"); ++ + if (hostapd_set_cts_protect(hapd, cts_protection)) + wpa_printf(MSG_ERROR, "Failed to set CTS protect in kernel " + "driver"); +diff --git a/hostapd/hostapd.c b/hostapd/hostapd.c +index 3fbd3d0..7ed1720 100644 +--- a/hostapd/hostapd.c ++++ b/hostapd/hostapd.c +@@ -1376,12 +1376,6 @@ static int hostapd_setup_bss(struct hostapd_data *hapd, int first) + return -1; + } + +- if (hostapd_set_dtim_period(hapd, hapd->conf->dtim_period)) { +- wpa_printf(MSG_ERROR, "Could not set DTIM period for kernel " +- "driver"); +- return -1; +- } +- + /* Set SSID for the kernel driver (to be used in beacon and probe + * response frames) */ + if (set_ssid && hostapd_set_ssid(hapd, (u8 *) conf->ssid.ssid, diff --git a/network/hostapd/README b/network/hostapd/README index 0bcf02f7fa..28884a8ae0 100644 --- a/network/hostapd/README +++ b/network/hostapd/README @@ -5,7 +5,3 @@ It implements IEEE 802.11 access point management, IEEE 802.1X/WPA/WPA2/EAP Authenticators, RADIUS client, EAP server, and RADIUS authentication server. The current version supports Linux (Host AP, madwifi, Prism54 drivers) and FreeBSD (net80211). - -This is tested with the madwifi driver, but it should also work with some -other chipsets. If you plan to use the madwifi driver, then uncomment the -madwifi section in the provided config file. diff --git a/network/hostapd/config b/network/hostapd/config deleted file mode 100644 index d3b6ba0f2b..0000000000 --- a/network/hostapd/config +++ /dev/null @@ -1,90 +0,0 @@ -# Example hostapd build time configuration -# -# This file lists the configuration options that are used when building the -# hostapd binary. All lines starting with # are ignored. Configuration option -# lines must be commented out complete, if they are not to be included, i.e., -# just setting VARIABLE=n is not disabling that variable. -# -# This file is included in Makefile, so variables like CFLAGS and LIBS can also -# be modified from here. In most cass, these lines should use += in order not -# to override previous values of the variables. - -# Driver interface for Host AP driver -CONFIG_DRIVER_HOSTAP=y - -# Driver interface for wired authenticator -CONFIG_DRIVER_WIRED=y - -# Driver interface for madwifi driver -#CONFIG_DRIVER_MADWIFI=y -#CFLAGS += -I/tmp/SBo/madwifi-0.9.4/ # change to reflect local setup; directory for madwifi src - -# Driver interface for Prism54 driver -CONFIG_DRIVER_PRISM54=y - -# IEEE 802.11F/IAPP -CONFIG_IAPP=y - -# WPA2/IEEE 802.11i RSN pre-authentication -CONFIG_RSN_PREAUTH=y - -# PeerKey handshake for Station to Station Link (IEEE 802.11e DLS) -CONFIG_PEERKEY=y - -# IEEE 802.11w (management frame protection) -# This version is an experimental implementation based on IEEE 802.11w/D1.0 -# draft and is subject to change since the standard has not yet been finalized. -# Driver support is also needed for IEEE 802.11w. -CONFIG_IEEE80211W=y - -# Integrated EAP server -CONFIG_EAP=y - -# EAP-MD5 for the integrated EAP server -CONFIG_EAP_MD5=y - -# EAP-TLS for the integrated EAP server -CONFIG_EAP_TLS=y - -# EAP-MSCHAPv2 for the integrated EAP server -CONFIG_EAP_MSCHAPV2=y - -# EAP-PEAP for the integrated EAP server -CONFIG_EAP_PEAP=y - -# EAP-GTC for the integrated EAP server -CONFIG_EAP_GTC=y - -# EAP-TTLS for the integrated EAP server -CONFIG_EAP_TTLS=y - -# EAP-SIM for the integrated EAP server -CONFIG_EAP_SIM=y - -# EAP-AKA for the integrated EAP server -CONFIG_EAP_AKA=y - -# EAP-PAX for the integrated EAP server -CONFIG_EAP_PAX=y - -# EAP-PSK for the integrated EAP server (this is _not_ needed for WPA-PSK) -CONFIG_EAP_PSK=y - -# EAP-SAKE for the integrated EAP server -CONFIG_EAP_SAKE=y - -# EAP-GPSK for the integrated EAP server -CONFIG_EAP_GPSK=y -# Include support for optional SHA256 cipher suite in EAP-GPSK -CONFIG_EAP_GPSK_SHA256=y - -# PKCS#12 (PFX) support (used to read private key and certificate file from -# a file that usually has extension .p12 or .pfx) -CONFIG_PKCS12=y - -# RADIUS authentication server. This provides access to the integrated EAP -# server from external hosts using RADIUS. -CONFIG_RADIUS_SERVER=y - -# Build IPv6 support for RADIUS operations -CONFIG_IPV6=y diff --git a/network/hostapd/hostapd.SlackBuild b/network/hostapd/hostapd.SlackBuild index 08b80dca7d..9f0b30c661 100644 --- a/network/hostapd/hostapd.SlackBuild +++ b/network/hostapd/hostapd.SlackBuild @@ -22,7 +22,7 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=hostapd -VERSION=${VERSION:-0.5.11} +VERSION=${VERSION:-0.6.10} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -62,7 +62,7 @@ mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $PRGNAM-$VERSION tar xvf $CWD/$PRGNAM-$VERSION.tar.gz -cd $PRGNAM-$VERSION +cd $PRGNAM-$VERSION/$PRGNAM chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ @@ -70,7 +70,10 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; -cat $CWD/config > .config +cat $CWD/hostapd.defconfig > .config +# Fix bug with mac80211-based drivers in hostapd 0.6.10 +# http://lists.shmoo.com/pipermail/hostap/2010-February/021118.html +patch -p2 < $CWD/DTIM.patch CFLAGS+="$SLKCFLAGS" make @@ -84,9 +87,7 @@ install -D -m 0755 $CWD/rc.hostapd $PKG/etc/rc.d/rc.hostapd.new DOINST_TMP=$(mktemp) # temporary holding place for i in \ - hlr_auc_gw.milenage_db hostapd.accept hostapd.conf \ - hostapd.deny hostapd.eap_user hostapd.radius_clients \ - hostapd.sim_db hostapd.wpa_psk madwifi.conf wired.conf ; + hostapd.??* *.conf do cat $i > $PKG/etc/hostapd/$i.new ; chmod 0600 $PKG/etc/hostapd/$i.new ; @@ -101,7 +102,7 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a COPYING ChangeLog README $PKG/usr/doc/$PRGNAM-$VERSION +cp -ar ../COPYING ChangeLog README* *.txt logwatch $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install diff --git a/network/hostapd/hostapd.defconfig b/network/hostapd/hostapd.defconfig new file mode 100644 index 0000000000..d5c73f2b1b --- /dev/null +++ b/network/hostapd/hostapd.defconfig @@ -0,0 +1,144 @@ +# Example hostapd build time configuration +# +# This file lists the configuration options that are used when building the +# hostapd binary. All lines starting with # are ignored. Configuration option +# lines must be commented out complete, if they are not to be included, i.e., +# just setting VARIABLE=n is not disabling that variable. +# +# This file is included in Makefile, so variables like CFLAGS and LIBS can also +# be modified from here. In most cass, these lines should use += in order not +# to override previous values of the variables. + +# Driver interface for Host AP driver +CONFIG_DRIVER_HOSTAP=y + +# Driver interface for wired authenticator +CONFIG_DRIVER_WIRED=y + +# Driver interface for madwifi driver +#CONFIG_DRIVER_MADWIFI=y +#CFLAGS += -I../../madwifi # change to the madwifi source directory + +# Driver interface for Prism54 driver +CONFIG_DRIVER_PRISM54=y + +# Driver interface for drivers using the nl80211 kernel interface +CONFIG_DRIVER_NL80211=y +# driver_nl80211.c requires a rather new libnl (version 1.1) which may not be +# shipped with your distribution yet. If that is the case, you need to build +# newer libnl version and point the hostapd build to use it. +#LIBNL=/usr/src/libnl +#CFLAGS += -I$(LIBNL)/include +#LIBS += -L$(LIBNL)/lib + +# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver) +#CONFIG_DRIVER_BSD=y +#CFLAGS += -I/usr/local/include +#LIBS += -L/usr/local/lib + +# Driver interface for no driver (e.g., RADIUS server only) +CONFIG_DRIVER_NONE=y + +# IEEE 802.11F/IAPP +CONFIG_IAPP=y + +# WPA2/IEEE 802.11i RSN pre-authentication +CONFIG_RSN_PREAUTH=y + +# PeerKey handshake for Station to Station Link (IEEE 802.11e DLS) +CONFIG_PEERKEY=y + +# IEEE 802.11w (management frame protection) +# This version is an experimental implementation based on IEEE 802.11w/D1.0 +# draft and is subject to change since the standard has not yet been finalized. +# Driver support is also needed for IEEE 802.11w. +CONFIG_IEEE80211W=y + +# Integrated EAP server +CONFIG_EAP=y + +# EAP-MD5 for the integrated EAP server +CONFIG_EAP_MD5=y + +# EAP-TLS for the integrated EAP server +CONFIG_EAP_TLS=y + +# EAP-MSCHAPv2 for the integrated EAP server +CONFIG_EAP_MSCHAPV2=y + +# EAP-PEAP for the integrated EAP server +CONFIG_EAP_PEAP=y + +# EAP-GTC for the integrated EAP server +CONFIG_EAP_GTC=y + +# EAP-TTLS for the integrated EAP server +CONFIG_EAP_TTLS=y + +# EAP-SIM for the integrated EAP server +CONFIG_EAP_SIM=y + +# EAP-AKA for the integrated EAP server +CONFIG_EAP_AKA=y + +# EAP-AKA' for the integrated EAP server +# This requires CONFIG_EAP_AKA to be enabled, too. +#CONFIG_EAP_AKA_PRIME=y + +# EAP-PAX for the integrated EAP server +CONFIG_EAP_PAX=y + +# EAP-PSK for the integrated EAP server (this is _not_ needed for WPA-PSK) +CONFIG_EAP_PSK=y + +# EAP-SAKE for the integrated EAP server +#CONFIG_EAP_SAKE=y + +# EAP-GPSK for the integrated EAP server +#CONFIG_EAP_GPSK=y +# Include support for optional SHA256 cipher suite in EAP-GPSK +#CONFIG_EAP_GPSK_SHA256=y + +# EAP-FAST for the integrated EAP server +# Note: Default OpenSSL package does not include support for all the +# functionality needed for EAP-FAST. If EAP-FAST is enabled with OpenSSL, +# the OpenSSL library must be patched (openssl-0.9.9-session-ticket.patch) +# to add the needed functions. +#CONFIG_EAP_FAST=y + +# Wi-Fi Protected Setup (WPS) +CONFIG_WPS=y +# Enable UPnP support for external WPS Registrars +CONFIG_WPS_UPNP=y + +# EAP-IKEv2 +CONFIG_EAP_IKEV2=y + +# Trusted Network Connect (EAP-TNC) +CONFIG_EAP_TNC=y + +# PKCS#12 (PFX) support (used to read private key and certificate file from +# a file that usually has extension .p12 or .pfx) +CONFIG_PKCS12=y + +# RADIUS authentication server. This provides access to the integrated EAP +# server from external hosts using RADIUS. +CONFIG_RADIUS_SERVER=y + +# Build IPv6 support for RADIUS operations +CONFIG_IPV6=y + +# IEEE Std 802.11r-2008 (Fast BSS Transition) +CONFIG_IEEE80211R=y + +# Use the hostapd's IEEE 802.11 authentication (ACL), but without +# the IEEE 802.11 Management capability (e.g., madwifi or FreeBSD/net80211) +#CONFIG_DRIVER_RADIUS_ACL=y + +# IEEE 802.11n (High Throughput) support +CONFIG_IEEE80211N=y + +# Remove debugging code that is printing out debug messages to stdout. +# This can be used to reduce the size of the hostapd considerably if debugging +# code is not needed. +#CONFIG_NO_STDOUT_DEBUG=y diff --git a/network/hostapd/hostapd.info b/network/hostapd/hostapd.info index da9dfdb7a7..faf6c69260 100644 --- a/network/hostapd/hostapd.info +++ b/network/hostapd/hostapd.info @@ -1,10 +1,10 @@ PRGNAM="hostapd" -VERSION="0.5.11" +VERSION="0.6.10" HOMEPAGE="http://hostap.epitest.fi/hostapd/" -DOWNLOAD="http://hostap.epitest.fi/releases/hostapd-0.5.11.tar.gz" -MD5SUM="d99d3566d5f15dfd24df37fcb2ee80ee" +DOWNLOAD="http://hostap.epitest.fi/releases/hostapd-0.6.10.tar.gz" +MD5SUM="1ac442d1f984273f108b3de579c1b70d" DOWNLOAD_x86_64="" MD5SUM_x86_64="" MAINTAINER="Murat D. Kadirov" EMAIL="banderols@gmail.com" -APPROVED="rworkman" +APPROVED="dsomero" diff --git a/network/hostapd/slack-desc b/network/hostapd/slack-desc index 6007b43948..61fd1e1c40 100644 --- a/network/hostapd/slack-desc +++ b/network/hostapd/slack-desc @@ -6,7 +6,7 @@ # customary to leave one space after the ':'. |-----handy-ruler------------------------------------------------------| -hostapd: hostapd (Wifi Authenticator) +hostapd: hostapd (wifi authenticator) hostapd: hostapd: hostapd is a user space daemon for access point and authentication hostapd: servers. It implements IEEE 802.11 access point management, @@ -14,6 +14,6 @@ hostapd: IEEE 802.1X/WPA/WPA2/EAP Authenticators, RADIUS client, EAP server, hostapd: and RADIUS authentication server. The current version supports Linux hostapd: (Host AP, madwifi, Prism54 drivers) and FreeBSD (net80211). hostapd: -hostapd: +hostapd: Homepage: http://hostap.epitest.fi/hostapd/ hostapd: hostapd: -- cgit v1.2.3-80-g2a13