xref: /aosp_15_r20/external/wpa_supplicant_8/hostapd/android.config (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 Worker#CONFIG_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 Worker#CONFIG_DRIVER_NL80211=y
20*03f9172cSAndroid Build Coastguard Worker# driver_nl80211.c requires a rather new libnl (version 1.1) which may not be
21*03f9172cSAndroid Build Coastguard Worker# shipped with your distribution yet. If that is the case, you need to build
22*03f9172cSAndroid Build Coastguard Worker# newer libnl version and point the hostapd build to use it.
23*03f9172cSAndroid Build Coastguard Worker#LIBNL=/usr/src/libnl
24*03f9172cSAndroid Build Coastguard Worker#CFLAGS += -I$(LIBNL)/include
25*03f9172cSAndroid Build Coastguard Worker#LIBS += -L$(LIBNL)/lib
26*03f9172cSAndroid Build Coastguard WorkerCONFIG_LIBNL20=y
27*03f9172cSAndroid Build Coastguard Worker
28*03f9172cSAndroid Build Coastguard Worker# Broadcom vendor extensions to nl80211
29*03f9172cSAndroid Build Coastguard Workerifeq ($(BOARD_WLAN_DEVICE),bcmdhd)
30*03f9172cSAndroid Build Coastguard WorkerCONFIG_DRIVER_NL80211_BRCM=y
31*03f9172cSAndroid Build Coastguard Worker# Synaptics vendor extensions to nl80211
32*03f9172cSAndroid Build Coastguard Workerelse ifeq ($(BOARD_WLAN_DEVICE),synadhd)
33*03f9172cSAndroid Build Coastguard WorkerCONFIG_DRIVER_NL80211_SYNA=y
34*03f9172cSAndroid Build Coastguard Workerelse
35*03f9172cSAndroid Build Coastguard Worker# QCA vendor extensions to nl80211
36*03f9172cSAndroid Build Coastguard WorkerCONFIG_DRIVER_NL80211_QCA=y
37*03f9172cSAndroid Build Coastguard Workerendif
38*03f9172cSAndroid Build Coastguard Worker
39*03f9172cSAndroid Build Coastguard Worker# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver)
40*03f9172cSAndroid Build Coastguard Worker#CONFIG_DRIVER_BSD=y
41*03f9172cSAndroid Build Coastguard Worker#CFLAGS += -I/usr/local/include
42*03f9172cSAndroid Build Coastguard Worker#LIBS += -L/usr/local/lib
43*03f9172cSAndroid Build Coastguard Worker#LIBS_p += -L/usr/local/lib
44*03f9172cSAndroid Build Coastguard Worker#LIBS_c += -L/usr/local/lib
45*03f9172cSAndroid Build Coastguard Worker
46*03f9172cSAndroid Build Coastguard Worker# Driver interface for no driver (e.g., RADIUS server only)
47*03f9172cSAndroid Build Coastguard Worker#CONFIG_DRIVER_NONE=y
48*03f9172cSAndroid Build Coastguard Worker
49*03f9172cSAndroid Build Coastguard Worker# WPA2/IEEE 802.11i RSN pre-authentication
50*03f9172cSAndroid Build Coastguard Worker#CONFIG_RSN_PREAUTH=y
51*03f9172cSAndroid Build Coastguard Worker
52*03f9172cSAndroid Build Coastguard Worker# Support Operating Channel Validation
53*03f9172cSAndroid Build Coastguard Worker#CONFIG_OCV=y
54*03f9172cSAndroid Build Coastguard Worker
55*03f9172cSAndroid Build Coastguard Worker# Integrated EAP server
56*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP=y
57*03f9172cSAndroid Build Coastguard Worker
58*03f9172cSAndroid Build Coastguard Worker# EAP-MD5 for the integrated EAP server
59*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_MD5=y
60*03f9172cSAndroid Build Coastguard Worker
61*03f9172cSAndroid Build Coastguard Worker# EAP-TLS for the integrated EAP server
62*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_TLS=y
63*03f9172cSAndroid Build Coastguard Worker
64*03f9172cSAndroid Build Coastguard Worker# EAP-MSCHAPv2 for the integrated EAP server
65*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_MSCHAPV2=y
66*03f9172cSAndroid Build Coastguard Worker
67*03f9172cSAndroid Build Coastguard Worker# EAP-PEAP for the integrated EAP server
68*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_PEAP=y
69*03f9172cSAndroid Build Coastguard Worker
70*03f9172cSAndroid Build Coastguard Worker# EAP-GTC for the integrated EAP server
71*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_GTC=y
72*03f9172cSAndroid Build Coastguard Worker
73*03f9172cSAndroid Build Coastguard Worker# EAP-TTLS for the integrated EAP server
74*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_TTLS=y
75*03f9172cSAndroid Build Coastguard Worker
76*03f9172cSAndroid Build Coastguard Worker# EAP-SIM for the integrated EAP server
77*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_SIM=y
78*03f9172cSAndroid Build Coastguard Worker
79*03f9172cSAndroid Build Coastguard Worker# EAP-AKA for the integrated EAP server
80*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_AKA=y
81*03f9172cSAndroid Build Coastguard Worker
82*03f9172cSAndroid Build Coastguard Worker# EAP-AKA' for the integrated EAP server
83*03f9172cSAndroid Build Coastguard Worker# This requires CONFIG_EAP_AKA to be enabled, too.
84*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_AKA_PRIME=y
85*03f9172cSAndroid Build Coastguard Worker
86*03f9172cSAndroid Build Coastguard Worker# EAP-PAX for the integrated EAP server
87*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_PAX=y
88*03f9172cSAndroid Build Coastguard Worker
89*03f9172cSAndroid Build Coastguard Worker# EAP-PSK for the integrated EAP server (this is _not_ needed for WPA-PSK)
90*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_PSK=y
91*03f9172cSAndroid Build Coastguard Worker
92*03f9172cSAndroid Build Coastguard Worker# EAP-SAKE for the integrated EAP server
93*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_SAKE=y
94*03f9172cSAndroid Build Coastguard Worker
95*03f9172cSAndroid Build Coastguard Worker# EAP-GPSK for the integrated EAP server
96*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_GPSK=y
97*03f9172cSAndroid Build Coastguard Worker# Include support for optional SHA256 cipher suite in EAP-GPSK
98*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_GPSK_SHA256=y
99*03f9172cSAndroid Build Coastguard Worker
100*03f9172cSAndroid Build Coastguard Worker# EAP-FAST for the integrated EAP server
101*03f9172cSAndroid Build Coastguard Worker# Note: Default OpenSSL package does not include support for all the
102*03f9172cSAndroid Build Coastguard Worker# functionality needed for EAP-FAST. If EAP-FAST is enabled with OpenSSL,
103*03f9172cSAndroid Build Coastguard Worker# the OpenSSL library must be patched (openssl-0.9.9-session-ticket.patch)
104*03f9172cSAndroid Build Coastguard Worker# to add the needed functions.
105*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_FAST=y
106*03f9172cSAndroid Build Coastguard Worker
107*03f9172cSAndroid Build Coastguard Worker# Wi-Fi Protected Setup (WPS)
108*03f9172cSAndroid Build Coastguard WorkerCONFIG_WPS=y
109*03f9172cSAndroid Build Coastguard Worker# Enable UPnP support for external WPS Registrars
110*03f9172cSAndroid Build Coastguard Worker#CONFIG_WPS_UPNP=y
111*03f9172cSAndroid Build Coastguard Worker
112*03f9172cSAndroid Build Coastguard Worker# EAP-IKEv2
113*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_IKEV2=y
114*03f9172cSAndroid Build Coastguard Worker
115*03f9172cSAndroid Build Coastguard Worker# Trusted Network Connect (EAP-TNC)
116*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_TNC=y
117*03f9172cSAndroid Build Coastguard Worker
118*03f9172cSAndroid Build Coastguard Worker# PKCS#12 (PFX) support (used to read private key and certificate file from
119*03f9172cSAndroid Build Coastguard Worker# a file that usually has extension .p12 or .pfx)
120*03f9172cSAndroid Build Coastguard WorkerCONFIG_PKCS12=y
121*03f9172cSAndroid Build Coastguard Worker
122*03f9172cSAndroid Build Coastguard Worker# RADIUS authentication server. This provides access to the integrated EAP
123*03f9172cSAndroid Build Coastguard Worker# server from external hosts using RADIUS.
124*03f9172cSAndroid Build Coastguard Worker#CONFIG_RADIUS_SERVER=y
125*03f9172cSAndroid Build Coastguard Worker
126*03f9172cSAndroid Build Coastguard Worker# Build IPv6 support for RADIUS operations
127*03f9172cSAndroid Build Coastguard WorkerCONFIG_IPV6=y
128*03f9172cSAndroid Build Coastguard Worker
129*03f9172cSAndroid Build Coastguard Worker# Include support fo RADIUS/TLS into the RADIUS client
130*03f9172cSAndroid Build Coastguard Worker#CONFIG_RADIUS_TLS=y
131*03f9172cSAndroid Build Coastguard Worker
132*03f9172cSAndroid Build Coastguard Worker# IEEE Std 802.11r-2008 (Fast BSS Transition)
133*03f9172cSAndroid Build Coastguard Worker#CONFIG_IEEE80211R=y
134*03f9172cSAndroid Build Coastguard Worker
135*03f9172cSAndroid Build Coastguard Worker# Use the hostapd's IEEE 802.11 authentication (ACL), but without
136*03f9172cSAndroid Build Coastguard Worker# the IEEE 802.11 Management capability (e.g., FreeBSD/net80211)
137*03f9172cSAndroid Build Coastguard Worker#CONFIG_DRIVER_RADIUS_ACL=y
138*03f9172cSAndroid Build Coastguard Worker
139*03f9172cSAndroid Build Coastguard Worker# IEEE 802.11ac (Very High Throughput) support
140*03f9172cSAndroid Build Coastguard WorkerCONFIG_IEEE80211AC=y
141*03f9172cSAndroid Build Coastguard Worker
142*03f9172cSAndroid Build Coastguard Worker# IEEE 802.11ax (High Efficiency) support
143*03f9172cSAndroid Build Coastguard Workerifeq ($(WIFI_FEATURE_HOSTAPD_11AX), true)
144*03f9172cSAndroid Build Coastguard WorkerCONFIG_IEEE80211AX=y
145*03f9172cSAndroid Build Coastguard Workerendif
146*03f9172cSAndroid Build Coastguard Worker
147*03f9172cSAndroid Build Coastguard Worker# IEEE 802.11be EHT (Extremely High Throughput) support
148*03f9172cSAndroid Build Coastguard Worker# Note: Enabling CONFIG_IEEE80211BE requires CONFIG_IEEE80211AX to be enabled as well. Therefore,
149*03f9172cSAndroid Build Coastguard Worker# the hostapd/Android.mk file automatically enables CONFIG_IEEE80211AX when CONFIG_IEEE80211BE is
150*03f9172cSAndroid Build Coastguard Worker# enabled here.
151*03f9172cSAndroid Build Coastguard Workerifeq ($(WIFI_FEATURE_HOSTAPD_11BE), true)
152*03f9172cSAndroid Build Coastguard WorkerCONFIG_IEEE80211BE=y
153*03f9172cSAndroid Build Coastguard Workerendif
154*03f9172cSAndroid Build Coastguard Worker
155*03f9172cSAndroid Build Coastguard Worker# Remove debugging code that is printing out debug messages to stdout.
156*03f9172cSAndroid Build Coastguard Worker# This can be used to reduce the size of the hostapd considerably if debugging
157*03f9172cSAndroid Build Coastguard Worker# code is not needed.
158*03f9172cSAndroid Build Coastguard Worker#CONFIG_NO_STDOUT_DEBUG=y
159*03f9172cSAndroid Build Coastguard Worker
160*03f9172cSAndroid Build Coastguard Worker# Add support for writing debug log to Android logcat instead of standard output
161*03f9172cSAndroid Build Coastguard WorkerCONFIG_ANDROID_LOG=y
162*03f9172cSAndroid Build Coastguard Worker
163*03f9172cSAndroid Build Coastguard Worker# Remove support for RADIUS accounting
164*03f9172cSAndroid Build Coastguard Worker#CONFIG_NO_ACCOUNTING=y
165*03f9172cSAndroid Build Coastguard Worker
166*03f9172cSAndroid Build Coastguard Worker# Remove support for RADIUS
167*03f9172cSAndroid Build Coastguard WorkerCONFIG_NO_RADIUS=y
168*03f9172cSAndroid Build Coastguard Worker
169*03f9172cSAndroid Build Coastguard Worker# Remove support for VLANs
170*03f9172cSAndroid Build Coastguard Worker#CONFIG_NO_VLAN=y
171*03f9172cSAndroid Build Coastguard Worker
172*03f9172cSAndroid Build Coastguard Worker# Remove support for dumping internal state through control interface commands
173*03f9172cSAndroid Build Coastguard Worker# This can be used to reduce binary size at the cost of disabling a debugging
174*03f9172cSAndroid Build Coastguard Worker# option.
175*03f9172cSAndroid Build Coastguard Worker#CONFIG_NO_DUMP_STATE=y
176*03f9172cSAndroid Build Coastguard Worker
177*03f9172cSAndroid Build Coastguard Worker# Select wrapper for operatins system and C library specific functions
178*03f9172cSAndroid Build Coastguard Worker# unix = UNIX/POSIX like systems (default)
179*03f9172cSAndroid Build Coastguard Worker# win32 = Windows systems
180*03f9172cSAndroid Build Coastguard Worker# none = Empty template
181*03f9172cSAndroid Build Coastguard WorkerCONFIG_OS=unix
182*03f9172cSAndroid Build Coastguard Worker
183*03f9172cSAndroid Build Coastguard Worker# Enable tracing code for developer debugging
184*03f9172cSAndroid Build Coastguard Worker# This tracks use of memory allocations and other registrations and reports
185*03f9172cSAndroid Build Coastguard Worker# incorrect use with a backtrace of call (or allocation) location.
186*03f9172cSAndroid Build Coastguard Worker#CONFIG_WPA_TRACE=y
187*03f9172cSAndroid Build Coastguard Worker# For BSD, comment out these.
188*03f9172cSAndroid Build Coastguard Worker#LIBS += -lexecinfo
189*03f9172cSAndroid Build Coastguard Worker#LIBS_p += -lexecinfo
190*03f9172cSAndroid Build Coastguard Worker#LIBS_c += -lexecinfo
191*03f9172cSAndroid Build Coastguard Worker
192*03f9172cSAndroid Build Coastguard Worker# Use libbfd to get more details for developer debugging
193*03f9172cSAndroid Build Coastguard Worker# This enables use of libbfd to get more detailed symbols for the backtraces
194*03f9172cSAndroid Build Coastguard Worker# generated by CONFIG_WPA_TRACE=y.
195*03f9172cSAndroid Build Coastguard Worker#CONFIG_WPA_TRACE_BFD=y
196*03f9172cSAndroid Build Coastguard Worker# For BSD, comment out these.
197*03f9172cSAndroid Build Coastguard Worker#LIBS += -lbfd -liberty -lz
198*03f9172cSAndroid Build Coastguard Worker#LIBS_p += -lbfd -liberty -lz
199*03f9172cSAndroid Build Coastguard Worker#LIBS_c += -lbfd -liberty -lz
200*03f9172cSAndroid Build Coastguard Worker
201*03f9172cSAndroid Build Coastguard Worker# Should we use poll instead of select? Select is used by default.
202*03f9172cSAndroid Build Coastguard Worker#CONFIG_ELOOP_POLL=y
203*03f9172cSAndroid Build Coastguard Worker
204*03f9172cSAndroid Build Coastguard Worker# Should we use epoll instead of select? Select is used by default.
205*03f9172cSAndroid Build Coastguard Worker#CONFIG_ELOOP_EPOLL=y
206*03f9172cSAndroid Build Coastguard Worker
207*03f9172cSAndroid Build Coastguard Worker# Enable AP
208*03f9172cSAndroid Build Coastguard WorkerCONFIG_AP=y
209*03f9172cSAndroid Build Coastguard Worker
210*03f9172cSAndroid Build Coastguard Worker# Enable Fast Session Transfer (FST)
211*03f9172cSAndroid Build Coastguard Worker#CONFIG_FST=y
212*03f9172cSAndroid Build Coastguard Worker
213*03f9172cSAndroid Build Coastguard Worker# Multiband Operation support
214*03f9172cSAndroid Build Coastguard Worker# These extensions facilitate efficient use of multiple frequency bands
215*03f9172cSAndroid Build Coastguard Worker# available to the AP and the devices that may associate with it.
216*03f9172cSAndroid Build Coastguard Worker#CONFIG_MBO=y
217*03f9172cSAndroid Build Coastguard Worker
218*03f9172cSAndroid Build Coastguard Worker# Include internal line edit mode in hostapd_cli.
219*03f9172cSAndroid Build Coastguard WorkerCONFIG_WPA_CLI_EDIT=y
220*03f9172cSAndroid Build Coastguard Worker
221*03f9172cSAndroid Build Coastguard Worker# Opportunistic Wireless Encryption (OWE)
222*03f9172cSAndroid Build Coastguard Worker# Experimental implementation of draft-harkins-owe-07.txt
223*03f9172cSAndroid Build Coastguard Worker#CONFIG_OWE=y
224*03f9172cSAndroid Build Coastguard Worker
225*03f9172cSAndroid Build Coastguard Worker# WLAN Authentication and Privacy Infrastructure (WAPI): interface only.
226*03f9172cSAndroid Build Coastguard Worker# Configure the building of the interface which allows WAPI configuration.
227*03f9172cSAndroid Build Coastguard Worker# Note: does not configure WAPI implementation itself.
228*03f9172cSAndroid Build Coastguard Worker#CONFIG_WAPI_INTERFACE=y
229*03f9172cSAndroid Build Coastguard Worker
230*03f9172cSAndroid Build Coastguard Worker# Wpa_supplicant's random pool is not necessary on Android. Randomness is
231*03f9172cSAndroid Build Coastguard Worker# already provided by the entropymixer service which ensures sufficient
232*03f9172cSAndroid Build Coastguard Worker# entropy is maintained across reboots. Commit b410eb1913 'Initialize
233*03f9172cSAndroid Build Coastguard Worker# /dev/urandom earlier in boot' seeds /dev/urandom with that entropy before
234*03f9172cSAndroid Build Coastguard Worker# either wpa_supplicant or hostapd are run.
235*03f9172cSAndroid Build Coastguard WorkerCONFIG_NO_RANDOM_POOL=y
236*03f9172cSAndroid Build Coastguard Worker
237*03f9172cSAndroid Build Coastguard Worker# Add support for Aidl control interface
238*03f9172cSAndroid Build Coastguard Worker# Only applicable for Android platforms.
239*03f9172cSAndroid Build Coastguard WorkerCONFIG_CTRL_IFACE_AIDL=y
240*03f9172cSAndroid Build Coastguard Worker
241*03f9172cSAndroid Build Coastguard Worker# Enable support of Automatic Channel Selection
242*03f9172cSAndroid Build Coastguard WorkerCONFIG_ACS=y
243*03f9172cSAndroid Build Coastguard Worker
244*03f9172cSAndroid Build Coastguard Worker# Easy Connect (Device Provisioning Protocol - DPP)
245*03f9172cSAndroid Build Coastguard WorkerCONFIG_DPP=y
246*03f9172cSAndroid Build Coastguard Worker
247*03f9172cSAndroid Build Coastguard Worker# WPA3-Personal (SAE)
248*03f9172cSAndroid Build Coastguard WorkerCONFIG_SAE=y
249*03f9172cSAndroid Build Coastguard Worker
250*03f9172cSAndroid Build Coastguard Worker# Wired equivalent privacy (WEP)
251*03f9172cSAndroid Build Coastguard Worker# WEP is an obsolete cryptographic data confidentiality algorithm that is not
252*03f9172cSAndroid Build Coastguard Worker# considered secure. It should not be used for anything anymore. The
253*03f9172cSAndroid Build Coastguard Worker# functionality needed to use WEP is available in the current hostapd
254*03f9172cSAndroid Build Coastguard Worker# release under this optional build parameter. This functionality is subject to
255*03f9172cSAndroid Build Coastguard Worker# be completely removed in a future release.
256*03f9172cSAndroid Build Coastguard WorkerCONFIG_WEP=y
257*03f9172cSAndroid Build Coastguard Worker
258*03f9172cSAndroid Build Coastguard Worker# Interworking (IEEE 802.11u)
259*03f9172cSAndroid Build Coastguard Worker# This can be used to enable functionality to improve interworking with
260*03f9172cSAndroid Build Coastguard Worker# external networks.
261*03f9172cSAndroid Build Coastguard WorkerCONFIG_INTERWORKING=y
262*03f9172cSAndroid Build Coastguard Worker
263*03f9172cSAndroid Build Coastguard Worker# Testing options
264*03f9172cSAndroid Build Coastguard Worker# This can be used to enable some testing options (see also the example
265*03f9172cSAndroid Build Coastguard Worker# configuration file) that are useful for testing clients that
266*03f9172cSAndroid Build Coastguard Worker# connect to this hostapd. These options allow, for example, to drop a
267*03f9172cSAndroid Build Coastguard Worker# certain percentage of probe requests or auth/(re)assoc frames.
268*03f9172cSAndroid Build Coastguard Worker# Each test case requires a flag set in hostapd.conf or through hostapd_cli
269*03f9172cSAndroid Build Coastguard Worker#CONFIG_TESTING_OPTIONS=y
270*03f9172cSAndroid Build Coastguard Worker
271*03f9172cSAndroid Build Coastguard Worker# Wi-Fi Aware unsynchronized service discovery (NAN USD)
272*03f9172cSAndroid Build Coastguard Worker#CONFIG_NAN_USD=y
273