summaryrefslogtreecommitdiff
path: root/network/hostapd
diff options
context:
space:
mode:
Diffstat (limited to 'network/hostapd')
-rw-r--r--network/hostapd/README11
-rw-r--r--network/hostapd/config90
-rw-r--r--network/hostapd/doinst.sh15
-rw-r--r--network/hostapd/hostapd.SlackBuild79
-rw-r--r--network/hostapd/hostapd.info8
-rw-r--r--network/hostapd/slack-desc19
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: