## SECTION=project_specific
config HOSTAPD
bool
prompt "hostapd"
help
FIXME
if HOSTAPD
config HOSTAPD_DRIVER_HOSTAP
bool
prompt "HOSTAP driver"
help
Driver interface for Host AP driver
config HOSTAPD_DRIVER_WIRED
bool
prompt "Wired driver"
help
Driver interface for wired authenticator
config HOSTAPD_DRIVER_NL80211
bool
prompt "NL80211 driver"
select LIBNL
help
Driver interface for drivers using the nl80211 kernel interface
config HOSTAPD_DRIVER_NONE
bool
prompt "no driver"
help
Driver interface for no driver (e.g., RADIUS server only)
config HOSTAPD_IAPP
bool
prompt "IEEE 802.11F/IAPP"
help
IEEE 802.11F/IAPP
config HOSTAPD_RSN_PREAUTH
bool
prompt "WPA2/IEEE 802.11i RSN pre-authentication"
help
WPA2/IEEE 802.11i RSN pre-authentication
config HOSTAPD_PEERKEY
bool
prompt "PeerKey handshake for Station to Station Link (IEEE 802.11e DLS)"
help
PeerKey handshake for Station to Station Link (IEEE 802.11e DLS)
config HOSTAPD_IEEE80211W
bool
prompt "IEEE 802.11w (management frame protection)"
help
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 HOSTAPD_EAP
bool
prompt "Integrated EAP server"
help
Integrated EAP server
config HOSTAPD_EAP_MD5
bool
prompt "EAP-MD5 for the integrated EAP server"
help
EAP-MD5 for the integrated EAP server
config HOSTAPD_EAP_TLS
bool
prompt "EAP-TLS for the integrated EAP server"
help
EAP-TLS for the integrated EAP server
config HOSTAPD_EAP_MSCHAPV2
bool
prompt "EAP-MSCHAPv2 for the integrated EAP server"
help
EAP-MSCHAPv2 for the integrated EAP server
config HOSTAPD_EAP_PEAP
bool
prompt "EAP-PEAP for the integrated EAP server"
help
EAP-PEAP for the integrated EAP server
config HOSTAPD_EAP_GTC
bool
prompt "EAP-GTC for the integrated EAP server"
help
EAP-GTC for the integrated EAP server
config HOSTAPD_EAP_TTLS
bool
prompt "EAP-TTLS for the integrated EAP server"
help
EAP-TTLS for the integrated EAP server
config HOSTAPD_EAP_SIM
bool
prompt "EAP-SIM for the integrated EAP server"
help
EAP-SIM for the integrated EAP server
config HOSTAPD_EAP_AKA
bool
prompt "EAP-AKA for the integrated EAP server"
help
EAP-AKA for the integrated EAP server
config HOSTAPD_EAP_AKA_PRIME
bool
prompt "EAP-AKA' (AKA-Prime)"
help
EAP-AKA' (AKA-Prime) for the integrated EAP server
This requires CONFIG_EAP_AKA to be enabled, too.
config HOSTAPD_EAP_PAX
bool
prompt "EAP-PAX for the integrated EAP server"
help
EAP-PAX for the integrated EAP server
config HOSTAPD_EAP_PSK
bool
prompt "EAP-PSK for the integrated EAP server"
help
EAP-PSK for the integrated EAP server (this is _not_ needed for WPA-PSK)
config HOSTAPD_EAP_PWD
bool
prompt "EAP-pwd for the integrated EAP server"
help
EAP-pwd for the integrated EAP server (secure authentication with a password)
config HOSTAPD_EAP_SAKE
bool
prompt "EAP-SAKE for the integrated EAP server"
help
EAP-SAKE for the integrated EAP server
config HOSTAPD_EAP_GPSK
bool
prompt "EAP-GPSK for the integrated EAP server"
help
EAP-GPSK for the integrated EAP server
config HOSTAPD_EAP_GPSK_SHA256
bool
prompt "Include support for optional SHA256 cipher suite in EAP-GPSK"
help
Include support for optional SHA256 cipher suite in EAP-GPSK
config HOSTAPD_EAP_FAST
bool
prompt "EAP-FAST for the integrated EAP server"
help
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 HOSTAPD_WPS
bool
prompt "Wi-Fi Protected Setup (WPS)"
help
Wi-Fi Protected Setup (WPS)
config HOSTAPD_WPS2
bool
prompt "Enable WSC 2.0 support"
help
Enable WSC 2.0 support
config HOSTAPD_WPS_UPNP
bool
prompt "Enable UPnP support for external WPS Registrars"
help
Enable UPnP support for external WPS Registrars
config HOSTAPD_WPS_NFC
bool
prompt "Enable WPS support with NFC config method"
help
Enable WPS support with NFC config method
config HOSTAPD_EAP_IKEV2
bool
prompt "EAP-IKEv2"
help
EAP-IKEv2
config HOSTAPD_EAP_TNC
bool
prompt "Trusted Network Connect (EAP-TNC)"
help
Trusted Network Connect (EAP-TNC)
config HOSTAPD_PKCS12
bool
prompt "PKCS#12 (PFX) support"
help
PKCS#12 (PFX) support (used to read private key and certificate file from
a file that usually has extension .p12 or .pfx)
config HOSTAPD_RADIUS_SERVER
bool
prompt "RADIUS authentication server"
help
RADIUS authentication server. This provides access to the integrated EAP
server from external hosts using RADIUS.
config HOSTAPD_IPV6
bool
prompt "Build IPv6 support for RADIUS operations"
help
Build IPv6 support for RADIUS operations
config HOSTAPD_IEEE80211R
bool
prompt "IEEE Std 802.11r-2008 (Fast BSS Transition)"
help
IEEE Std 802.11r-2008 (Fast BSS Transition)
config HOSTAPD_DRIVER_RADIUS_ACL
bool
prompt "Hostapd's IEEE 802.11 authentication (ACL)"
help
Use the hostapd's IEEE 802.11 authentication (ACL), but without
the IEEE 802.11 Management capability (e.g., madwifi or FreeBSD/net80211)
config HOSTAPD_IEEE80211N
bool
prompt "IEEE 802.11n (High Throughput) support"
help
IEEE 802.11n (High Throughput) support
config HOSTAPD_WNM
bool
prompt "Wireless Network Management (IEEE Std 802.11v-2011) (EXPERIMENTAL)"
help
Wireless Network Management (IEEE Std 802.11v-2011)
Note: This is experimental and not complete implementation.
config HOSTAPD_IEEE80211AC
bool
prompt "IEEE 802.11ac (Very High Throughput) support"
help
IEEE 802.11ac (Very High Throughput) support
config HOSTAPD_NO_STDOUT_DEBUG
bool
prompt "Remove stdout debugging code"
help
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 HOSTAPD_DEBUG_FILE
bool
prompt "Log file support"
help
Add support for writing debug log to a file: -f /tmp/hostapd.log
Disabled by default.
config HOSTAPD_NO_ACCOUNTING
bool
prompt "Remove support for RADIUS accounting"
help
Remove support for RADIUS accounting
config HOSTAPD_NO_RADIUS
bool
prompt "Remove support for RADIUS"
help
Remove support for RADIUS
config HOSTAPD_NO_VLAN
bool
prompt "Remove support for VLANs"
help
Remove support for VLANs
config HOSTAPD_FULL_DYNAMIC_VLAN
bool
prompt "Fully dynamic VLAN support"
help
Enable support for fully dynamic VLANs. This enables hostapd to
automatically create bridge and VLAN interfaces if necessary.
config HOSTAPD_VLAN_NETLINK
bool
prompt "netlink-based kernel API for VLAN operations"
help
Use netlink-based kernel API for VLAN operations instead of ioctl()
Note: This requires libnl 3.1 or newer.
config HOSTAPD_NO_DUMP_STATE
bool
prompt "Remove SIGUSR1 state dump support"
help
Remove support for dumping state into a file on SIGUSR1 signal
This can be used to reduce binary size at the cost of disabling a debugging
option.
config HOSTAPD_WPA_TRACE
bool
prompt "Enable tracing code for developer debugging"
help
Enable tracing code for developer debugging
This tracks use of memory allocations and other registrations and reports
incorrect use with a backtrace of call (or allocation) location.
config HOSTAPD_NO_RANDOM_POOL
bool
prompt "Disabled hostapd's internal random pool"
help
hostapd depends on strong random number generation being available from the
operating system. os_get_random() function is used to fetch random data when
needed, e.g., for key generation. On Linux and BSD systems, this works by
reading /dev/urandom. It should be noted that the OS entropy pool needs to be
properly initialized before hostapd is started. This is important especially
on embedded devices that do not have a hardware random number generator and
may by default start up with minimal entropy available for random number
generation.
As a safety net, hostapd is by default trying to internally collect
additional entropy for generating random data to mix in with the data
fetched from the OS. This by itself is not considered to be very strong, but
it may help in cases where the system pool is not initialized properly.
However, it is very strongly recommended that the system pool is initialized
with enough entropy either by using hardware assisted random number
generator or by storing state over device reboots.
hostapd can be configured to maintain its own entropy store over restarts to
enhance random number generation. This is not perfect, but it is much more
secure than using the same sequence of random numbers after every reboot.
This can be enabled with -e<entropy file> command line option. The specified
file needs to be readable and writable by hostapd.
If the os_get_random() is known to provide strong random data (e.g., on
Linux/BSD, the board in question is known to have reliable source of random
data from /dev/urandom), the internal hostapd random pool can be disabled.
This will save some in binary size and CPU use. However, this should only be
considered for builds that are known to be used on devices that meet the
requirements described above.
#config HOSTAPD_TLS
#string
#prompt "Select TLS implementation"
#default "openssl"
#help
# Select TLS implementation
# openssl = OpenSSL (default)
# gnutls = GnuTLS
#internal = Internal TLSv1 implementation (experimental)
# none = Empty template
config HOSTAPD_TLSV11
bool
prompt "TLS v1.1"
help
TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.1)
can be enabled to get a stronger construction of messages when block ciphers
are used.
config HOSTAPD_TLSV12
bool
prompt "TLS v1.2"
help
TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.2)
can be enabled to enable use of stronger crypto algorithms.
config HOSTAPD_INTERNAL_LIBTOMMATH_FAST
bool
prompt "Internal LibTomMath"
help
At the cost of about 4 kB of additional binary size, the internal LibTomMath
can be configured to include faster routines for exptmod, sqr, and div to
speed up DH and RSA calculation considerably
config HOSTAPD_INTERWORKING
bool
prompt "Interworking (IEEE 802.11u)"
help
Interworking (IEEE 802.11u)
This can be used to enable functionality to improve interworking with
external networks.
config HOSTAPD_HS20
bool
prompt "Hotspot 2.0"
help
Hotspot 2.0
config HOSTAPD_SQLITE
bool
prompt "SQLite database support"
help
Enable SQLite database support in hlr_auc_gw, EAP-SIM DB, and eap_user_file
endif
hostapd.make:
# -*-makefile-*-
#
#
# See CREDITS for details about who has contributed to this project.
#
# For further information about the PTXdist project and license conditions
# see the README file.
#
#
# We provide this package
#
PACKAGES-$(PTXCONF_HOSTAPD) += hostapd
#
# Paths and names
#
HOSTAPD_NAME := hostapd
HOSTAPD_VERSION := 2.0
HOSTAPD_MD5 := ba22e639bc57aa4035d2ea8ffa9bbbee
HOSTAPD := $(HOSTAPD_NAME)-$(HOSTAPD_VERSION)
HOSTAPD_SUFFIX := tar.gz
HOSTAPD_SOURCE := $(SRCDIR)/$(HOSTAPD).$(HOSTAPD_SUFFIX)
HOSTAPD_DIR := $(BUILDDIR)/$(HOSTAPD)
HOSTAPD_SUBDIR := $(HOSTAPD_NAME)
HOSTAPD_CONFIG := $(BUILDDIR)/$(HOSTAPD)/$(HOSTAPD_SUBDIR)/.config
HOSTAPD_LICENSE := BSD
# ----------------------------------------------------------------------------
# Prepare
# ----------------------------------------------------------------------------
HOSTAPD_PATH := PATH=$(CROSS_PATH)
#HOSTAPD_CONF_TOOL := NO
HOSTAPD_MAKE_ENV := \
$(CROSS_ENV) \
LIBDIR=/lib \
BINDIR=/sbin
$(STATEDIR)/hostapd.prepare:
@$(call targetinfo)
# # run 'make clean' as hostapd's build system does not recognize config changes
@-cd $(HOSTAPD_DIR)/$(HOSTAPD_SUBDIR) && \
$(HOSTAPD_MAKE_ENV) $(HOSTAPD_PATH) $(MAKE) clean
@echo "CC=$(CROSS_CC)" > $(HOSTAPD_CONFIG) && \
echo "CFLAGS += -I$(PTXDIST_SYSROOT_TARGET)/include" >> $(HOSTAPD_CONFIG) && \
echo "CFLAGS += -I$(PTXDIST_SYSROOT_TARGET)/usr/include" >> $(HOSTAPD_CONFIG) && \
echo "LDFLAGS += -L$(PTXDIST_SYSROOT_TARGET)/lib" >> $(HOSTAPD_CONFIG) && \
echo "LDFLAGS += -L$(PTXDIST_SYSROOT_TARGET)/usr/lib" >> $(HOSTAPD_CONFIG)
@grep -e PTXCONF_HOSTAPD_ $(PTXDIST_PTXCONFIG) | \
sed -e 's/PTXCONF_HOSTAPD_/CONFIG_/g' -e 's/\"//g' >> $(HOSTAPD_CONFIG)
@$(call touch)
# ----------------------------------------------------------------------------
# Target-Install
# ----------------------------------------------------------------------------
$(STATEDIR)/hostapd.targetinstall:
@$(call targetinfo)
@$(call install_init, hostapd)
@$(call install_fixup, hostapd,PRIORITY,optional)
@$(call install_fixup, hostapd,SECTION,base)
@$(call install_fixup, hostapd,DESCRIPTION,missing)
@$(call install_copy, hostapd, 0, 0, 0755, $(HOSTAPD_DIR)/$(HOSTAPD_SUBDIR)/hostapd, /usr/bin/hostapd)
@$(call install_finish, hostapd)
@$(call touch)
# ----------------------------------------------------------------------------
# Clean
# ----------------------------------------------------------------------------
$(STATEDIR)/hostapd.clean:
@$(call targetinfo)
@-cd $(HOSTAPD_DIR) && \
$(HOSTAPD_ENV) $(HOSTAPD_PATH) $(MAKE) clean
@$(call clean_pkg, HOSTAPD)
# vim: syntax=make