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# Broadcom vendor extensions to nl80211
32e5b75505Sopenharmony_ci#CONFIG_DRIVER_NL80211_BRCM=y
33e5b75505Sopenharmony_ci
34e5b75505Sopenharmony_ci# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver)
35e5b75505Sopenharmony_ci#CONFIG_DRIVER_BSD=y
36e5b75505Sopenharmony_ci#CFLAGS += -I/usr/local/include
37e5b75505Sopenharmony_ci#LIBS += -L/usr/local/lib
38e5b75505Sopenharmony_ci#LIBS_p += -L/usr/local/lib
39e5b75505Sopenharmony_ci#LIBS_c += -L/usr/local/lib
40e5b75505Sopenharmony_ci
41e5b75505Sopenharmony_ci# Driver interface for no driver (e.g., RADIUS server only)
42e5b75505Sopenharmony_ci#CONFIG_DRIVER_NONE=y
43e5b75505Sopenharmony_ci
44e5b75505Sopenharmony_ci# WPA2/IEEE 802.11i RSN pre-authentication
45e5b75505Sopenharmony_ci#CONFIG_RSN_PREAUTH=y
46e5b75505Sopenharmony_ci
47e5b75505Sopenharmony_ci# Support Operating Channel Validation
48e5b75505Sopenharmony_ci#CONFIG_OCV=y
49e5b75505Sopenharmony_ci
50e5b75505Sopenharmony_ci# Integrated EAP server
51e5b75505Sopenharmony_ci#CONFIG_EAP=y
52e5b75505Sopenharmony_ci
53e5b75505Sopenharmony_ci# EAP-MD5 for the integrated EAP server
54e5b75505Sopenharmony_ci#CONFIG_EAP_MD5=y
55e5b75505Sopenharmony_ci
56e5b75505Sopenharmony_ci# EAP-TLS for the integrated EAP server
57e5b75505Sopenharmony_ci#CONFIG_EAP_TLS=y
58e5b75505Sopenharmony_ci
59e5b75505Sopenharmony_ci# EAP-MSCHAPv2 for the integrated EAP server
60e5b75505Sopenharmony_ci#CONFIG_EAP_MSCHAPV2=y
61e5b75505Sopenharmony_ci
62e5b75505Sopenharmony_ci# EAP-PEAP for the integrated EAP server
63e5b75505Sopenharmony_ci#CONFIG_EAP_PEAP=y
64e5b75505Sopenharmony_ci
65e5b75505Sopenharmony_ci# EAP-GTC for the integrated EAP server
66e5b75505Sopenharmony_ci#CONFIG_EAP_GTC=y
67e5b75505Sopenharmony_ci
68e5b75505Sopenharmony_ci# EAP-TTLS for the integrated EAP server
69e5b75505Sopenharmony_ci#CONFIG_EAP_TTLS=y
70e5b75505Sopenharmony_ci
71e5b75505Sopenharmony_ci# EAP-SIM for the integrated EAP server
72e5b75505Sopenharmony_ci#CONFIG_EAP_SIM=y
73e5b75505Sopenharmony_ci
74e5b75505Sopenharmony_ci# EAP-AKA for the integrated EAP server
75e5b75505Sopenharmony_ci#CONFIG_EAP_AKA=y
76e5b75505Sopenharmony_ci
77e5b75505Sopenharmony_ci# EAP-AKA' for the integrated EAP server
78e5b75505Sopenharmony_ci# This requires CONFIG_EAP_AKA to be enabled, too.
79e5b75505Sopenharmony_ci#CONFIG_EAP_AKA_PRIME=y
80e5b75505Sopenharmony_ci
81e5b75505Sopenharmony_ci# EAP-PAX for the integrated EAP server
82e5b75505Sopenharmony_ci#CONFIG_EAP_PAX=y
83e5b75505Sopenharmony_ci
84e5b75505Sopenharmony_ci# EAP-PSK for the integrated EAP server (this is _not_ needed for WPA-PSK)
85e5b75505Sopenharmony_ci#CONFIG_EAP_PSK=y
86e5b75505Sopenharmony_ci
87e5b75505Sopenharmony_ci# EAP-SAKE for the integrated EAP server
88e5b75505Sopenharmony_ci#CONFIG_EAP_SAKE=y
89e5b75505Sopenharmony_ci
90e5b75505Sopenharmony_ci# EAP-GPSK for the integrated EAP server
91e5b75505Sopenharmony_ci#CONFIG_EAP_GPSK=y
92e5b75505Sopenharmony_ci# Include support for optional SHA256 cipher suite in EAP-GPSK
93e5b75505Sopenharmony_ci#CONFIG_EAP_GPSK_SHA256=y
94e5b75505Sopenharmony_ci
95e5b75505Sopenharmony_ci# EAP-FAST for the integrated EAP server
96e5b75505Sopenharmony_ci# Note: Default OpenSSL package does not include support for all the
97e5b75505Sopenharmony_ci# functionality needed for EAP-FAST. If EAP-FAST is enabled with OpenSSL,
98e5b75505Sopenharmony_ci# the OpenSSL library must be patched (openssl-0.9.9-session-ticket.patch)
99e5b75505Sopenharmony_ci# to add the needed functions.
100e5b75505Sopenharmony_ci#CONFIG_EAP_FAST=y
101e5b75505Sopenharmony_ci
102e5b75505Sopenharmony_ci# Wi-Fi Protected Setup (WPS)
103e5b75505Sopenharmony_ciCONFIG_WPS=y
104e5b75505Sopenharmony_ci# Enable UPnP support for external WPS Registrars
105e5b75505Sopenharmony_ci#CONFIG_WPS_UPNP=y
106e5b75505Sopenharmony_ci
107e5b75505Sopenharmony_ci# EAP-IKEv2
108e5b75505Sopenharmony_ci#CONFIG_EAP_IKEV2=y
109e5b75505Sopenharmony_ci
110e5b75505Sopenharmony_ci# Trusted Network Connect (EAP-TNC)
111e5b75505Sopenharmony_ci#CONFIG_EAP_TNC=y
112e5b75505Sopenharmony_ci
113e5b75505Sopenharmony_ci# PKCS#12 (PFX) support (used to read private key and certificate file from
114e5b75505Sopenharmony_ci# a file that usually has extension .p12 or .pfx)
115e5b75505Sopenharmony_ciCONFIG_PKCS12=y
116e5b75505Sopenharmony_ci
117e5b75505Sopenharmony_ci# RADIUS authentication server. This provides access to the integrated EAP
118e5b75505Sopenharmony_ci# server from external hosts using RADIUS.
119e5b75505Sopenharmony_ci#CONFIG_RADIUS_SERVER=y
120e5b75505Sopenharmony_ci
121e5b75505Sopenharmony_ci# Build IPv6 support for RADIUS operations
122e5b75505Sopenharmony_ciCONFIG_IPV6=y
123e5b75505Sopenharmony_ci
124e5b75505Sopenharmony_ci# IEEE Std 802.11r-2008 (Fast BSS Transition)
125e5b75505Sopenharmony_ci#CONFIG_IEEE80211R=y
126e5b75505Sopenharmony_ci
127e5b75505Sopenharmony_ci# Use the hostapd's IEEE 802.11 authentication (ACL), but without
128e5b75505Sopenharmony_ci# the IEEE 802.11 Management capability (e.g., FreeBSD/net80211)
129e5b75505Sopenharmony_ci#CONFIG_DRIVER_RADIUS_ACL=y
130e5b75505Sopenharmony_ci
131e5b75505Sopenharmony_ci# Remove debugging code that is printing out debug messages to stdout.
132e5b75505Sopenharmony_ci# This can be used to reduce the size of the hostapd considerably if debugging
133e5b75505Sopenharmony_ci# code is not needed.
134e5b75505Sopenharmony_ci#CONFIG_NO_STDOUT_DEBUG=y
135e5b75505Sopenharmony_ci
136e5b75505Sopenharmony_ci# Add support for writing debug log to Android logcat instead of standard output
137e5b75505Sopenharmony_ciCONFIG_ANDROID_LOG=y
138e5b75505Sopenharmony_ci
139e5b75505Sopenharmony_ci# Remove support for RADIUS accounting
140e5b75505Sopenharmony_ci#CONFIG_NO_ACCOUNTING=y
141e5b75505Sopenharmony_ci
142e5b75505Sopenharmony_ci# Remove support for RADIUS
143e5b75505Sopenharmony_ciCONFIG_NO_RADIUS=y
144e5b75505Sopenharmony_ci
145e5b75505Sopenharmony_ci# Remove support for VLANs
146e5b75505Sopenharmony_ci#CONFIG_NO_VLAN=y
147e5b75505Sopenharmony_ci
148e5b75505Sopenharmony_ci# Remove support for dumping internal state through control interface commands
149e5b75505Sopenharmony_ci# This can be used to reduce binary size at the cost of disabling a debugging
150e5b75505Sopenharmony_ci# option.
151e5b75505Sopenharmony_ci#CONFIG_NO_DUMP_STATE=y
152e5b75505Sopenharmony_ci
153e5b75505Sopenharmony_ci# Select wrapper for operatins system and C library specific functions
154e5b75505Sopenharmony_ci# unix = UNIX/POSIX like systems (default)
155e5b75505Sopenharmony_ci# win32 = Windows systems
156e5b75505Sopenharmony_ci# none = Empty template
157e5b75505Sopenharmony_ciCONFIG_OS=unix
158e5b75505Sopenharmony_ci
159e5b75505Sopenharmony_ci# Enable tracing code for developer debugging
160e5b75505Sopenharmony_ci# This tracks use of memory allocations and other registrations and reports
161e5b75505Sopenharmony_ci# incorrect use with a backtrace of call (or allocation) location.
162e5b75505Sopenharmony_ci#CONFIG_WPA_TRACE=y
163e5b75505Sopenharmony_ci# For BSD, comment out these.
164e5b75505Sopenharmony_ci#LIBS += -lexecinfo
165e5b75505Sopenharmony_ci#LIBS_p += -lexecinfo
166e5b75505Sopenharmony_ci#LIBS_c += -lexecinfo
167e5b75505Sopenharmony_ci
168e5b75505Sopenharmony_ci# Use libbfd to get more details for developer debugging
169e5b75505Sopenharmony_ci# This enables use of libbfd to get more detailed symbols for the backtraces
170e5b75505Sopenharmony_ci# generated by CONFIG_WPA_TRACE=y.
171e5b75505Sopenharmony_ci#CONFIG_WPA_TRACE_BFD=y
172e5b75505Sopenharmony_ci# For BSD, comment out these.
173e5b75505Sopenharmony_ci#LIBS += -lbfd -liberty -lz
174e5b75505Sopenharmony_ci#LIBS_p += -lbfd -liberty -lz
175e5b75505Sopenharmony_ci#LIBS_c += -lbfd -liberty -lz
176e5b75505Sopenharmony_ci
177e5b75505Sopenharmony_ci# Should we use poll instead of select? Select is used by default.
178e5b75505Sopenharmony_ci#CONFIG_ELOOP_POLL=y
179e5b75505Sopenharmony_ci
180e5b75505Sopenharmony_ci# Should we use epoll instead of select? Select is used by default.
181e5b75505Sopenharmony_ci#CONFIG_ELOOP_EPOLL=y
182e5b75505Sopenharmony_ci
183e5b75505Sopenharmony_ci# Enable AP
184e5b75505Sopenharmony_ciCONFIG_AP=y
185e5b75505Sopenharmony_ci
186e5b75505Sopenharmony_ci# Enable Fast Session Transfer (FST)
187e5b75505Sopenharmony_ci#CONFIG_FST=y
188e5b75505Sopenharmony_ci
189e5b75505Sopenharmony_ci# Multiband Operation support
190e5b75505Sopenharmony_ci# These extensions facilitate efficient use of multiple frequency bands
191e5b75505Sopenharmony_ci# available to the AP and the devices that may associate with it.
192e5b75505Sopenharmony_ci#CONFIG_MBO=y
193e5b75505Sopenharmony_ci
194e5b75505Sopenharmony_ci# Include internal line edit mode in hostapd_cli.
195e5b75505Sopenharmony_ciCONFIG_WPA_CLI_EDIT=y
196e5b75505Sopenharmony_ci
197e5b75505Sopenharmony_ci# Opportunistic Wireless Encryption (OWE)
198e5b75505Sopenharmony_ci# Experimental implementation of draft-harkins-owe-07.txt
199e5b75505Sopenharmony_ci#CONFIG_OWE=y
200e5b75505Sopenharmony_ci
201e5b75505Sopenharmony_ci# Wpa_supplicant's random pool is not necessary on Android. Randomness is
202e5b75505Sopenharmony_ci# already provided by the entropymixer service which ensures sufficient
203e5b75505Sopenharmony_ci# entropy is maintained across reboots. Commit b410eb1913 'Initialize
204e5b75505Sopenharmony_ci# /dev/urandom earlier in boot' seeds /dev/urandom with that entropy before
205e5b75505Sopenharmony_ci# either wpa_supplicant or hostapd are run.
206e5b75505Sopenharmony_ciCONFIG_NO_RANDOM_POOL=y
207e5b75505Sopenharmony_ci
208e5b75505Sopenharmony_ci# Wired equivalent privacy (WEP)
209e5b75505Sopenharmony_ci# WEP is an obsolete cryptographic data confidentiality algorithm that is not
210e5b75505Sopenharmony_ci# considered secure. It should not be used for anything anymore. The
211e5b75505Sopenharmony_ci# functionality needed to use WEP is available in the current hostapd
212e5b75505Sopenharmony_ci# release under this optional build parameter. This functionality is subject to
213e5b75505Sopenharmony_ci# be completely removed in a future release.
214e5b75505Sopenharmony_ciCONFIG_WEP=y