summaryrefslogtreecommitdiff
path: root/community/hostapd
diff options
context:
space:
mode:
Diffstat (limited to 'community/hostapd')
-rw-r--r--community/hostapd/PKGBUILD63
-rw-r--r--community/hostapd/config92
-rw-r--r--community/hostapd/hostapd.install7
-rw-r--r--community/hostapd/hostapd.service11
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