diff --git a/srcpkgs/hostapd/files/config b/srcpkgs/hostapd/files/config new file mode 100644 index 0000000000..a11ebd5877 --- /dev/null +++ b/srcpkgs/hostapd/files/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/srcpkgs/hostapd/files/hostapd.service b/srcpkgs/hostapd/files/hostapd.service new file mode 100644 index 0000000000..f278bf7931 --- /dev/null +++ b/srcpkgs/hostapd/files/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 diff --git a/srcpkgs/hostapd/template b/srcpkgs/hostapd/template new file mode 100644 index 0000000000..98c492f6d7 --- /dev/null +++ b/srcpkgs/hostapd/template @@ -0,0 +1,46 @@ +# Template file for 'hostapd' +pkgname=hostapd +version=2.0 +revision=1 +build_wrksrc=${pkgname} +makedepends="pkg-config libnl3-devel openssl-devel" +short_desc="IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator" +maintainer="Juan RP " +license="GPL-2" +homepage="http://w1.fi/hostapd/" +distfiles="http://w1.fi/releases/${pkgname}-${version}.tar.gz" +checksum=262ce394b930bccc3d65fb99ee380f28d36444978f524c845a98e8e29f4e9d35 + +conf_files=" +/etc/hostapd/hostapd.conf +/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" + +do_build() { + cp -f ${FILESDIR}/config .config + sed -i 's#/etc/hostapd#/etc/hostapd/hostapd#' hostapd.conf + export CFLAGS="${CFLAGS} $(pkg-config --cflags libnl-3.0)" + make ${makejobs} +} + +do_install() { + vinstall ${FILESDIR}/hostapd.service 644 usr/lib/systemd/system + + vmkdir usr/bin + install -t ${DESTDIR}/usr/bin hostapd hostapd_cli + + vmkdir etc/hostapd + install -m644 -t ${DESTDIR}/etc/hostapd \ + hostapd.{accept,conf,deny,eap_user,radius_clients,sim_db,vlan,wpa_psk} \ + wired.conf hlr_auc_gw.milenage_db + + vinstall hostapd.8 644 usr/share/man/man8 + vinstall hostapd_cli.1 644 usr/share/man/man1 +}