1c1d255d3SCy Schubert# Example hostapd build time configuration 2c1d255d3SCy Schubert# 3c1d255d3SCy Schubert# This file lists the configuration options that are used when building the 4c1d255d3SCy Schubert# hostapd binary. All lines starting with # are ignored. Configuration option 5c1d255d3SCy Schubert# lines must be commented out complete, if they are not to be included, i.e., 6c1d255d3SCy Schubert# just setting VARIABLE=n is not disabling that variable. 7c1d255d3SCy Schubert# 8c1d255d3SCy Schubert# This file is included in Makefile, so variables like CFLAGS and LIBS can also 9c1d255d3SCy Schubert# be modified from here. In most cass, these lines should use += in order not 10c1d255d3SCy Schubert# to override previous values of the variables. 11c1d255d3SCy Schubert 12c1d255d3SCy Schubert# Driver interface for Host AP driver 13c1d255d3SCy Schubert#CONFIG_DRIVER_HOSTAP=y 14c1d255d3SCy Schubert 15c1d255d3SCy Schubert# Driver interface for wired authenticator 16c1d255d3SCy Schubert#CONFIG_DRIVER_WIRED=y 17c1d255d3SCy Schubert 18c1d255d3SCy Schubert# Driver interface for drivers using the nl80211 kernel interface 19c1d255d3SCy Schubert#CONFIG_DRIVER_NL80211=y 20c1d255d3SCy Schubert# driver_nl80211.c requires a rather new libnl (version 1.1) which may not be 21c1d255d3SCy Schubert# shipped with your distribution yet. If that is the case, you need to build 22c1d255d3SCy Schubert# newer libnl version and point the hostapd build to use it. 23c1d255d3SCy Schubert#LIBNL=/usr/src/libnl 24c1d255d3SCy Schubert#CFLAGS += -I$(LIBNL)/include 25c1d255d3SCy Schubert#LIBS += -L$(LIBNL)/lib 26c1d255d3SCy SchubertCONFIG_LIBNL20=y 27c1d255d3SCy Schubert 28c1d255d3SCy Schubert# QCA vendor extensions to nl80211 29c1d255d3SCy SchubertCONFIG_DRIVER_NL80211_QCA=y 30c1d255d3SCy Schubert 31c1d255d3SCy Schubert# Broadcom vendor extensions to nl80211 32c1d255d3SCy Schubert#CONFIG_DRIVER_NL80211_BRCM=y 33c1d255d3SCy Schubert 34c1d255d3SCy Schubert# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver) 35c1d255d3SCy Schubert#CONFIG_DRIVER_BSD=y 36c1d255d3SCy Schubert#CFLAGS += -I/usr/local/include 37c1d255d3SCy Schubert#LIBS += -L/usr/local/lib 38c1d255d3SCy Schubert#LIBS_p += -L/usr/local/lib 39c1d255d3SCy Schubert#LIBS_c += -L/usr/local/lib 40c1d255d3SCy Schubert 41c1d255d3SCy Schubert# Driver interface for no driver (e.g., RADIUS server only) 42c1d255d3SCy Schubert#CONFIG_DRIVER_NONE=y 43c1d255d3SCy Schubert 44c1d255d3SCy Schubert# WPA2/IEEE 802.11i RSN pre-authentication 45c1d255d3SCy Schubert#CONFIG_RSN_PREAUTH=y 46c1d255d3SCy Schubert 47c1d255d3SCy Schubert# Support Operating Channel Validation 48c1d255d3SCy Schubert#CONFIG_OCV=y 49c1d255d3SCy Schubert 50c1d255d3SCy Schubert# Integrated EAP server 51c1d255d3SCy Schubert#CONFIG_EAP=y 52c1d255d3SCy Schubert 53c1d255d3SCy Schubert# EAP-MD5 for the integrated EAP server 54c1d255d3SCy Schubert#CONFIG_EAP_MD5=y 55c1d255d3SCy Schubert 56c1d255d3SCy Schubert# EAP-TLS for the integrated EAP server 57c1d255d3SCy Schubert#CONFIG_EAP_TLS=y 58c1d255d3SCy Schubert 59c1d255d3SCy Schubert# EAP-MSCHAPv2 for the integrated EAP server 60c1d255d3SCy Schubert#CONFIG_EAP_MSCHAPV2=y 61c1d255d3SCy Schubert 62c1d255d3SCy Schubert# EAP-PEAP for the integrated EAP server 63c1d255d3SCy Schubert#CONFIG_EAP_PEAP=y 64c1d255d3SCy Schubert 65c1d255d3SCy Schubert# EAP-GTC for the integrated EAP server 66c1d255d3SCy Schubert#CONFIG_EAP_GTC=y 67c1d255d3SCy Schubert 68c1d255d3SCy Schubert# EAP-TTLS for the integrated EAP server 69c1d255d3SCy Schubert#CONFIG_EAP_TTLS=y 70c1d255d3SCy Schubert 71c1d255d3SCy Schubert# EAP-SIM for the integrated EAP server 72c1d255d3SCy Schubert#CONFIG_EAP_SIM=y 73c1d255d3SCy Schubert 74c1d255d3SCy Schubert# EAP-AKA for the integrated EAP server 75c1d255d3SCy Schubert#CONFIG_EAP_AKA=y 76c1d255d3SCy Schubert 77c1d255d3SCy Schubert# EAP-AKA' for the integrated EAP server 78c1d255d3SCy Schubert# This requires CONFIG_EAP_AKA to be enabled, too. 79c1d255d3SCy Schubert#CONFIG_EAP_AKA_PRIME=y 80c1d255d3SCy Schubert 81c1d255d3SCy Schubert# EAP-PAX for the integrated EAP server 82c1d255d3SCy Schubert#CONFIG_EAP_PAX=y 83c1d255d3SCy Schubert 84c1d255d3SCy Schubert# EAP-PSK for the integrated EAP server (this is _not_ needed for WPA-PSK) 85c1d255d3SCy Schubert#CONFIG_EAP_PSK=y 86c1d255d3SCy Schubert 87c1d255d3SCy Schubert# EAP-SAKE for the integrated EAP server 88c1d255d3SCy Schubert#CONFIG_EAP_SAKE=y 89c1d255d3SCy Schubert 90c1d255d3SCy Schubert# EAP-GPSK for the integrated EAP server 91c1d255d3SCy Schubert#CONFIG_EAP_GPSK=y 92c1d255d3SCy Schubert# Include support for optional SHA256 cipher suite in EAP-GPSK 93c1d255d3SCy Schubert#CONFIG_EAP_GPSK_SHA256=y 94c1d255d3SCy Schubert 95c1d255d3SCy Schubert# EAP-FAST for the integrated EAP server 96c1d255d3SCy Schubert# Note: Default OpenSSL package does not include support for all the 97c1d255d3SCy Schubert# functionality needed for EAP-FAST. If EAP-FAST is enabled with OpenSSL, 98c1d255d3SCy Schubert# the OpenSSL library must be patched (openssl-0.9.9-session-ticket.patch) 99c1d255d3SCy Schubert# to add the needed functions. 100c1d255d3SCy Schubert#CONFIG_EAP_FAST=y 101c1d255d3SCy Schubert 102c1d255d3SCy Schubert# Wi-Fi Protected Setup (WPS) 103c1d255d3SCy SchubertCONFIG_WPS=y 104c1d255d3SCy Schubert# Enable UPnP support for external WPS Registrars 105c1d255d3SCy Schubert#CONFIG_WPS_UPNP=y 106c1d255d3SCy Schubert 107c1d255d3SCy Schubert# EAP-IKEv2 108c1d255d3SCy Schubert#CONFIG_EAP_IKEV2=y 109c1d255d3SCy Schubert 110c1d255d3SCy Schubert# Trusted Network Connect (EAP-TNC) 111c1d255d3SCy Schubert#CONFIG_EAP_TNC=y 112c1d255d3SCy Schubert 113c1d255d3SCy Schubert# PKCS#12 (PFX) support (used to read private key and certificate file from 114c1d255d3SCy Schubert# a file that usually has extension .p12 or .pfx) 115c1d255d3SCy SchubertCONFIG_PKCS12=y 116c1d255d3SCy Schubert 117c1d255d3SCy Schubert# RADIUS authentication server. This provides access to the integrated EAP 118c1d255d3SCy Schubert# server from external hosts using RADIUS. 119c1d255d3SCy Schubert#CONFIG_RADIUS_SERVER=y 120c1d255d3SCy Schubert 121c1d255d3SCy Schubert# Build IPv6 support for RADIUS operations 122c1d255d3SCy SchubertCONFIG_IPV6=y 123c1d255d3SCy Schubert 124*a90b9d01SCy Schubert# Include support fo RADIUS/TLS into the RADIUS client 125*a90b9d01SCy Schubert#CONFIG_RADIUS_TLS=y 126*a90b9d01SCy Schubert 127c1d255d3SCy Schubert# IEEE Std 802.11r-2008 (Fast BSS Transition) 128c1d255d3SCy Schubert#CONFIG_IEEE80211R=y 129c1d255d3SCy Schubert 130c1d255d3SCy Schubert# Use the hostapd's IEEE 802.11 authentication (ACL), but without 131c1d255d3SCy Schubert# the IEEE 802.11 Management capability (e.g., FreeBSD/net80211) 132c1d255d3SCy Schubert#CONFIG_DRIVER_RADIUS_ACL=y 133c1d255d3SCy Schubert 134c1d255d3SCy Schubert# Remove debugging code that is printing out debug messages to stdout. 135c1d255d3SCy Schubert# This can be used to reduce the size of the hostapd considerably if debugging 136c1d255d3SCy Schubert# code is not needed. 137c1d255d3SCy Schubert#CONFIG_NO_STDOUT_DEBUG=y 138c1d255d3SCy Schubert 139c1d255d3SCy Schubert# Add support for writing debug log to Android logcat instead of standard output 140c1d255d3SCy SchubertCONFIG_ANDROID_LOG=y 141c1d255d3SCy Schubert 142c1d255d3SCy Schubert# Remove support for RADIUS accounting 143c1d255d3SCy Schubert#CONFIG_NO_ACCOUNTING=y 144c1d255d3SCy Schubert 145c1d255d3SCy Schubert# Remove support for RADIUS 146c1d255d3SCy SchubertCONFIG_NO_RADIUS=y 147c1d255d3SCy Schubert 148c1d255d3SCy Schubert# Remove support for VLANs 149c1d255d3SCy Schubert#CONFIG_NO_VLAN=y 150c1d255d3SCy Schubert 151c1d255d3SCy Schubert# Remove support for dumping internal state through control interface commands 152c1d255d3SCy Schubert# This can be used to reduce binary size at the cost of disabling a debugging 153c1d255d3SCy Schubert# option. 154c1d255d3SCy Schubert#CONFIG_NO_DUMP_STATE=y 155c1d255d3SCy Schubert 156c1d255d3SCy Schubert# Select wrapper for operatins system and C library specific functions 157c1d255d3SCy Schubert# unix = UNIX/POSIX like systems (default) 158c1d255d3SCy Schubert# win32 = Windows systems 159c1d255d3SCy Schubert# none = Empty template 160c1d255d3SCy SchubertCONFIG_OS=unix 161c1d255d3SCy Schubert 162c1d255d3SCy Schubert# Enable tracing code for developer debugging 163c1d255d3SCy Schubert# This tracks use of memory allocations and other registrations and reports 164c1d255d3SCy Schubert# incorrect use with a backtrace of call (or allocation) location. 165c1d255d3SCy Schubert#CONFIG_WPA_TRACE=y 166c1d255d3SCy Schubert# For BSD, comment out these. 167c1d255d3SCy Schubert#LIBS += -lexecinfo 168c1d255d3SCy Schubert#LIBS_p += -lexecinfo 169c1d255d3SCy Schubert#LIBS_c += -lexecinfo 170c1d255d3SCy Schubert 171c1d255d3SCy Schubert# Use libbfd to get more details for developer debugging 172c1d255d3SCy Schubert# This enables use of libbfd to get more detailed symbols for the backtraces 173c1d255d3SCy Schubert# generated by CONFIG_WPA_TRACE=y. 174c1d255d3SCy Schubert#CONFIG_WPA_TRACE_BFD=y 175c1d255d3SCy Schubert# For BSD, comment out these. 176c1d255d3SCy Schubert#LIBS += -lbfd -liberty -lz 177c1d255d3SCy Schubert#LIBS_p += -lbfd -liberty -lz 178c1d255d3SCy Schubert#LIBS_c += -lbfd -liberty -lz 179c1d255d3SCy Schubert 180c1d255d3SCy Schubert# Should we use poll instead of select? Select is used by default. 181c1d255d3SCy Schubert#CONFIG_ELOOP_POLL=y 182c1d255d3SCy Schubert 183c1d255d3SCy Schubert# Should we use epoll instead of select? Select is used by default. 184c1d255d3SCy Schubert#CONFIG_ELOOP_EPOLL=y 185c1d255d3SCy Schubert 186c1d255d3SCy Schubert# Enable AP 187c1d255d3SCy SchubertCONFIG_AP=y 188c1d255d3SCy Schubert 189c1d255d3SCy Schubert# Enable Fast Session Transfer (FST) 190c1d255d3SCy Schubert#CONFIG_FST=y 191c1d255d3SCy Schubert 192c1d255d3SCy Schubert# Multiband Operation support 193c1d255d3SCy Schubert# These extensions facilitate efficient use of multiple frequency bands 194c1d255d3SCy Schubert# available to the AP and the devices that may associate with it. 195c1d255d3SCy Schubert#CONFIG_MBO=y 196c1d255d3SCy Schubert 197c1d255d3SCy Schubert# Include internal line edit mode in hostapd_cli. 198c1d255d3SCy SchubertCONFIG_WPA_CLI_EDIT=y 199c1d255d3SCy Schubert 200c1d255d3SCy Schubert# Opportunistic Wireless Encryption (OWE) 201c1d255d3SCy Schubert# Experimental implementation of draft-harkins-owe-07.txt 202c1d255d3SCy Schubert#CONFIG_OWE=y 203c1d255d3SCy Schubert 204c1d255d3SCy Schubert# Wpa_supplicant's random pool is not necessary on Android. Randomness is 205c1d255d3SCy Schubert# already provided by the entropymixer service which ensures sufficient 206c1d255d3SCy Schubert# entropy is maintained across reboots. Commit b410eb1913 'Initialize 207c1d255d3SCy Schubert# /dev/urandom earlier in boot' seeds /dev/urandom with that entropy before 208c1d255d3SCy Schubert# either wpa_supplicant or hostapd are run. 209c1d255d3SCy SchubertCONFIG_NO_RANDOM_POOL=y 210c1d255d3SCy Schubert 211c1d255d3SCy Schubert# Wired equivalent privacy (WEP) 212c1d255d3SCy Schubert# WEP is an obsolete cryptographic data confidentiality algorithm that is not 213c1d255d3SCy Schubert# considered secure. It should not be used for anything anymore. The 214c1d255d3SCy Schubert# functionality needed to use WEP is available in the current hostapd 215c1d255d3SCy Schubert# release under this optional build parameter. This functionality is subject to 216c1d255d3SCy Schubert# be completely removed in a future release. 217c1d255d3SCy SchubertCONFIG_WEP=y 218*a90b9d01SCy Schubert 219*a90b9d01SCy Schubert# Wi-Fi Aware unsynchronized service discovery (NAN USD) 220*a90b9d01SCy Schubert#CONFIG_NAN_USD=y 221