From c16b465b39c8501229a33f84d7a845a4e306cc8d Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sun, 2 Sep 2012 14:53:34 +0000 Subject: [PATCH] hostapd: Update to 1.0. Moves hostapd to /usr/sbin and removes -dd from the command line. --- hostapd/config | 145 ------------------------------- hostapd/hostapd.nm | 37 ++++++-- hostapd/systemd/hostapd@.service | 14 +-- 3 files changed, 33 insertions(+), 163 deletions(-) delete mode 100644 hostapd/config diff --git a/hostapd/config b/hostapd/config deleted file mode 100644 index 783f325a3..000000000 --- a/hostapd/config +++ /dev/null @@ -1,145 +0,0 @@ -# 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../../madwifi # change to the madwifi source directory - -# Driver interface for Prism54 driver -CONFIG_DRIVER_PRISM54=y - -# Driver interface for drivers using the nl80211 kernel interface -CONFIG_DRIVER_NL80211=y -# driver_nl80211.c requires a rather new libnl (version 1.1) which may not be -# shipped with your distribution yet. If that is the case, you need to build -# newer libnl version and point the hostapd build to use it. -LIBNL=/usr/src/libnl -CFLAGS += -I$(LIBNL)/include -LIBS += -L$(LIBNL)/lib - -# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver) -#CONFIG_DRIVER_BSD=y -#CFLAGS += -I/usr/local/include -#LIBS += -L/usr/local/lib - -# Driver interface for no driver (e.g., RADIUS server only) -#CONFIG_DRIVER_NONE=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-AKA' for the integrated EAP server -# This requires CONFIG_EAP_AKA to be enabled, too. -#CONFIG_EAP_AKA_PRIME=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 - -# EAP-FAST for the integrated EAP server -# Note: Default OpenSSL package does not include support for all the -# functionality needed for EAP-FAST. If EAP-FAST is enabled with OpenSSL, -# the OpenSSL library must be patched (openssl-0.9.9-session-ticket.patch) -# to add the needed functions. -#CONFIG_EAP_FAST=y - -# Wi-Fi Protected Setup (WPS) -CONFIG_WPS=y -# Enable UPnP support for external WPS Registrars -CONFIG_WPS_UPNP=y - -# EAP-IKEv2 -CONFIG_EAP_IKEV2=y - -# Trusted Network Connect (EAP-TNC) -CONFIG_EAP_TNC=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 - -# IEEE Std 802.11r-2008 (Fast BSS Transition) -CONFIG_IEEE80211R=y - -# Use the hostapd's IEEE 802.11 authentication (ACL), but without -# the IEEE 802.11 Management capability (e.g., madwifi or FreeBSD/net80211) -#CONFIG_DRIVER_RADIUS_ACL=y - -# IEEE 802.11n (High Throughput) support -CONFIG_IEEE80211N=y - -# Remove debugging code that is printing out debug messages to stdout. -# This can be used to reduce the size of the hostapd considerably if debugging -# code is not needed. -CONFIG_NO_STDOUT_DEBUG=n - diff --git a/hostapd/hostapd.nm b/hostapd/hostapd.nm index a5de902d8..359add55a 100644 --- a/hostapd/hostapd.nm +++ b/hostapd/hostapd.nm @@ -4,8 +4,8 @@ ############################################################################### name = hostapd -version = 0.7.3 -release = 2 +version = 1.0 +release = 1 groups = Networking/Tools url = http://hostap.epitest.fi/hostapd/ @@ -29,8 +29,12 @@ build prepare_cmds cd hostapd - cp -vf %{DIR_SOURCE}/config .config - sed -e "s@/usr/local@%{BUILDROOT}/usr@g" -i Makefile + + # Create our custom configuration. + cat defconfig > .config + sed -i .config \ + -e "/^#CONFIG_IEEE80211N=y/s/^#//" \ + -e "/^#CONFIG_RADIUS_SERVER=y/s/^#//" end build @@ -39,13 +43,34 @@ build end install - mkdir -pv %{BUILDROOT}/usr/bin - cd hostapd && make install + cd hostapd + + # Install binaries. + mkdir -pv %{BUILDROOT}%{bindir} %{BUILDROOT}%{sbindir} + install -m 755 hostapd %{BUILDROOT}%{sbindir} + install -m 755 hostapd_cli %{BUILDROOT}%{bindir} + + # Install manpages. + mkdir -pv %{BUILDROOT}%{mandir}/man{1,8} + install -m 644 hostapd.8 %{BUILDROOT}%{mandir}/man8 + install -m 644 hostapd_cli.1 %{BUILDROOT}%{mandir}/man1 end end packages package %{name} + script postin + systemctl daemon-reload >/dev/null 2>&1 || : + end + + script postup + systemctl daemon-reload >/dev/null 2>&1 || : + end + + script postun + systemctl daemon-reload >/dev/null 2>&1 || : + end + end package %{name}-debuginfo template DEBUGINFO diff --git a/hostapd/systemd/hostapd@.service b/hostapd/systemd/hostapd@.service index 748cb0ea5..0fbfab50b 100644 --- a/hostapd/systemd/hostapd@.service +++ b/hostapd/systemd/hostapd@.service @@ -1,17 +1,7 @@ -# This file is part of systemd. -# -# systemd is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. - [Unit] -Description=WLAN AP on %I -BindTo=dev-%I.device -After=dev-%I.device +Description=hostap daemon on %I [Service] -ExecStart=/usr/bin/hostapd -dd -P /run/network/hostapd/%I/pid /run/network/hostapd/%I/config -#Restart=always +ExecStart=/usr/sbin/hostapd -P /run/network/hostapd/%I/pid /run/network/hostapd/%I/config UtmpIdentifier=%I KillMode=process -- 2.39.5