xref: /freebsd/contrib/wpa/hostapd/android.config (revision a90b9d0159070121c221b966469c3e36d912bf82)
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