diff options
Diffstat (limited to 'community/hostapd')
-rw-r--r-- | community/hostapd/PKGBUILD | 63 | ||||
-rw-r--r-- | community/hostapd/config | 92 | ||||
-rw-r--r-- | community/hostapd/hostapd.install | 7 | ||||
-rw-r--r-- | community/hostapd/hostapd.service | 11 |
4 files changed, 173 insertions, 0 deletions
diff --git a/community/hostapd/PKGBUILD b/community/hostapd/PKGBUILD new file mode 100644 index 000000000..3b6f2eb3d --- /dev/null +++ b/community/hostapd/PKGBUILD @@ -0,0 +1,63 @@ +# $Id: PKGBUILD 90673 2013-05-13 14:26:11Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> + +pkgname=hostapd +pkgver=2.0 +pkgrel=6 +pkgdesc="IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator" +arch=('i686' 'x86_64') +url="http://w1.fi/hostapd/" +license=('custom') +depends=('openssl' 'libnl') +backup=('etc/hostapd/hostapd.conf' + 'etc/conf.d/hostapd' + 'etc/hostapd/hlr_auc_gw.milenage_db' + 'etc/hostapd/hostapd.accept' + 'etc/hostapd/hostapd.deny' + 'etc/hostapd/hostapd.eap_user' + 'etc/hostapd/hostapd.radius_clients' + 'etc/hostapd/hostapd.sim_db' + 'etc/hostapd/hostapd.vlan' + 'etc/hostapd/hostapd.wpa_psk' + 'etc/hostapd/wired.conf') +install=hostapd.install +source=(http://w1.fi/releases/$pkgname-$pkgver.tar.gz + config + hostapd.service) +md5sums=('ba22e639bc57aa4035d2ea8ffa9bbbee' + '5d7ee10b04e33f22c37be56a4c33dddb' + 'a0a16879eed5e4e41ae6b225a4809955') + +build() { + cd $pkgname-$pkgver/hostapd + cp ../../config .config + sed -i 's#/etc/hostapd#/etc/hostapd/hostapd#' hostapd.conf + export CFLAGS="$CFLAGS $(pkg-config --cflags libnl-3.0)" + make +} + +package() { + # Systemd unit + install -Dm644 hostapd.service "$pkgdir/usr/lib/systemd/system/hostapd.service" + + cd $pkgname-$pkgver + + # License + install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" + + cd hostapd + + # Binaries + install -d "$pkgdir/usr/bin" + install -t "$pkgdir/usr/bin" hostapd hostapd_cli + + # Configuration + install -d "$pkgdir/etc/hostapd" + install -m644 -t "$pkgdir/etc/hostapd" \ + hostapd.{accept,conf,deny,eap_user,radius_clients,sim_db,vlan,wpa_psk} \ + wired.conf hlr_auc_gw.milenage_db + + # Man pages + install -Dm644 hostapd.8 "$pkgdir/usr/share/man/man8/hostapd.8" + install -Dm644 hostapd_cli.1 "$pkgdir/usr/share/man/man1/hostapd_cli.1" +} diff --git a/community/hostapd/config b/community/hostapd/config new file mode 100644 index 000000000..a11ebd587 --- /dev/null +++ b/community/hostapd/config @@ -0,0 +1,92 @@ +# 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 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 + +CONFIG_DRIVER_NL80211=y + +CONFIG_IEEE80211N=y + +CONFIG_LIBNL32=y diff --git a/community/hostapd/hostapd.install b/community/hostapd/hostapd.install new file mode 100644 index 000000000..d838c6a47 --- /dev/null +++ b/community/hostapd/hostapd.install @@ -0,0 +1,7 @@ +post_install() { + echo "> More info: https://wiki.archlinux.org/index.php/Software_Access_Point" +} + +post_upgrade() { + post_install +} diff --git a/community/hostapd/hostapd.service b/community/hostapd/hostapd.service new file mode 100644 index 000000000..f278bf793 --- /dev/null +++ b/community/hostapd/hostapd.service @@ -0,0 +1,11 @@ +[Unit] +Description=Hostapd IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator +After=network.target + +[Service] +Type=forking +PIDFile=/run/hostapd.pid +ExecStart=/usr/bin/hostapd /etc/hostapd/hostapd.conf -P /run/hostapd.pid -B + +[Install] +WantedBy=multi-user.target |