blob: cdfb1974da5cf9d6bcf6d1fa97defbca426ce7a8 [file] [log] [blame]
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001# Example wpa_supplicant build time configuration
2#
3# This file lists the configuration options that are used when building the
Dmitry Shmidtebd93af2017-02-21 13:40:44 -08004# wpa_supplicant binary. All lines starting with # are ignored. Configuration
5# option lines must be commented out complete, if they are not to be included,
6# i.e., just setting VARIABLE=n is not disabling that variable.
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07007#
8# This file is included in Makefile, so variables like CFLAGS and LIBS can also
9# be modified from here. In most cases, these lines should use += in order not
10# to override previous values of the variables.
11
12
13# Uncomment following two lines and fix the paths if you have installed OpenSSL
14# or GnuTLS in non-default location
15#CFLAGS += -I/usr/local/openssl/include
16#LIBS += -L/usr/local/openssl/lib
17
18# Some Red Hat versions seem to include kerberos header files from OpenSSL, but
19# the kerberos files are not in the default include path. Following line can be
20# used to fix build issues on such systems (krb5.h not found).
21#CFLAGS += -I/usr/include/kerberos
22
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070023# Driver interface for generic Linux wireless extensions
24# Note: WEXT is deprecated in the current Linux kernel version and no new
25# functionality is added to it. nl80211-based interface is the new
26# replacement for WEXT and its use allows wpa_supplicant to properly control
27# the driver to improve existing functionality like roaming and to support new
28# functionality.
29CONFIG_DRIVER_WEXT=y
30
31# Driver interface for Linux drivers using the nl80211 kernel interface
32CONFIG_DRIVER_NL80211=y
33
Dmitry Shmidtd80a4012015-11-05 16:35:40 -080034# QCA vendor extensions to nl80211
35#CONFIG_DRIVER_NL80211_QCA=y
36
Dmitry Shmidt344abd32014-01-14 13:17:00 -080037# driver_nl80211.c requires libnl. If you are compiling it yourself
38# you may need to point hostapd to your version of libnl.
39#
40#CFLAGS += -I$<path to libnl include files>
41#LIBS += -L$<path to libnl library files>
42
43# Use libnl v2.0 (or 3.0) libraries.
44#CONFIG_LIBNL20=y
45
46# Use libnl 3.2 libraries (if this is selected, CONFIG_LIBNL20 is ignored)
Hai Shalom74f70d42019-02-11 14:42:39 -080047CONFIG_LIBNL32=y
Dmitry Shmidt344abd32014-01-14 13:17:00 -080048
49
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070050# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver)
51#CONFIG_DRIVER_BSD=y
52#CFLAGS += -I/usr/local/include
53#LIBS += -L/usr/local/lib
54#LIBS_p += -L/usr/local/lib
55#LIBS_c += -L/usr/local/lib
56
57# Driver interface for Windows NDIS
58#CONFIG_DRIVER_NDIS=y
59#CFLAGS += -I/usr/include/w32api/ddk
60#LIBS += -L/usr/local/lib
61# For native build using mingw
62#CONFIG_NATIVE_WINDOWS=y
63# Additional directories for cross-compilation on Linux host for mingw target
64#CFLAGS += -I/opt/mingw/mingw32/include/ddk
65#LIBS += -L/opt/mingw/mingw32/lib
66#CC=mingw32-gcc
67# By default, driver_ndis uses WinPcap for low-level operations. This can be
68# replaced with the following option which replaces WinPcap calls with NDISUIO.
69# However, this requires that WZC is disabled (net stop wzcsvc) before starting
70# wpa_supplicant.
71# CONFIG_USE_NDISUIO=y
72
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070073# Driver interface for wired Ethernet drivers
74CONFIG_DRIVER_WIRED=y
75
Roshan Pius3a1667e2018-07-03 15:17:14 -070076# Driver interface for MACsec capable Qualcomm Atheros drivers
77#CONFIG_DRIVER_MACSEC_QCA=y
78
79# Driver interface for Linux MACsec drivers
80#CONFIG_DRIVER_MACSEC_LINUX=y
81
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070082# Driver interface for the Broadcom RoboSwitch family
83#CONFIG_DRIVER_ROBOSWITCH=y
84
85# Driver interface for no driver (e.g., WPS ER only)
86#CONFIG_DRIVER_NONE=y
87
88# Solaris libraries
89#LIBS += -lsocket -ldlpi -lnsl
90#LIBS_c += -lsocket
91
Roshan Pius3a1667e2018-07-03 15:17:14 -070092# Enable IEEE 802.1X Supplicant (automatically included if any EAP method or
93# MACsec is included)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070094CONFIG_IEEE8021X_EAPOL=y
95
96# EAP-MD5
97CONFIG_EAP_MD5=y
98
99# EAP-MSCHAPv2
100CONFIG_EAP_MSCHAPV2=y
101
102# EAP-TLS
103CONFIG_EAP_TLS=y
104
105# EAL-PEAP
106CONFIG_EAP_PEAP=y
107
108# EAP-TTLS
109CONFIG_EAP_TTLS=y
110
111# EAP-FAST
Hai Shalom021b0b52019-04-10 11:17:58 -0700112CONFIG_EAP_FAST=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700113
Hai Shalom81f62d82019-07-22 12:10:00 -0700114# EAP-TEAP
115# Note: The current EAP-TEAP implementation is experimental and should not be
116# enabled for production use. The IETF RFC 7170 that defines EAP-TEAP has number
117# of conflicting statements and missing details and the implementation has
118# vendor specific workarounds for those and as such, may not interoperate with
119# any other implementation. This should not be used for anything else than
120# experimentation and interoperability testing until those issues has been
121# resolved.
122#CONFIG_EAP_TEAP=y
123
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700124# EAP-GTC
125CONFIG_EAP_GTC=y
126
127# EAP-OTP
128CONFIG_EAP_OTP=y
129
130# EAP-SIM (enable CONFIG_PCSC, if EAP-SIM is used)
131#CONFIG_EAP_SIM=y
132
Hai Shalom81f62d82019-07-22 12:10:00 -0700133# Enable SIM simulator (Milenage) for EAP-SIM
134#CONFIG_SIM_SIMULATOR=y
135
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700136# EAP-PSK (experimental; this is _not_ needed for WPA-PSK)
137#CONFIG_EAP_PSK=y
138
Dmitry Shmidtc5ec7f52012-03-06 16:33:24 -0800139# EAP-pwd (secure authentication using only a password)
Hai Shalom021b0b52019-04-10 11:17:58 -0700140CONFIG_EAP_PWD=y
Dmitry Shmidtc5ec7f52012-03-06 16:33:24 -0800141
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700142# EAP-PAX
Hai Shalom021b0b52019-04-10 11:17:58 -0700143CONFIG_EAP_PAX=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700144
145# LEAP
146CONFIG_EAP_LEAP=y
147
148# EAP-AKA (enable CONFIG_PCSC, if EAP-AKA is used)
149#CONFIG_EAP_AKA=y
150
151# EAP-AKA' (enable CONFIG_PCSC, if EAP-AKA' is used).
152# This requires CONFIG_EAP_AKA to be enabled, too.
153#CONFIG_EAP_AKA_PRIME=y
154
155# Enable USIM simulator (Milenage) for EAP-AKA
156#CONFIG_USIM_SIMULATOR=y
157
158# EAP-SAKE
Hai Shalom021b0b52019-04-10 11:17:58 -0700159CONFIG_EAP_SAKE=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700160
161# EAP-GPSK
Hai Shalom021b0b52019-04-10 11:17:58 -0700162CONFIG_EAP_GPSK=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700163# Include support for optional SHA256 cipher suite in EAP-GPSK
Hai Shalom021b0b52019-04-10 11:17:58 -0700164CONFIG_EAP_GPSK_SHA256=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700165
166# EAP-TNC and related Trusted Network Connect support (experimental)
Hai Shalom021b0b52019-04-10 11:17:58 -0700167CONFIG_EAP_TNC=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700168
169# Wi-Fi Protected Setup (WPS)
Hai Shalom021b0b52019-04-10 11:17:58 -0700170CONFIG_WPS=y
Jouni Malinen75ecf522011-06-27 15:19:46 -0700171# Enable WPS external registrar functionality
172#CONFIG_WPS_ER=y
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -0800173# Disable credentials for an open network by default when acting as a WPS
174# registrar.
175#CONFIG_WPS_REG_DISABLE_OPEN=y
Dmitry Shmidt04949592012-07-19 12:16:46 -0700176# Enable WPS support with NFC config method
177#CONFIG_WPS_NFC=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700178
179# EAP-IKEv2
Hai Shalom021b0b52019-04-10 11:17:58 -0700180CONFIG_EAP_IKEV2=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700181
Dmitry Shmidt34af3062013-07-11 10:46:32 -0700182# EAP-EKE
183#CONFIG_EAP_EKE=y
184
Roshan Pius3a1667e2018-07-03 15:17:14 -0700185# MACsec
186#CONFIG_MACSEC=y
187
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700188# PKCS#12 (PFX) support (used to read private key and certificate file from
189# a file that usually has extension .p12 or .pfx)
190CONFIG_PKCS12=y
191
192# Smartcard support (i.e., private key on a smartcard), e.g., with openssl
193# engine.
194CONFIG_SMARTCARD=y
195
196# PC/SC interface for smartcards (USIM, GSM SIM)
197# Enable this if EAP-SIM or EAP-AKA is included
198#CONFIG_PCSC=y
199
Dmitry Shmidtc5ec7f52012-03-06 16:33:24 -0800200# Support HT overrides (disable HT/HT40, mask MCS rates, etc.)
201#CONFIG_HT_OVERRIDES=y
202
Dmitry Shmidt2f023192013-03-12 12:44:17 -0700203# Support VHT overrides (disable VHT, mask MCS rates, etc.)
204#CONFIG_VHT_OVERRIDES=y
205
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700206# Development testing
207#CONFIG_EAPOL_TEST=y
208
209# Select control interface backend for external programs, e.g, wpa_cli:
210# unix = UNIX domain sockets (default for Linux/*BSD)
211# udp = UDP sockets using localhost (127.0.0.1)
Dmitry Shmidtf21452a2014-02-26 10:55:25 -0800212# udp6 = UDP IPv6 sockets using localhost (::1)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700213# named_pipe = Windows Named Pipe (default for Windows)
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700214# udp-remote = UDP sockets with remote access (only for tests systems/purpose)
Dmitry Shmidtf21452a2014-02-26 10:55:25 -0800215# udp6-remote = UDP IPv6 sockets with remote access (only for tests purpose)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700216# y = use default (backwards compatibility)
217# If this option is commented out, control interface is not included in the
218# build.
219CONFIG_CTRL_IFACE=y
220
221# Include support for GNU Readline and History Libraries in wpa_cli.
222# When building a wpa_cli binary for distribution, please note that these
223# libraries are licensed under GPL and as such, BSD license may not apply for
224# the resulting binary.
225#CONFIG_READLINE=y
226
227# Include internal line edit mode in wpa_cli. This can be used as a replacement
228# for GNU Readline to provide limited command line editing and history support.
229#CONFIG_WPA_CLI_EDIT=y
230
231# Remove debugging code that is printing out debug message to stdout.
232# This can be used to reduce the size of the wpa_supplicant considerably
233# if debugging code is not needed. The size reduction can be around 35%
234# (e.g., 90 kB).
235#CONFIG_NO_STDOUT_DEBUG=y
236
237# Remove WPA support, e.g., for wired-only IEEE 802.1X supplicant, to save
238# 35-50 kB in code size.
239#CONFIG_NO_WPA=y
240
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700241# Remove IEEE 802.11i/WPA-Personal ASCII passphrase support
242# This option can be used to reduce code size by removing support for
243# converting ASCII passphrases into PSK. If this functionality is removed, the
244# PSK can only be configured as the 64-octet hexstring (e.g., from
245# wpa_passphrase). This saves about 0.5 kB in code size.
246#CONFIG_NO_WPA_PASSPHRASE=y
247
Hai Shalom021b0b52019-04-10 11:17:58 -0700248# Simultaneous Authentication of Equals (SAE), WPA3-Personal
249CONFIG_SAE=y
250
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700251# Disable scan result processing (ap_mode=1) to save code size by about 1 kB.
252# This can be used if ap_scan=1 mode is never enabled.
253#CONFIG_NO_SCAN_PROCESSING=y
254
255# Select configuration backend:
256# file = text file (e.g., wpa_supplicant.conf; note: the configuration file
257# path is given on command line, not here; this option is just used to
258# select the backend that allows configuration files to be used)
259# winreg = Windows registry (see win_example.reg for an example)
260CONFIG_BACKEND=file
261
262# Remove configuration write functionality (i.e., to allow the configuration
263# file to be updated based on runtime configuration changes). The runtime
264# configuration can still be changed, the changes are just not going to be
265# persistent over restarts. This option can be used to reduce code size by
266# about 3.5 kB.
267#CONFIG_NO_CONFIG_WRITE=y
268
269# Remove support for configuration blobs to reduce code size by about 1.5 kB.
270#CONFIG_NO_CONFIG_BLOBS=y
271
272# Select program entry point implementation:
273# main = UNIX/POSIX like main() function (default)
274# main_winsvc = Windows service (read parameters from registry)
275# main_none = Very basic example (development use only)
276#CONFIG_MAIN=main
277
Dmitry Shmidt50b691d2014-05-21 14:01:45 -0700278# Select wrapper for operating system and C library specific functions
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700279# unix = UNIX/POSIX like systems (default)
280# win32 = Windows systems
281# none = Empty template
282#CONFIG_OS=unix
283
284# Select event loop implementation
285# eloop = select() loop (default)
286# eloop_win = Windows events and WaitForMultipleObject() loop
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700287#CONFIG_ELOOP=eloop
288
Dmitry Shmidtc5ec7f52012-03-06 16:33:24 -0800289# Should we use poll instead of select? Select is used by default.
290#CONFIG_ELOOP_POLL=y
291
Dmitry Shmidt50b691d2014-05-21 14:01:45 -0700292# Should we use epoll instead of select? Select is used by default.
293#CONFIG_ELOOP_EPOLL=y
294
Dmitry Shmidt57c2d392016-02-23 13:40:19 -0800295# Should we use kqueue instead of select? Select is used by default.
296#CONFIG_ELOOP_KQUEUE=y
297
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700298# Select layer 2 packet implementation
299# linux = Linux packet socket (default)
300# pcap = libpcap/libdnet/WinPcap
301# freebsd = FreeBSD libpcap
302# winpcap = WinPcap with receive thread
303# ndis = Windows NDISUIO (note: requires CONFIG_USE_NDISUIO=y)
304# none = Empty template
305#CONFIG_L2_PACKET=linux
306
Dmitry Shmidtd80a4012015-11-05 16:35:40 -0800307# Disable Linux packet socket workaround applicable for station interface
308# in a bridge for EAPOL frames. This should be uncommented only if the kernel
309# is known to not have the regression issue in packet socket behavior with
310# bridge interfaces (commit 'bridge: respect RFC2863 operational state')').
311#CONFIG_NO_LINUX_PACKET_SOCKET_WAR=y
312
Dmitry Shmidt04949592012-07-19 12:16:46 -0700313# IEEE 802.11w (management frame protection), also known as PMF
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700314# Driver support is also needed for IEEE 802.11w.
Hai Shalom021b0b52019-04-10 11:17:58 -0700315CONFIG_IEEE80211W=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700316
Hai Shalom74f70d42019-02-11 14:42:39 -0800317# Support Operating Channel Validation
318#CONFIG_OCV=y
319
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700320# Select TLS implementation
321# openssl = OpenSSL (default)
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -0800322# gnutls = GnuTLS
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700323# internal = Internal TLSv1 implementation (experimental)
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700324# linux = Linux kernel AF_ALG and internal TLSv1 implementation (experimental)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700325# none = Empty template
326#CONFIG_TLS=openssl
327
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -0800328# TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.1)
329# can be enabled to get a stronger construction of messages when block ciphers
330# are used. It should be noted that some existing TLS v1.0 -based
331# implementation may not be compatible with TLS v1.1 message (ClientHello is
332# sent prior to negotiating which version will be used)
333#CONFIG_TLSV11=y
334
335# TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.2)
336# can be enabled to enable use of stronger crypto algorithms. It should be
337# noted that some existing TLS v1.0 -based implementation may not be compatible
338# with TLS v1.2 message (ClientHello is sent prior to negotiating which version
339# will be used)
340#CONFIG_TLSV12=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700341
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700342# Select which ciphers to use by default with OpenSSL if the user does not
343# specify them.
344#CONFIG_TLS_DEFAULT_CIPHERS="DEFAULT:!EXP:!LOW"
345
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700346# If CONFIG_TLS=internal is used, additional library and include paths are
347# needed for LibTomMath. Alternatively, an integrated, minimal version of
348# LibTomMath can be used. See beginning of libtommath.c for details on benefits
349# and drawbacks of this option.
350#CONFIG_INTERNAL_LIBTOMMATH=y
351#ifndef CONFIG_INTERNAL_LIBTOMMATH
352#LTM_PATH=/usr/src/libtommath-0.39
353#CFLAGS += -I$(LTM_PATH)
354#LIBS += -L$(LTM_PATH)
355#LIBS_p += -L$(LTM_PATH)
356#endif
357# At the cost of about 4 kB of additional binary size, the internal LibTomMath
358# can be configured to include faster routines for exptmod, sqr, and div to
359# speed up DH and RSA calculation considerably
360#CONFIG_INTERNAL_LIBTOMMATH_FAST=y
361
362# Include NDIS event processing through WMI into wpa_supplicant/wpasvc.
363# This is only for Windows builds and requires WMI-related header files and
364# WbemUuid.Lib from Platform SDK even when building with MinGW.
365#CONFIG_NDIS_EVENTS_INTEGRATED=y
366#PLATFORMSDKLIB="/opt/Program Files/Microsoft Platform SDK/Lib"
367
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700368# Add support for new DBus control interface
369# (fi.w1.hostap.wpa_supplicant1)
Hai Shalom021b0b52019-04-10 11:17:58 -0700370CONFIG_CTRL_IFACE_DBUS_NEW=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700371
372# Add introspection support for new DBus control interface
Hai Shalom021b0b52019-04-10 11:17:58 -0700373CONFIG_CTRL_IFACE_DBUS_INTRO=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700374
375# Add support for loading EAP methods dynamically as shared libraries.
376# When this option is enabled, each EAP method can be either included
377# statically (CONFIG_EAP_<method>=y) or dynamically (CONFIG_EAP_<method>=dyn).
378# Dynamic EAP methods are build as shared objects (eap_*.so) and they need to
379# be loaded in the beginning of the wpa_supplicant configuration file
380# (see load_dynamic_eap parameter in the example file) before being used in
381# the network blocks.
382#
383# Note that some shared parts of EAP methods are included in the main program
384# and in order to be able to use dynamic EAP methods using these parts, the
385# main program must have been build with the EAP method enabled (=y or =dyn).
386# This means that EAP-TLS/PEAP/TTLS/FAST cannot be added as dynamic libraries
387# unless at least one of them was included in the main build to force inclusion
388# of the shared code. Similarly, at least one of EAP-SIM/AKA must be included
389# in the main build to be able to load these methods dynamically.
390#
391# Please also note that using dynamic libraries will increase the total binary
392# size. Thus, it may not be the best option for targets that have limited
393# amount of memory/flash.
394#CONFIG_DYNAMIC_EAP_METHODS=y
395
Dmitry Shmidt9839ecd2016-11-07 11:05:47 -0800396# IEEE Std 802.11r-2008 (Fast BSS Transition) for station mode
Hai Shalom021b0b52019-04-10 11:17:58 -0700397CONFIG_IEEE80211R=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700398
399# Add support for writing debug log to a file (/tmp/wpa_supplicant-log-#.txt)
Hai Shalom021b0b52019-04-10 11:17:58 -0700400CONFIG_DEBUG_FILE=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700401
402# Send debug messages to syslog instead of stdout
Hai Shalom021b0b52019-04-10 11:17:58 -0700403CONFIG_DEBUG_SYSLOG=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700404# Set syslog facility for debug messages
405#CONFIG_DEBUG_SYSLOG_FACILITY=LOG_DAEMON
406
Dmitry Shmidt04949592012-07-19 12:16:46 -0700407# Add support for sending all debug messages (regardless of debug verbosity)
408# to the Linux kernel tracing facility. This helps debug the entire stack by
409# making it easy to record everything happening from the driver up into the
410# same file, e.g., using trace-cmd.
411#CONFIG_DEBUG_LINUX_TRACING=y
412
Dmitry Shmidt51b6ea82013-05-08 10:42:09 -0700413# Add support for writing debug log to Android logcat instead of standard
414# output
415#CONFIG_ANDROID_LOG=y
416
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700417# Enable privilege separation (see README 'Privilege separation' for details)
418#CONFIG_PRIVSEP=y
419
420# Enable mitigation against certain attacks against TKIP by delaying Michael
421# MIC error reports by a random amount of time between 0 and 60 seconds
422#CONFIG_DELAYED_MIC_ERROR_REPORT=y
423
424# Enable tracing code for developer debugging
425# This tracks use of memory allocations and other registrations and reports
426# incorrect use with a backtrace of call (or allocation) location.
427#CONFIG_WPA_TRACE=y
Dmitry Shmidt04949592012-07-19 12:16:46 -0700428# For BSD, uncomment these.
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700429#LIBS += -lexecinfo
430#LIBS_p += -lexecinfo
431#LIBS_c += -lexecinfo
432
433# Use libbfd to get more details for developer debugging
434# This enables use of libbfd to get more detailed symbols for the backtraces
435# generated by CONFIG_WPA_TRACE=y.
436#CONFIG_WPA_TRACE_BFD=y
Dmitry Shmidt04949592012-07-19 12:16:46 -0700437# For BSD, uncomment these.
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700438#LIBS += -lbfd -liberty -lz
439#LIBS_p += -lbfd -liberty -lz
440#LIBS_c += -lbfd -liberty -lz
441
442# wpa_supplicant depends on strong random number generation being available
443# from the operating system. os_get_random() function is used to fetch random
444# data when needed, e.g., for key generation. On Linux and BSD systems, this
445# works by reading /dev/urandom. It should be noted that the OS entropy pool
446# needs to be properly initialized before wpa_supplicant is started. This is
447# important especially on embedded devices that do not have a hardware random
448# number generator and may by default start up with minimal entropy available
449# for random number generation.
450#
451# As a safety net, wpa_supplicant is by default trying to internally collect
452# additional entropy for generating random data to mix in with the data fetched
453# from the OS. This by itself is not considered to be very strong, but it may
454# help in cases where the system pool is not initialized properly. However, it
455# is very strongly recommended that the system pool is initialized with enough
Jouni Malinen75ecf522011-06-27 15:19:46 -0700456# entropy either by using hardware assisted random number generator or by
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700457# storing state over device reboots.
458#
Jouni Malinen75ecf522011-06-27 15:19:46 -0700459# wpa_supplicant can be configured to maintain its own entropy store over
460# restarts to enhance random number generation. This is not perfect, but it is
461# much more secure than using the same sequence of random numbers after every
462# reboot. This can be enabled with -e<entropy file> command line option. The
463# specified file needs to be readable and writable by wpa_supplicant.
464#
465# If the os_get_random() is known to provide strong random data (e.g., on
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700466# Linux/BSD, the board in question is known to have reliable source of random
467# data from /dev/urandom), the internal wpa_supplicant random pool can be
468# disabled. This will save some in binary size and CPU use. However, this
469# should only be considered for builds that are known to be used on devices
470# that meet the requirements described above.
471#CONFIG_NO_RANDOM_POOL=y
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -0800472
Hai Shalom74f70d42019-02-11 14:42:39 -0800473# Should we attempt to use the getrandom(2) call that provides more reliable
474# yet secure randomness source than /dev/random on Linux 3.17 and newer.
475# Requires glibc 2.25 to build, falls back to /dev/random if unavailable.
476#CONFIG_GETRANDOM=y
477
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -0800478# IEEE 802.11n (High Throughput) support (mainly for AP mode)
Hai Shalom021b0b52019-04-10 11:17:58 -0700479CONFIG_IEEE80211N=y
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -0800480
Dmitry Shmidt68d0e3e2013-10-28 17:59:21 -0700481# IEEE 802.11ac (Very High Throughput) support (mainly for AP mode)
482# (depends on CONFIG_IEEE80211N)
Hai Shalom021b0b52019-04-10 11:17:58 -0700483CONFIG_IEEE80211AC=y
Dmitry Shmidt68d0e3e2013-10-28 17:59:21 -0700484
Dmitry Shmidt04949592012-07-19 12:16:46 -0700485# Wireless Network Management (IEEE Std 802.11v-2011)
486# Note: This is experimental and not complete implementation.
487#CONFIG_WNM=y
488
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -0800489# Interworking (IEEE 802.11u)
490# This can be used to enable functionality to improve interworking with
491# external networks (GAS/ANQP to learn more about the networks and network
492# selection based on available credentials).
Hai Shalom021b0b52019-04-10 11:17:58 -0700493CONFIG_INTERWORKING=y
Dmitry Shmidt04949592012-07-19 12:16:46 -0700494
495# Hotspot 2.0
Hai Shalom021b0b52019-04-10 11:17:58 -0700496CONFIG_HS20=y
Dmitry Shmidt04949592012-07-19 12:16:46 -0700497
Dmitry Shmidte4663042016-04-04 10:07:49 -0700498# Enable interface matching in wpa_supplicant
499#CONFIG_MATCH_IFACE=y
500
Dmitry Shmidt51b6ea82013-05-08 10:42:09 -0700501# Disable roaming in wpa_supplicant
502#CONFIG_NO_ROAMING=y
503
Dmitry Shmidt04949592012-07-19 12:16:46 -0700504# AP mode operations with wpa_supplicant
505# This can be used for controlling AP mode operations with wpa_supplicant. It
506# should be noted that this is mainly aimed at simple cases like
507# WPA2-Personal while more complex configurations like WPA2-Enterprise with an
508# external RADIUS server can be supported with hostapd.
Hai Shalom021b0b52019-04-10 11:17:58 -0700509CONFIG_AP=y
Dmitry Shmidt04949592012-07-19 12:16:46 -0700510
511# P2P (Wi-Fi Direct)
512# This can be used to enable P2P support in wpa_supplicant. See README-P2P for
513# more information on P2P operations.
Hai Shalom021b0b52019-04-10 11:17:58 -0700514CONFIG_P2P=y
Dmitry Shmidt04949592012-07-19 12:16:46 -0700515
Dmitry Shmidt51b6ea82013-05-08 10:42:09 -0700516# Enable TDLS support
517#CONFIG_TDLS=y
518
Hai Shalom021b0b52019-04-10 11:17:58 -0700519# Wi-Fi Display
520# This can be used to enable Wi-Fi Display extensions for P2P using an external
Dmitry Shmidtfa3fc4a2013-11-21 13:34:38 -0800521# program to control the additional information exchanges in the messages.
Hai Shalom021b0b52019-04-10 11:17:58 -0700522CONFIG_WIFI_DISPLAY=y
Dmitry Shmidtfa3fc4a2013-11-21 13:34:38 -0800523
Dmitry Shmidt04949592012-07-19 12:16:46 -0700524# Autoscan
525# This can be used to enable automatic scan support in wpa_supplicant.
Dmitry Shmidtcce06662013-11-04 18:44:24 -0800526# See wpa_supplicant.conf for more information on autoscan usage.
Dmitry Shmidt04949592012-07-19 12:16:46 -0700527#
528# Enabling directly a module will enable autoscan support.
529# For exponential module:
530#CONFIG_AUTOSCAN_EXPONENTIAL=y
531# For periodic module:
532#CONFIG_AUTOSCAN_PERIODIC=y
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700533
534# Password (and passphrase, etc.) backend for external storage
535# These optional mechanisms can be used to add support for storing passwords
536# and other secrets in external (to wpa_supplicant) location. This allows, for
537# example, operating system specific key storage to be used
538#
539# External password backend for testing purposes (developer use)
540#CONFIG_EXT_PASSWORD_TEST=y
Dmitry Shmidtd80a4012015-11-05 16:35:40 -0800541
542# Enable Fast Session Transfer (FST)
543#CONFIG_FST=y
544
545# Enable CLI commands for FST testing
546#CONFIG_FST_TEST=y
547
548# OS X builds. This is only for building eapol_test.
549#CONFIG_OSX=y
Dmitry Shmidt014a3ff2015-12-28 13:27:49 -0800550
551# Automatic Channel Selection
552# This will allow wpa_supplicant to pick the channel automatically when channel
553# is set to "0".
554#
555# TODO: Extend parser to be able to parse "channel=acs_survey" as an alternative
556# to "channel=0". This would enable us to eventually add other ACS algorithms in
557# similar way.
558#
559# Automatic selection is currently only done through initialization, later on
560# we hope to do background checks to keep us moving to more ideal channels as
561# time goes by. ACS is currently only supported through the nl80211 driver and
562# your driver must have survey dump capability that is filled by the driver
563# during scanning.
564#
565# TODO: In analogy to hostapd be able to customize the ACS survey algorithm with
566# a newly to create wpa_supplicant.conf variable acs_num_scans.
567#
568# Supported ACS drivers:
569# * ath9k
570# * ath5k
571# * ath10k
572#
573# For more details refer to:
574# http://wireless.kernel.org/en/users/Documentation/acs
575#CONFIG_ACS=y
Dmitry Shmidt57c2d392016-02-23 13:40:19 -0800576
577# Support Multi Band Operation
578#CONFIG_MBO=y
Dmitry Shmidt9839ecd2016-11-07 11:05:47 -0800579
580# Fast Initial Link Setup (FILS) (IEEE 802.11ai)
Dmitry Shmidt9839ecd2016-11-07 11:05:47 -0800581#CONFIG_FILS=y
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700582# FILS shared key authentication with PFS
583#CONFIG_FILS_SK_PFS=y
Dmitry Shmidt9839ecd2016-11-07 11:05:47 -0800584
585# Support RSN on IBSS networks
586# This is needed to be able to use mode=1 network profile with proto=RSN and
587# key_mgmt=WPA-PSK (i.e., full key management instead of WPA-None).
Hai Shalom021b0b52019-04-10 11:17:58 -0700588CONFIG_IBSS_RSN=y
Dmitry Shmidt29333592017-01-09 12:27:11 -0800589
590# External PMKSA cache control
591# This can be used to enable control interface commands that allow the current
592# PMKSA cache entries to be fetched and new entries to be added.
593#CONFIG_PMKSA_CACHE_EXTERNAL=y
594
595# Mesh Networking (IEEE 802.11s)
596#CONFIG_MESH=y
Dmitry Shmidtebd93af2017-02-21 13:40:44 -0800597
598# Background scanning modules
599# These can be used to request wpa_supplicant to perform background scanning
600# operations for roaming within an ESS (same SSID). See the bgscan parameter in
601# the wpa_supplicant.conf file for more details.
602# Periodic background scans based on signal strength
Hai Shalom021b0b52019-04-10 11:17:58 -0700603CONFIG_BGSCAN_SIMPLE=y
Dmitry Shmidtebd93af2017-02-21 13:40:44 -0800604# Learn channels used by the network and try to avoid bgscans on other
605# channels (experimental)
606#CONFIG_BGSCAN_LEARN=y
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700607
608# Opportunistic Wireless Encryption (OWE)
609# Experimental implementation of draft-harkins-owe-07.txt
610#CONFIG_OWE=y
Hai Shalom021b0b52019-04-10 11:17:58 -0700611
612# Device Provisioning Protocol (DPP)
613# This requires CONFIG_IEEE80211W=y to be enabled, too. (see
614# wpa_supplicant/README-DPP for details)
615CONFIG_DPP=y