diff options
-rw-r--r-- | network/hostapd/README | 11 | ||||
-rw-r--r-- | network/hostapd/config | 90 | ||||
-rw-r--r-- | network/hostapd/doinst.sh | 15 | ||||
-rw-r--r-- | network/hostapd/hostapd.SlackBuild | 79 | ||||
-rw-r--r-- | network/hostapd/hostapd.info | 8 | ||||
-rw-r--r-- | network/hostapd/slack-desc | 19 |
6 files changed, 222 insertions, 0 deletions
diff --git a/network/hostapd/README b/network/hostapd/README new file mode 100644 index 0000000000..2493444bd7 --- /dev/null +++ b/network/hostapd/README @@ -0,0 +1,11 @@ +hostapd - IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator + +hostapd is a user space daemon for access point and authentication servers. +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 (by the submitter) 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 new file mode 100644 index 0000000000..d3b6ba0f2b --- /dev/null +++ b/network/hostapd/config @@ -0,0 +1,90 @@ +# 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/doinst.sh b/network/hostapd/doinst.sh new file mode 100644 index 0000000000..1c9c32c1c8 --- /dev/null +++ b/network/hostapd/doinst.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then + # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + diff --git a/network/hostapd/hostapd.SlackBuild b/network/hostapd/hostapd.SlackBuild new file mode 100644 index 0000000000..0f3c3e8ad9 --- /dev/null +++ b/network/hostapd/hostapd.SlackBuild @@ -0,0 +1,79 @@ +#!/bin/sh + +# Slackware build script for hostapd + +# Written by Murat D. Kadirov <banderols@gmail.com> + +PRGNAM=hostapd +VERSION=${VERSION:-0.5.10} +ARCH=${ARCH:-i486} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +cd $PRGNAM-$VERSION +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +cp $CWD/config $TMP/$PRGNAM-$VERSION/.config + +make + +mkdir -p \ + $PKG/usr/sbin/ \ + $PKG/etc/hostapd/ \ + $PKG/usr/man/man1 \ + $PKG/usr/man/man8/ +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 ; +do + cat $i > $PKG/etc/hostapd/$i.new ; + echo "config etc/hostapd/$i.new" >> $DOINST_TMP +done + +gzip -9c hostapd.8 > $PKG/usr/man/man8/hostapd.8.gz +gzip -9c hostapd_cli.1 > $PKG/usr/man/man1/hostapd_cli.1.gz +cp hostapd hostapd_cli $PKG/usr/sbin/ + +( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +) + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a COPYING ChangeLog README $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh $DOINST_TMP > $PKG/install/doinst.sh +rm -f $DOINST_TMP + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz diff --git a/network/hostapd/hostapd.info b/network/hostapd/hostapd.info new file mode 100644 index 0000000000..2cdf3479f3 --- /dev/null +++ b/network/hostapd/hostapd.info @@ -0,0 +1,8 @@ +PRGNAM="hostapd" +VERSION="0.5.10" +HOMEPAGE="http://hostap.epitest.fi/hostapd/" +DOWNLOAD="http://hostap.epitest.fi/releases/hostapd-0.5.10.tar.gz" +MD5SUM="ed669d96346dfc7d9f9fad079731853f" +MAINTAINER="Murat D. Kadirov" +EMAIL="banderols@gmail.com" +APPROVED="rworkman" diff --git a/network/hostapd/slack-desc b/network/hostapd/slack-desc new file mode 100644 index 0000000000..8df1313cd4 --- /dev/null +++ b/network/hostapd/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +hostapd: hostapd (Authenticator) +hostapd: +hostapd: hostapd is a user space daemon for access point and authentication +hostapd: servers. It implements IEEE 802.11 access point management, +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: +hostapd: |