xref: /aosp_15_r20/external/wpa_supplicant_8/hostapd/defconfig (revision 03f9172ca588f91df233974f4258bab95191f931)
1*03f9172cSAndroid Build Coastguard Worker# Example hostapd build time configuration
2*03f9172cSAndroid Build Coastguard Worker#
3*03f9172cSAndroid Build Coastguard Worker# This file lists the configuration options that are used when building the
4*03f9172cSAndroid Build Coastguard Worker# hostapd binary. All lines starting with # are ignored. Configuration option
5*03f9172cSAndroid Build Coastguard Worker# lines must be commented out complete, if they are not to be included, i.e.,
6*03f9172cSAndroid Build Coastguard Worker# just setting VARIABLE=n is not disabling that variable.
7*03f9172cSAndroid Build Coastguard Worker#
8*03f9172cSAndroid Build Coastguard Worker# This file is included in Makefile, so variables like CFLAGS and LIBS can also
9*03f9172cSAndroid Build Coastguard Worker# be modified from here. In most cass, these lines should use += in order not
10*03f9172cSAndroid Build Coastguard Worker# to override previous values of the variables.
11*03f9172cSAndroid Build Coastguard Worker
12*03f9172cSAndroid Build Coastguard Worker# Driver interface for Host AP driver
13*03f9172cSAndroid Build Coastguard WorkerCONFIG_DRIVER_HOSTAP=y
14*03f9172cSAndroid Build Coastguard Worker
15*03f9172cSAndroid Build Coastguard Worker# Driver interface for wired authenticator
16*03f9172cSAndroid Build Coastguard Worker#CONFIG_DRIVER_WIRED=y
17*03f9172cSAndroid Build Coastguard Worker
18*03f9172cSAndroid Build Coastguard Worker# Driver interface for drivers using the nl80211 kernel interface
19*03f9172cSAndroid Build Coastguard WorkerCONFIG_DRIVER_NL80211=y
20*03f9172cSAndroid Build Coastguard Worker
21*03f9172cSAndroid Build Coastguard Worker# QCA vendor extensions to nl80211
22*03f9172cSAndroid Build Coastguard Worker#CONFIG_DRIVER_NL80211_QCA=y
23*03f9172cSAndroid Build Coastguard Worker
24*03f9172cSAndroid Build Coastguard Worker# driver_nl80211.c requires libnl. If you are compiling it yourself
25*03f9172cSAndroid Build Coastguard Worker# you may need to point hostapd to your version of libnl.
26*03f9172cSAndroid Build Coastguard Worker#
27*03f9172cSAndroid Build Coastguard Worker#CFLAGS += -I$<path to libnl include files>
28*03f9172cSAndroid Build Coastguard Worker#LIBS += -L$<path to libnl library files>
29*03f9172cSAndroid Build Coastguard Worker
30*03f9172cSAndroid Build Coastguard Worker# Use libnl v2.0 (or 3.0) libraries.
31*03f9172cSAndroid Build Coastguard Worker#CONFIG_LIBNL20=y
32*03f9172cSAndroid Build Coastguard Worker
33*03f9172cSAndroid Build Coastguard Worker# Use libnl 3.2 libraries (if this is selected, CONFIG_LIBNL20 is ignored)
34*03f9172cSAndroid Build Coastguard WorkerCONFIG_LIBNL32=y
35*03f9172cSAndroid Build Coastguard Worker
36*03f9172cSAndroid Build Coastguard Worker
37*03f9172cSAndroid Build Coastguard Worker# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver)
38*03f9172cSAndroid Build Coastguard Worker#CONFIG_DRIVER_BSD=y
39*03f9172cSAndroid Build Coastguard Worker#CFLAGS += -I/usr/local/include
40*03f9172cSAndroid Build Coastguard Worker#LIBS += -L/usr/local/lib
41*03f9172cSAndroid Build Coastguard Worker#LIBS_p += -L/usr/local/lib
42*03f9172cSAndroid Build Coastguard Worker#LIBS_c += -L/usr/local/lib
43*03f9172cSAndroid Build Coastguard Worker
44*03f9172cSAndroid Build Coastguard Worker# Driver interface for no driver (e.g., RADIUS server only)
45*03f9172cSAndroid Build Coastguard Worker#CONFIG_DRIVER_NONE=y
46*03f9172cSAndroid Build Coastguard Worker
47*03f9172cSAndroid Build Coastguard Worker# WPA2/IEEE 802.11i RSN pre-authentication
48*03f9172cSAndroid Build Coastguard WorkerCONFIG_RSN_PREAUTH=y
49*03f9172cSAndroid Build Coastguard Worker
50*03f9172cSAndroid Build Coastguard Worker# Support Operating Channel Validation
51*03f9172cSAndroid Build Coastguard Worker#CONFIG_OCV=y
52*03f9172cSAndroid Build Coastguard Worker
53*03f9172cSAndroid Build Coastguard Worker# Integrated EAP server
54*03f9172cSAndroid Build Coastguard WorkerCONFIG_EAP=y
55*03f9172cSAndroid Build Coastguard Worker
56*03f9172cSAndroid Build Coastguard Worker# EAP Re-authentication Protocol (ERP) in integrated EAP server
57*03f9172cSAndroid Build Coastguard WorkerCONFIG_ERP=y
58*03f9172cSAndroid Build Coastguard Worker
59*03f9172cSAndroid Build Coastguard Worker# EAP-MD5 for the integrated EAP server
60*03f9172cSAndroid Build Coastguard WorkerCONFIG_EAP_MD5=y
61*03f9172cSAndroid Build Coastguard Worker
62*03f9172cSAndroid Build Coastguard Worker# EAP-TLS for the integrated EAP server
63*03f9172cSAndroid Build Coastguard WorkerCONFIG_EAP_TLS=y
64*03f9172cSAndroid Build Coastguard Worker
65*03f9172cSAndroid Build Coastguard Worker# EAP-MSCHAPv2 for the integrated EAP server
66*03f9172cSAndroid Build Coastguard WorkerCONFIG_EAP_MSCHAPV2=y
67*03f9172cSAndroid Build Coastguard Worker
68*03f9172cSAndroid Build Coastguard Worker# EAP-PEAP for the integrated EAP server
69*03f9172cSAndroid Build Coastguard WorkerCONFIG_EAP_PEAP=y
70*03f9172cSAndroid Build Coastguard Worker
71*03f9172cSAndroid Build Coastguard Worker# EAP-GTC for the integrated EAP server
72*03f9172cSAndroid Build Coastguard WorkerCONFIG_EAP_GTC=y
73*03f9172cSAndroid Build Coastguard Worker
74*03f9172cSAndroid Build Coastguard Worker# EAP-TTLS for the integrated EAP server
75*03f9172cSAndroid Build Coastguard WorkerCONFIG_EAP_TTLS=y
76*03f9172cSAndroid Build Coastguard Worker
77*03f9172cSAndroid Build Coastguard Worker# EAP-SIM for the integrated EAP server
78*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_SIM=y
79*03f9172cSAndroid Build Coastguard Worker
80*03f9172cSAndroid Build Coastguard Worker# EAP-AKA for the integrated EAP server
81*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_AKA=y
82*03f9172cSAndroid Build Coastguard Worker
83*03f9172cSAndroid Build Coastguard Worker# EAP-AKA' for the integrated EAP server
84*03f9172cSAndroid Build Coastguard Worker# This requires CONFIG_EAP_AKA to be enabled, too.
85*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_AKA_PRIME=y
86*03f9172cSAndroid Build Coastguard Worker
87*03f9172cSAndroid Build Coastguard Worker# EAP-PAX for the integrated EAP server
88*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_PAX=y
89*03f9172cSAndroid Build Coastguard Worker
90*03f9172cSAndroid Build Coastguard Worker# EAP-PSK for the integrated EAP server (this is _not_ needed for WPA-PSK)
91*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_PSK=y
92*03f9172cSAndroid Build Coastguard Worker
93*03f9172cSAndroid Build Coastguard Worker# EAP-pwd for the integrated EAP server (secure authentication with a password)
94*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_PWD=y
95*03f9172cSAndroid Build Coastguard Worker
96*03f9172cSAndroid Build Coastguard Worker# EAP-SAKE for the integrated EAP server
97*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_SAKE=y
98*03f9172cSAndroid Build Coastguard Worker
99*03f9172cSAndroid Build Coastguard Worker# EAP-GPSK for the integrated EAP server
100*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_GPSK=y
101*03f9172cSAndroid Build Coastguard Worker# Include support for optional SHA256 cipher suite in EAP-GPSK
102*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_GPSK_SHA256=y
103*03f9172cSAndroid Build Coastguard Worker
104*03f9172cSAndroid Build Coastguard Worker# EAP-FAST for the integrated EAP server
105*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_FAST=y
106*03f9172cSAndroid Build Coastguard Worker
107*03f9172cSAndroid Build Coastguard Worker# EAP-TEAP for the integrated EAP server
108*03f9172cSAndroid Build Coastguard Worker# Note: The current EAP-TEAP implementation is experimental and should not be
109*03f9172cSAndroid Build Coastguard Worker# enabled for production use. The IETF RFC 7170 that defines EAP-TEAP has number
110*03f9172cSAndroid Build Coastguard Worker# of conflicting statements and missing details and the implementation has
111*03f9172cSAndroid Build Coastguard Worker# vendor specific workarounds for those and as such, may not interoperate with
112*03f9172cSAndroid Build Coastguard Worker# any other implementation. This should not be used for anything else than
113*03f9172cSAndroid Build Coastguard Worker# experimentation and interoperability testing until those issues has been
114*03f9172cSAndroid Build Coastguard Worker# resolved.
115*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_TEAP=y
116*03f9172cSAndroid Build Coastguard Worker
117*03f9172cSAndroid Build Coastguard Worker# Wi-Fi Protected Setup (WPS)
118*03f9172cSAndroid Build Coastguard Worker#CONFIG_WPS=y
119*03f9172cSAndroid Build Coastguard Worker# Enable UPnP support for external WPS Registrars
120*03f9172cSAndroid Build Coastguard Worker#CONFIG_WPS_UPNP=y
121*03f9172cSAndroid Build Coastguard Worker# Enable WPS support with NFC config method
122*03f9172cSAndroid Build Coastguard Worker#CONFIG_WPS_NFC=y
123*03f9172cSAndroid Build Coastguard Worker
124*03f9172cSAndroid Build Coastguard Worker# EAP-IKEv2
125*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_IKEV2=y
126*03f9172cSAndroid Build Coastguard Worker
127*03f9172cSAndroid Build Coastguard Worker# Trusted Network Connect (EAP-TNC)
128*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_TNC=y
129*03f9172cSAndroid Build Coastguard Worker
130*03f9172cSAndroid Build Coastguard Worker# EAP-EKE for the integrated EAP server
131*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_EKE=y
132*03f9172cSAndroid Build Coastguard Worker
133*03f9172cSAndroid Build Coastguard Worker# PKCS#12 (PFX) support (used to read private key and certificate file from
134*03f9172cSAndroid Build Coastguard Worker# a file that usually has extension .p12 or .pfx)
135*03f9172cSAndroid Build Coastguard WorkerCONFIG_PKCS12=y
136*03f9172cSAndroid Build Coastguard Worker
137*03f9172cSAndroid Build Coastguard Worker# RADIUS authentication server. This provides access to the integrated EAP
138*03f9172cSAndroid Build Coastguard Worker# server from external hosts using RADIUS.
139*03f9172cSAndroid Build Coastguard Worker#CONFIG_RADIUS_SERVER=y
140*03f9172cSAndroid Build Coastguard Worker
141*03f9172cSAndroid Build Coastguard Worker# Build IPv6 support for RADIUS operations
142*03f9172cSAndroid Build Coastguard WorkerCONFIG_IPV6=y
143*03f9172cSAndroid Build Coastguard Worker
144*03f9172cSAndroid Build Coastguard Worker# Include support fo RADIUS/TLS into the RADIUS client
145*03f9172cSAndroid Build Coastguard Worker#CONFIG_RADIUS_TLS=y
146*03f9172cSAndroid Build Coastguard Worker
147*03f9172cSAndroid Build Coastguard Worker# IEEE Std 802.11r-2008 (Fast BSS Transition)
148*03f9172cSAndroid Build Coastguard Worker#CONFIG_IEEE80211R=y
149*03f9172cSAndroid Build Coastguard Worker
150*03f9172cSAndroid Build Coastguard Worker# Use the hostapd's IEEE 802.11 authentication (ACL), but without
151*03f9172cSAndroid Build Coastguard Worker# the IEEE 802.11 Management capability (e.g., FreeBSD/net80211)
152*03f9172cSAndroid Build Coastguard Worker#CONFIG_DRIVER_RADIUS_ACL=y
153*03f9172cSAndroid Build Coastguard Worker
154*03f9172cSAndroid Build Coastguard Worker# Wireless Network Management (IEEE Std 802.11v-2011)
155*03f9172cSAndroid Build Coastguard Worker# Note: This is experimental and not complete implementation.
156*03f9172cSAndroid Build Coastguard Worker#CONFIG_WNM=y
157*03f9172cSAndroid Build Coastguard Worker
158*03f9172cSAndroid Build Coastguard Worker# IEEE 802.11ac (Very High Throughput) support
159*03f9172cSAndroid Build Coastguard Worker#CONFIG_IEEE80211AC=y
160*03f9172cSAndroid Build Coastguard Worker
161*03f9172cSAndroid Build Coastguard Worker# IEEE 802.11ax HE support
162*03f9172cSAndroid Build Coastguard Worker#CONFIG_IEEE80211AX=y
163*03f9172cSAndroid Build Coastguard Worker
164*03f9172cSAndroid Build Coastguard Worker# IEEE 802.11be EHT support
165*03f9172cSAndroid Build Coastguard Worker# CONFIG_IEEE80211AX is mandatory for setting CONFIG_IEEE80211BE.
166*03f9172cSAndroid Build Coastguard Worker# Note: This is experimental and work in progress. The definitions are still
167*03f9172cSAndroid Build Coastguard Worker# subject to change and this should not be expected to interoperate with the
168*03f9172cSAndroid Build Coastguard Worker# final IEEE 802.11be version.
169*03f9172cSAndroid Build Coastguard Worker#CONFIG_IEEE80211BE=y
170*03f9172cSAndroid Build Coastguard Worker
171*03f9172cSAndroid Build Coastguard Worker# Simultaneous Authentication of Equals (SAE), WPA3-Personal
172*03f9172cSAndroid Build Coastguard Worker#CONFIG_SAE=y
173*03f9172cSAndroid Build Coastguard Worker
174*03f9172cSAndroid Build Coastguard Worker# SAE Public Key, WPA3-Personal
175*03f9172cSAndroid Build Coastguard Worker#CONFIG_SAE_PK=y
176*03f9172cSAndroid Build Coastguard Worker
177*03f9172cSAndroid Build Coastguard Worker# Remove debugging code that is printing out debug messages to stdout.
178*03f9172cSAndroid Build Coastguard Worker# This can be used to reduce the size of the hostapd considerably if debugging
179*03f9172cSAndroid Build Coastguard Worker# code is not needed.
180*03f9172cSAndroid Build Coastguard Worker#CONFIG_NO_STDOUT_DEBUG=y
181*03f9172cSAndroid Build Coastguard Worker
182*03f9172cSAndroid Build Coastguard Worker# Add support for writing debug log to a file: -f /tmp/hostapd.log
183*03f9172cSAndroid Build Coastguard Worker# Disabled by default.
184*03f9172cSAndroid Build Coastguard Worker#CONFIG_DEBUG_FILE=y
185*03f9172cSAndroid Build Coastguard Worker
186*03f9172cSAndroid Build Coastguard Worker# Send debug messages to syslog instead of stdout
187*03f9172cSAndroid Build Coastguard Worker#CONFIG_DEBUG_SYSLOG=y
188*03f9172cSAndroid Build Coastguard Worker
189*03f9172cSAndroid Build Coastguard Worker# Add support for sending all debug messages (regardless of debug verbosity)
190*03f9172cSAndroid Build Coastguard Worker# to the Linux kernel tracing facility. This helps debug the entire stack by
191*03f9172cSAndroid Build Coastguard Worker# making it easy to record everything happening from the driver up into the
192*03f9172cSAndroid Build Coastguard Worker# same file, e.g., using trace-cmd.
193*03f9172cSAndroid Build Coastguard Worker#CONFIG_DEBUG_LINUX_TRACING=y
194*03f9172cSAndroid Build Coastguard Worker
195*03f9172cSAndroid Build Coastguard Worker# Remove support for RADIUS accounting
196*03f9172cSAndroid Build Coastguard Worker#CONFIG_NO_ACCOUNTING=y
197*03f9172cSAndroid Build Coastguard Worker
198*03f9172cSAndroid Build Coastguard Worker# Remove support for RADIUS
199*03f9172cSAndroid Build Coastguard Worker#CONFIG_NO_RADIUS=y
200*03f9172cSAndroid Build Coastguard Worker
201*03f9172cSAndroid Build Coastguard Worker# Remove support for VLANs
202*03f9172cSAndroid Build Coastguard Worker#CONFIG_NO_VLAN=y
203*03f9172cSAndroid Build Coastguard Worker
204*03f9172cSAndroid Build Coastguard Worker# Enable support for fully dynamic VLANs. This enables hostapd to
205*03f9172cSAndroid Build Coastguard Worker# automatically create bridge and VLAN interfaces if necessary.
206*03f9172cSAndroid Build Coastguard Worker#CONFIG_FULL_DYNAMIC_VLAN=y
207*03f9172cSAndroid Build Coastguard Worker
208*03f9172cSAndroid Build Coastguard Worker# Use netlink-based kernel API for VLAN operations instead of ioctl()
209*03f9172cSAndroid Build Coastguard Worker# Note: This requires libnl 3.1 or newer.
210*03f9172cSAndroid Build Coastguard Worker#CONFIG_VLAN_NETLINK=y
211*03f9172cSAndroid Build Coastguard Worker
212*03f9172cSAndroid Build Coastguard Worker# Remove support for dumping internal state through control interface commands
213*03f9172cSAndroid Build Coastguard Worker# This can be used to reduce binary size at the cost of disabling a debugging
214*03f9172cSAndroid Build Coastguard Worker# option.
215*03f9172cSAndroid Build Coastguard Worker#CONFIG_NO_DUMP_STATE=y
216*03f9172cSAndroid Build Coastguard Worker
217*03f9172cSAndroid Build Coastguard Worker# Enable tracing code for developer debugging
218*03f9172cSAndroid Build Coastguard Worker# This tracks use of memory allocations and other registrations and reports
219*03f9172cSAndroid Build Coastguard Worker# incorrect use with a backtrace of call (or allocation) location.
220*03f9172cSAndroid Build Coastguard Worker#CONFIG_WPA_TRACE=y
221*03f9172cSAndroid Build Coastguard Worker# For BSD, comment out these.
222*03f9172cSAndroid Build Coastguard Worker#LIBS += -lexecinfo
223*03f9172cSAndroid Build Coastguard Worker#LIBS_p += -lexecinfo
224*03f9172cSAndroid Build Coastguard Worker#LIBS_c += -lexecinfo
225*03f9172cSAndroid Build Coastguard Worker
226*03f9172cSAndroid Build Coastguard Worker# Use libbfd to get more details for developer debugging
227*03f9172cSAndroid Build Coastguard Worker# This enables use of libbfd to get more detailed symbols for the backtraces
228*03f9172cSAndroid Build Coastguard Worker# generated by CONFIG_WPA_TRACE=y.
229*03f9172cSAndroid Build Coastguard Worker#CONFIG_WPA_TRACE_BFD=y
230*03f9172cSAndroid Build Coastguard Worker# For BSD, comment out these.
231*03f9172cSAndroid Build Coastguard Worker#LIBS += -lbfd -liberty -lz
232*03f9172cSAndroid Build Coastguard Worker#LIBS_p += -lbfd -liberty -lz
233*03f9172cSAndroid Build Coastguard Worker#LIBS_c += -lbfd -liberty -lz
234*03f9172cSAndroid Build Coastguard Worker
235*03f9172cSAndroid Build Coastguard Worker# hostapd depends on strong random number generation being available from the
236*03f9172cSAndroid Build Coastguard Worker# operating system. os_get_random() function is used to fetch random data when
237*03f9172cSAndroid Build Coastguard Worker# needed, e.g., for key generation. On Linux and BSD systems, this works by
238*03f9172cSAndroid Build Coastguard Worker# reading /dev/urandom. It should be noted that the OS entropy pool needs to be
239*03f9172cSAndroid Build Coastguard Worker# properly initialized before hostapd is started. This is important especially
240*03f9172cSAndroid Build Coastguard Worker# on embedded devices that do not have a hardware random number generator and
241*03f9172cSAndroid Build Coastguard Worker# may by default start up with minimal entropy available for random number
242*03f9172cSAndroid Build Coastguard Worker# generation.
243*03f9172cSAndroid Build Coastguard Worker#
244*03f9172cSAndroid Build Coastguard Worker# As a safety net, hostapd is by default trying to internally collect
245*03f9172cSAndroid Build Coastguard Worker# additional entropy for generating random data to mix in with the data
246*03f9172cSAndroid Build Coastguard Worker# fetched from the OS. This by itself is not considered to be very strong, but
247*03f9172cSAndroid Build Coastguard Worker# it may help in cases where the system pool is not initialized properly.
248*03f9172cSAndroid Build Coastguard Worker# However, it is very strongly recommended that the system pool is initialized
249*03f9172cSAndroid Build Coastguard Worker# with enough entropy either by using hardware assisted random number
250*03f9172cSAndroid Build Coastguard Worker# generator or by storing state over device reboots.
251*03f9172cSAndroid Build Coastguard Worker#
252*03f9172cSAndroid Build Coastguard Worker# hostapd can be configured to maintain its own entropy store over restarts to
253*03f9172cSAndroid Build Coastguard Worker# enhance random number generation. This is not perfect, but it is much more
254*03f9172cSAndroid Build Coastguard Worker# secure than using the same sequence of random numbers after every reboot.
255*03f9172cSAndroid Build Coastguard Worker# This can be enabled with -e<entropy file> command line option. The specified
256*03f9172cSAndroid Build Coastguard Worker# file needs to be readable and writable by hostapd.
257*03f9172cSAndroid Build Coastguard Worker#
258*03f9172cSAndroid Build Coastguard Worker# If the os_get_random() is known to provide strong random data (e.g., on
259*03f9172cSAndroid Build Coastguard Worker# Linux/BSD, the board in question is known to have reliable source of random
260*03f9172cSAndroid Build Coastguard Worker# data from /dev/urandom), the internal hostapd random pool can be disabled.
261*03f9172cSAndroid Build Coastguard Worker# This will save some in binary size and CPU use. However, this should only be
262*03f9172cSAndroid Build Coastguard Worker# considered for builds that are known to be used on devices that meet the
263*03f9172cSAndroid Build Coastguard Worker# requirements described above.
264*03f9172cSAndroid Build Coastguard Worker#CONFIG_NO_RANDOM_POOL=y
265*03f9172cSAndroid Build Coastguard Worker
266*03f9172cSAndroid Build Coastguard Worker# Should we attempt to use the getrandom(2) call that provides more reliable
267*03f9172cSAndroid Build Coastguard Worker# yet secure randomness source than /dev/random on Linux 3.17 and newer.
268*03f9172cSAndroid Build Coastguard Worker# Requires glibc 2.25 to build, falls back to /dev/random if unavailable.
269*03f9172cSAndroid Build Coastguard Worker#CONFIG_GETRANDOM=y
270*03f9172cSAndroid Build Coastguard Worker
271*03f9172cSAndroid Build Coastguard Worker# Should we use poll instead of select? Select is used by default.
272*03f9172cSAndroid Build Coastguard Worker#CONFIG_ELOOP_POLL=y
273*03f9172cSAndroid Build Coastguard Worker
274*03f9172cSAndroid Build Coastguard Worker# Should we use epoll instead of select? Select is used by default.
275*03f9172cSAndroid Build Coastguard Worker#CONFIG_ELOOP_EPOLL=y
276*03f9172cSAndroid Build Coastguard Worker
277*03f9172cSAndroid Build Coastguard Worker# Should we use kqueue instead of select? Select is used by default.
278*03f9172cSAndroid Build Coastguard Worker#CONFIG_ELOOP_KQUEUE=y
279*03f9172cSAndroid Build Coastguard Worker
280*03f9172cSAndroid Build Coastguard Worker# Select TLS implementation
281*03f9172cSAndroid Build Coastguard Worker# openssl = OpenSSL (default)
282*03f9172cSAndroid Build Coastguard Worker# gnutls = GnuTLS
283*03f9172cSAndroid Build Coastguard Worker# internal = Internal TLSv1 implementation (experimental)
284*03f9172cSAndroid Build Coastguard Worker# linux = Linux kernel AF_ALG and internal TLSv1 implementation (experimental)
285*03f9172cSAndroid Build Coastguard Worker# none = Empty template
286*03f9172cSAndroid Build Coastguard Worker#CONFIG_TLS=openssl
287*03f9172cSAndroid Build Coastguard Worker
288*03f9172cSAndroid Build Coastguard Worker# TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.1)
289*03f9172cSAndroid Build Coastguard Worker# can be enabled to get a stronger construction of messages when block ciphers
290*03f9172cSAndroid Build Coastguard Worker# are used.
291*03f9172cSAndroid Build Coastguard Worker#CONFIG_TLSV11=y
292*03f9172cSAndroid Build Coastguard Worker
293*03f9172cSAndroid Build Coastguard Worker# TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.2)
294*03f9172cSAndroid Build Coastguard Worker# can be enabled to enable use of stronger crypto algorithms.
295*03f9172cSAndroid Build Coastguard Worker#CONFIG_TLSV12=y
296*03f9172cSAndroid Build Coastguard Worker
297*03f9172cSAndroid Build Coastguard Worker# Select which ciphers to use by default with OpenSSL if the user does not
298*03f9172cSAndroid Build Coastguard Worker# specify them.
299*03f9172cSAndroid Build Coastguard Worker#CONFIG_TLS_DEFAULT_CIPHERS="DEFAULT:!EXP:!LOW"
300*03f9172cSAndroid Build Coastguard Worker
301*03f9172cSAndroid Build Coastguard Worker# If CONFIG_TLS=internal is used, additional library and include paths are
302*03f9172cSAndroid Build Coastguard Worker# needed for LibTomMath. Alternatively, an integrated, minimal version of
303*03f9172cSAndroid Build Coastguard Worker# LibTomMath can be used. See beginning of libtommath.c for details on benefits
304*03f9172cSAndroid Build Coastguard Worker# and drawbacks of this option.
305*03f9172cSAndroid Build Coastguard Worker#CONFIG_INTERNAL_LIBTOMMATH=y
306*03f9172cSAndroid Build Coastguard Worker#ifndef CONFIG_INTERNAL_LIBTOMMATH
307*03f9172cSAndroid Build Coastguard Worker#LTM_PATH=/usr/src/libtommath-0.39
308*03f9172cSAndroid Build Coastguard Worker#CFLAGS += -I$(LTM_PATH)
309*03f9172cSAndroid Build Coastguard Worker#LIBS += -L$(LTM_PATH)
310*03f9172cSAndroid Build Coastguard Worker#LIBS_p += -L$(LTM_PATH)
311*03f9172cSAndroid Build Coastguard Worker#endif
312*03f9172cSAndroid Build Coastguard Worker# At the cost of about 4 kB of additional binary size, the internal LibTomMath
313*03f9172cSAndroid Build Coastguard Worker# can be configured to include faster routines for exptmod, sqr, and div to
314*03f9172cSAndroid Build Coastguard Worker# speed up DH and RSA calculation considerably
315*03f9172cSAndroid Build Coastguard Worker#CONFIG_INTERNAL_LIBTOMMATH_FAST=y
316*03f9172cSAndroid Build Coastguard Worker
317*03f9172cSAndroid Build Coastguard Worker# Interworking (IEEE 802.11u)
318*03f9172cSAndroid Build Coastguard Worker# This can be used to enable functionality to improve interworking with
319*03f9172cSAndroid Build Coastguard Worker# external networks.
320*03f9172cSAndroid Build Coastguard Worker#CONFIG_INTERWORKING=y
321*03f9172cSAndroid Build Coastguard Worker
322*03f9172cSAndroid Build Coastguard Worker# Hotspot 2.0
323*03f9172cSAndroid Build Coastguard Worker#CONFIG_HS20=y
324*03f9172cSAndroid Build Coastguard Worker
325*03f9172cSAndroid Build Coastguard Worker# Enable SQLite database support in hlr_auc_gw, EAP-SIM DB, and eap_user_file
326*03f9172cSAndroid Build Coastguard Worker#CONFIG_SQLITE=y
327*03f9172cSAndroid Build Coastguard Worker
328*03f9172cSAndroid Build Coastguard Worker# Enable Fast Session Transfer (FST)
329*03f9172cSAndroid Build Coastguard Worker#CONFIG_FST=y
330*03f9172cSAndroid Build Coastguard Worker
331*03f9172cSAndroid Build Coastguard Worker# Enable CLI commands for FST testing
332*03f9172cSAndroid Build Coastguard Worker#CONFIG_FST_TEST=y
333*03f9172cSAndroid Build Coastguard Worker
334*03f9172cSAndroid Build Coastguard Worker# Testing options
335*03f9172cSAndroid Build Coastguard Worker# This can be used to enable some testing options (see also the example
336*03f9172cSAndroid Build Coastguard Worker# configuration file) that are really useful only for testing clients that
337*03f9172cSAndroid Build Coastguard Worker# connect to this hostapd. These options allow, for example, to drop a
338*03f9172cSAndroid Build Coastguard Worker# certain percentage of probe requests or auth/(re)assoc frames.
339*03f9172cSAndroid Build Coastguard Worker#
340*03f9172cSAndroid Build Coastguard Worker#CONFIG_TESTING_OPTIONS=y
341*03f9172cSAndroid Build Coastguard Worker
342*03f9172cSAndroid Build Coastguard Worker# Automatic Channel Selection
343*03f9172cSAndroid Build Coastguard Worker# This will allow hostapd to pick the channel automatically when channel is set
344*03f9172cSAndroid Build Coastguard Worker# to "acs_survey" or "0". Eventually, other ACS algorithms can be added in
345*03f9172cSAndroid Build Coastguard Worker# similar way.
346*03f9172cSAndroid Build Coastguard Worker#
347*03f9172cSAndroid Build Coastguard Worker# Automatic selection is currently only done through initialization, later on
348*03f9172cSAndroid Build Coastguard Worker# we hope to do background checks to keep us moving to more ideal channels as
349*03f9172cSAndroid Build Coastguard Worker# time goes by. ACS is currently only supported through the nl80211 driver and
350*03f9172cSAndroid Build Coastguard Worker# your driver must have survey dump capability that is filled by the driver
351*03f9172cSAndroid Build Coastguard Worker# during scanning.
352*03f9172cSAndroid Build Coastguard Worker#
353*03f9172cSAndroid Build Coastguard Worker# You can customize the ACS survey algorithm with the hostapd.conf variable
354*03f9172cSAndroid Build Coastguard Worker# acs_num_scans.
355*03f9172cSAndroid Build Coastguard Worker#
356*03f9172cSAndroid Build Coastguard Worker# Supported ACS drivers:
357*03f9172cSAndroid Build Coastguard Worker# * ath9k
358*03f9172cSAndroid Build Coastguard Worker# * ath5k
359*03f9172cSAndroid Build Coastguard Worker# * ath10k
360*03f9172cSAndroid Build Coastguard Worker#
361*03f9172cSAndroid Build Coastguard Worker# For more details refer to:
362*03f9172cSAndroid Build Coastguard Worker# https://wireless.wiki.kernel.org/en/users/documentation/acs
363*03f9172cSAndroid Build Coastguard Worker#
364*03f9172cSAndroid Build Coastguard Worker#CONFIG_ACS=y
365*03f9172cSAndroid Build Coastguard Worker
366*03f9172cSAndroid Build Coastguard Worker# Multiband Operation support
367*03f9172cSAndroid Build Coastguard Worker# These extensions facilitate efficient use of multiple frequency bands
368*03f9172cSAndroid Build Coastguard Worker# available to the AP and the devices that may associate with it.
369*03f9172cSAndroid Build Coastguard Worker#CONFIG_MBO=y
370*03f9172cSAndroid Build Coastguard Worker
371*03f9172cSAndroid Build Coastguard Worker# Client Taxonomy
372*03f9172cSAndroid Build Coastguard Worker# Has the AP retain the Probe Request and (Re)Association Request frames from
373*03f9172cSAndroid Build Coastguard Worker# a client, from which a signature can be produced which can identify the model
374*03f9172cSAndroid Build Coastguard Worker# of client device like "Nexus 6P" or "iPhone 5s".
375*03f9172cSAndroid Build Coastguard Worker#CONFIG_TAXONOMY=y
376*03f9172cSAndroid Build Coastguard Worker
377*03f9172cSAndroid Build Coastguard Worker# Fast Initial Link Setup (FILS) (IEEE 802.11ai)
378*03f9172cSAndroid Build Coastguard Worker#CONFIG_FILS=y
379*03f9172cSAndroid Build Coastguard Worker# FILS shared key authentication with PFS
380*03f9172cSAndroid Build Coastguard Worker#CONFIG_FILS_SK_PFS=y
381*03f9172cSAndroid Build Coastguard Worker
382*03f9172cSAndroid Build Coastguard Worker# Include internal line edit mode in hostapd_cli. This can be used to provide
383*03f9172cSAndroid Build Coastguard Worker# limited command line editing and history support.
384*03f9172cSAndroid Build Coastguard Worker#CONFIG_WPA_CLI_EDIT=y
385*03f9172cSAndroid Build Coastguard Worker
386*03f9172cSAndroid Build Coastguard Worker# Opportunistic Wireless Encryption (OWE)
387*03f9172cSAndroid Build Coastguard Worker# Experimental implementation of draft-harkins-owe-07.txt
388*03f9172cSAndroid Build Coastguard Worker#CONFIG_OWE=y
389*03f9172cSAndroid Build Coastguard Worker
390*03f9172cSAndroid Build Coastguard Worker# WLAN Authentication and Privacy Infrastructure (WAPI): interface only.
391*03f9172cSAndroid Build Coastguard Worker# Configure the building of the interface which allows WAPI configuration.
392*03f9172cSAndroid Build Coastguard Worker# Note: does not configure WAPI implementation itself.
393*03f9172cSAndroid Build Coastguard Worker#CONFIG_WAPI_INTERFACE=y
394*03f9172cSAndroid Build Coastguard Worker
395*03f9172cSAndroid Build Coastguard Worker# Airtime policy support
396*03f9172cSAndroid Build Coastguard Worker#CONFIG_AIRTIME_POLICY=y
397*03f9172cSAndroid Build Coastguard Worker
398*03f9172cSAndroid Build Coastguard Worker# Override default value for the wpa_disable_eapol_key_retries configuration
399*03f9172cSAndroid Build Coastguard Worker# parameter. See that parameter in hostapd.conf for more details.
400*03f9172cSAndroid Build Coastguard Worker#CFLAGS += -DDEFAULT_WPA_DISABLE_EAPOL_KEY_RETRIES=1
401*03f9172cSAndroid Build Coastguard Worker
402*03f9172cSAndroid Build Coastguard Worker# Wired equivalent privacy (WEP)
403*03f9172cSAndroid Build Coastguard Worker# WEP is an obsolete cryptographic data confidentiality algorithm that is not
404*03f9172cSAndroid Build Coastguard Worker# considered secure. It should not be used for anything anymore. The
405*03f9172cSAndroid Build Coastguard Worker# functionality needed to use WEP is available in the current hostapd
406*03f9172cSAndroid Build Coastguard Worker# release under this optional build parameter. This functionality is subject to
407*03f9172cSAndroid Build Coastguard Worker# be completely removed in a future release.
408*03f9172cSAndroid Build Coastguard Worker#CONFIG_WEP=y
409*03f9172cSAndroid Build Coastguard Worker
410*03f9172cSAndroid Build Coastguard Worker# Remove all TKIP functionality
411*03f9172cSAndroid Build Coastguard Worker# TKIP is an old cryptographic data confidentiality algorithm that is not
412*03f9172cSAndroid Build Coastguard Worker# considered secure. It should not be used anymore. For now, the default hostapd
413*03f9172cSAndroid Build Coastguard Worker# build includes this to allow mixed mode WPA+WPA2 networks to be enabled, but
414*03f9172cSAndroid Build Coastguard Worker# that functionality is subject to be removed in the future.
415*03f9172cSAndroid Build Coastguard Worker#CONFIG_NO_TKIP=y
416*03f9172cSAndroid Build Coastguard Worker
417*03f9172cSAndroid Build Coastguard Worker# Pre-Association Security Negotiation (PASN)
418*03f9172cSAndroid Build Coastguard Worker# Experimental implementation based on IEEE P802.11z/D2.6 and the protocol
419*03f9172cSAndroid Build Coastguard Worker# design is still subject to change. As such, this should not yet be enabled in
420*03f9172cSAndroid Build Coastguard Worker# production use.
421*03f9172cSAndroid Build Coastguard Worker#CONFIG_PASN=y
422*03f9172cSAndroid Build Coastguard Worker
423*03f9172cSAndroid Build Coastguard Worker# Device Provisioning Protocol (DPP) (also known as Wi-Fi Easy Connect)
424*03f9172cSAndroid Build Coastguard WorkerCONFIG_DPP=y
425*03f9172cSAndroid Build Coastguard Worker# DPP version 2 support
426*03f9172cSAndroid Build Coastguard WorkerCONFIG_DPP2=y
427*03f9172cSAndroid Build Coastguard Worker# DPP version 3 support (experimental and still changing; do not enable for
428*03f9172cSAndroid Build Coastguard Worker# production use)
429*03f9172cSAndroid Build Coastguard Worker#CONFIG_DPP3=y
430*03f9172cSAndroid Build Coastguard Worker
431*03f9172cSAndroid Build Coastguard Worker# Wi-Fi Aware unsynchronized service discovery (NAN USD)
432*03f9172cSAndroid Build Coastguard Worker#CONFIG_NAN_USD=y
433