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/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/config b/network/hostapd/hostapd.defconfig similarity index 56% rename from network/hostapd/config rename to network/hostapd/hostapd.defconfig index d3b6ba0f2b..d5c73f2b1b 100644 --- a/network/hostapd/config +++ b/network/hostapd/hostapd.defconfig @@ -17,11 +17,28 @@ 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 +#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 @@ -64,6 +81,10 @@ 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 @@ -71,12 +92,30 @@ CONFIG_EAP_PAX=y CONFIG_EAP_PSK=y # EAP-SAKE for the integrated EAP server -CONFIG_EAP_SAKE=y +#CONFIG_EAP_SAKE=y # EAP-GPSK for the integrated EAP server -CONFIG_EAP_GPSK=y +#CONFIG_EAP_GPSK=y # Include support for optional SHA256 cipher suite in EAP-GPSK -CONFIG_EAP_GPSK_SHA256=y +#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) @@ -88,3 +127,18 @@ 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: