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