blob: 792ab24efff7201e5b652fc6379e215d48d82574 [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
Hai Shalom74f70d42019-02-11 14:42:39 -0800313# Support Operating Channel Validation
314#CONFIG_OCV=y
315
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700316# Select TLS implementation
317# openssl = OpenSSL (default)
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -0800318# gnutls = GnuTLS
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700319# internal = Internal TLSv1 implementation (experimental)
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700320# linux = Linux kernel AF_ALG and internal TLSv1 implementation (experimental)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700321# none = Empty template
322#CONFIG_TLS=openssl
323
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -0800324# TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.1)
325# can be enabled to get a stronger construction of messages when block ciphers
326# are used. It should be noted that some existing TLS v1.0 -based
327# implementation may not be compatible with TLS v1.1 message (ClientHello is
328# sent prior to negotiating which version will be used)
329#CONFIG_TLSV11=y
330
331# TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.2)
332# can be enabled to enable use of stronger crypto algorithms. It should be
333# noted that some existing TLS v1.0 -based implementation may not be compatible
334# with TLS v1.2 message (ClientHello is sent prior to negotiating which version
335# will be used)
336#CONFIG_TLSV12=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700337
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700338# Select which ciphers to use by default with OpenSSL if the user does not
339# specify them.
340#CONFIG_TLS_DEFAULT_CIPHERS="DEFAULT:!EXP:!LOW"
341
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700342# If CONFIG_TLS=internal is used, additional library and include paths are
343# needed for LibTomMath. Alternatively, an integrated, minimal version of
344# LibTomMath can be used. See beginning of libtommath.c for details on benefits
345# and drawbacks of this option.
346#CONFIG_INTERNAL_LIBTOMMATH=y
347#ifndef CONFIG_INTERNAL_LIBTOMMATH
348#LTM_PATH=/usr/src/libtommath-0.39
349#CFLAGS += -I$(LTM_PATH)
350#LIBS += -L$(LTM_PATH)
351#LIBS_p += -L$(LTM_PATH)
352#endif
353# At the cost of about 4 kB of additional binary size, the internal LibTomMath
354# can be configured to include faster routines for exptmod, sqr, and div to
355# speed up DH and RSA calculation considerably
356#CONFIG_INTERNAL_LIBTOMMATH_FAST=y
357
358# Include NDIS event processing through WMI into wpa_supplicant/wpasvc.
359# This is only for Windows builds and requires WMI-related header files and
360# WbemUuid.Lib from Platform SDK even when building with MinGW.
361#CONFIG_NDIS_EVENTS_INTEGRATED=y
362#PLATFORMSDKLIB="/opt/Program Files/Microsoft Platform SDK/Lib"
363
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700364# Add support for new DBus control interface
Hai Shalomc3565922019-10-28 11:58:20 -0700365# (fi.w1.wpa_supplicant1)
Hai Shalom021b0b52019-04-10 11:17:58 -0700366CONFIG_CTRL_IFACE_DBUS_NEW=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700367
368# Add introspection support for new DBus control interface
Hai Shalom021b0b52019-04-10 11:17:58 -0700369CONFIG_CTRL_IFACE_DBUS_INTRO=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700370
371# Add support for loading EAP methods dynamically as shared libraries.
372# When this option is enabled, each EAP method can be either included
373# statically (CONFIG_EAP_<method>=y) or dynamically (CONFIG_EAP_<method>=dyn).
374# Dynamic EAP methods are build as shared objects (eap_*.so) and they need to
375# be loaded in the beginning of the wpa_supplicant configuration file
376# (see load_dynamic_eap parameter in the example file) before being used in
377# the network blocks.
378#
379# Note that some shared parts of EAP methods are included in the main program
380# and in order to be able to use dynamic EAP methods using these parts, the
381# main program must have been build with the EAP method enabled (=y or =dyn).
382# This means that EAP-TLS/PEAP/TTLS/FAST cannot be added as dynamic libraries
383# unless at least one of them was included in the main build to force inclusion
384# of the shared code. Similarly, at least one of EAP-SIM/AKA must be included
385# in the main build to be able to load these methods dynamically.
386#
387# Please also note that using dynamic libraries will increase the total binary
388# size. Thus, it may not be the best option for targets that have limited
389# amount of memory/flash.
390#CONFIG_DYNAMIC_EAP_METHODS=y
391
Dmitry Shmidt9839ecd2016-11-07 11:05:47 -0800392# IEEE Std 802.11r-2008 (Fast BSS Transition) for station mode
Hai Shalom021b0b52019-04-10 11:17:58 -0700393CONFIG_IEEE80211R=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700394
395# Add support for writing debug log to a file (/tmp/wpa_supplicant-log-#.txt)
Hai Shalom021b0b52019-04-10 11:17:58 -0700396CONFIG_DEBUG_FILE=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700397
398# Send debug messages to syslog instead of stdout
Hai Shalom021b0b52019-04-10 11:17:58 -0700399CONFIG_DEBUG_SYSLOG=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700400# Set syslog facility for debug messages
401#CONFIG_DEBUG_SYSLOG_FACILITY=LOG_DAEMON
402
Dmitry Shmidt04949592012-07-19 12:16:46 -0700403# Add support for sending all debug messages (regardless of debug verbosity)
404# to the Linux kernel tracing facility. This helps debug the entire stack by
405# making it easy to record everything happening from the driver up into the
406# same file, e.g., using trace-cmd.
407#CONFIG_DEBUG_LINUX_TRACING=y
408
Dmitry Shmidt51b6ea82013-05-08 10:42:09 -0700409# Add support for writing debug log to Android logcat instead of standard
410# output
411#CONFIG_ANDROID_LOG=y
412
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700413# Enable privilege separation (see README 'Privilege separation' for details)
414#CONFIG_PRIVSEP=y
415
416# Enable mitigation against certain attacks against TKIP by delaying Michael
417# MIC error reports by a random amount of time between 0 and 60 seconds
418#CONFIG_DELAYED_MIC_ERROR_REPORT=y
419
420# Enable tracing code for developer debugging
421# This tracks use of memory allocations and other registrations and reports
422# incorrect use with a backtrace of call (or allocation) location.
423#CONFIG_WPA_TRACE=y
Dmitry Shmidt04949592012-07-19 12:16:46 -0700424# For BSD, uncomment these.
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700425#LIBS += -lexecinfo
426#LIBS_p += -lexecinfo
427#LIBS_c += -lexecinfo
428
429# Use libbfd to get more details for developer debugging
430# This enables use of libbfd to get more detailed symbols for the backtraces
431# generated by CONFIG_WPA_TRACE=y.
432#CONFIG_WPA_TRACE_BFD=y
Dmitry Shmidt04949592012-07-19 12:16:46 -0700433# For BSD, uncomment these.
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700434#LIBS += -lbfd -liberty -lz
435#LIBS_p += -lbfd -liberty -lz
436#LIBS_c += -lbfd -liberty -lz
437
438# wpa_supplicant depends on strong random number generation being available
439# from the operating system. os_get_random() function is used to fetch random
440# data when needed, e.g., for key generation. On Linux and BSD systems, this
441# works by reading /dev/urandom. It should be noted that the OS entropy pool
442# needs to be properly initialized before wpa_supplicant is started. This is
443# important especially on embedded devices that do not have a hardware random
444# number generator and may by default start up with minimal entropy available
445# for random number generation.
446#
447# As a safety net, wpa_supplicant is by default trying to internally collect
448# additional entropy for generating random data to mix in with the data fetched
449# from the OS. This by itself is not considered to be very strong, but it may
450# help in cases where the system pool is not initialized properly. However, it
451# is very strongly recommended that the system pool is initialized with enough
Jouni Malinen75ecf522011-06-27 15:19:46 -0700452# entropy either by using hardware assisted random number generator or by
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700453# storing state over device reboots.
454#
Jouni Malinen75ecf522011-06-27 15:19:46 -0700455# wpa_supplicant can be configured to maintain its own entropy store over
456# restarts to enhance random number generation. This is not perfect, but it is
457# much more secure than using the same sequence of random numbers after every
458# reboot. This can be enabled with -e<entropy file> command line option. The
459# specified file needs to be readable and writable by wpa_supplicant.
460#
461# If the os_get_random() is known to provide strong random data (e.g., on
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700462# Linux/BSD, the board in question is known to have reliable source of random
463# data from /dev/urandom), the internal wpa_supplicant random pool can be
464# disabled. This will save some in binary size and CPU use. However, this
465# should only be considered for builds that are known to be used on devices
466# that meet the requirements described above.
467#CONFIG_NO_RANDOM_POOL=y
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -0800468
Hai Shalom74f70d42019-02-11 14:42:39 -0800469# Should we attempt to use the getrandom(2) call that provides more reliable
470# yet secure randomness source than /dev/random on Linux 3.17 and newer.
471# Requires glibc 2.25 to build, falls back to /dev/random if unavailable.
472#CONFIG_GETRANDOM=y
473
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -0800474# IEEE 802.11n (High Throughput) support (mainly for AP mode)
Hai Shalom021b0b52019-04-10 11:17:58 -0700475CONFIG_IEEE80211N=y
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -0800476
Dmitry Shmidt68d0e3e2013-10-28 17:59:21 -0700477# IEEE 802.11ac (Very High Throughput) support (mainly for AP mode)
478# (depends on CONFIG_IEEE80211N)
Hai Shalom021b0b52019-04-10 11:17:58 -0700479CONFIG_IEEE80211AC=y
Dmitry Shmidt68d0e3e2013-10-28 17:59:21 -0700480
Dmitry Shmidt04949592012-07-19 12:16:46 -0700481# Wireless Network Management (IEEE Std 802.11v-2011)
482# Note: This is experimental and not complete implementation.
483#CONFIG_WNM=y
484
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -0800485# Interworking (IEEE 802.11u)
486# This can be used to enable functionality to improve interworking with
487# external networks (GAS/ANQP to learn more about the networks and network
488# selection based on available credentials).
Hai Shalom021b0b52019-04-10 11:17:58 -0700489CONFIG_INTERWORKING=y
Dmitry Shmidt04949592012-07-19 12:16:46 -0700490
491# Hotspot 2.0
Hai Shalom021b0b52019-04-10 11:17:58 -0700492CONFIG_HS20=y
Dmitry Shmidt04949592012-07-19 12:16:46 -0700493
Dmitry Shmidte4663042016-04-04 10:07:49 -0700494# Enable interface matching in wpa_supplicant
495#CONFIG_MATCH_IFACE=y
496
Dmitry Shmidt51b6ea82013-05-08 10:42:09 -0700497# Disable roaming in wpa_supplicant
498#CONFIG_NO_ROAMING=y
499
Dmitry Shmidt04949592012-07-19 12:16:46 -0700500# AP mode operations with wpa_supplicant
501# This can be used for controlling AP mode operations with wpa_supplicant. It
502# should be noted that this is mainly aimed at simple cases like
503# WPA2-Personal while more complex configurations like WPA2-Enterprise with an
504# external RADIUS server can be supported with hostapd.
Hai Shalom021b0b52019-04-10 11:17:58 -0700505CONFIG_AP=y
Dmitry Shmidt04949592012-07-19 12:16:46 -0700506
507# P2P (Wi-Fi Direct)
508# This can be used to enable P2P support in wpa_supplicant. See README-P2P for
509# more information on P2P operations.
Hai Shalom021b0b52019-04-10 11:17:58 -0700510CONFIG_P2P=y
Dmitry Shmidt04949592012-07-19 12:16:46 -0700511
Dmitry Shmidt51b6ea82013-05-08 10:42:09 -0700512# Enable TDLS support
513#CONFIG_TDLS=y
514
Hai Shalom021b0b52019-04-10 11:17:58 -0700515# Wi-Fi Display
516# This can be used to enable Wi-Fi Display extensions for P2P using an external
Dmitry Shmidtfa3fc4a2013-11-21 13:34:38 -0800517# program to control the additional information exchanges in the messages.
Hai Shalom021b0b52019-04-10 11:17:58 -0700518CONFIG_WIFI_DISPLAY=y
Dmitry Shmidtfa3fc4a2013-11-21 13:34:38 -0800519
Dmitry Shmidt04949592012-07-19 12:16:46 -0700520# Autoscan
521# This can be used to enable automatic scan support in wpa_supplicant.
Dmitry Shmidtcce06662013-11-04 18:44:24 -0800522# See wpa_supplicant.conf for more information on autoscan usage.
Dmitry Shmidt04949592012-07-19 12:16:46 -0700523#
524# Enabling directly a module will enable autoscan support.
525# For exponential module:
526#CONFIG_AUTOSCAN_EXPONENTIAL=y
527# For periodic module:
528#CONFIG_AUTOSCAN_PERIODIC=y
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700529
530# Password (and passphrase, etc.) backend for external storage
531# These optional mechanisms can be used to add support for storing passwords
532# and other secrets in external (to wpa_supplicant) location. This allows, for
533# example, operating system specific key storage to be used
534#
535# External password backend for testing purposes (developer use)
536#CONFIG_EXT_PASSWORD_TEST=y
Dmitry Shmidtd80a4012015-11-05 16:35:40 -0800537
538# Enable Fast Session Transfer (FST)
539#CONFIG_FST=y
540
541# Enable CLI commands for FST testing
542#CONFIG_FST_TEST=y
543
544# OS X builds. This is only for building eapol_test.
545#CONFIG_OSX=y
Dmitry Shmidt014a3ff2015-12-28 13:27:49 -0800546
547# Automatic Channel Selection
548# This will allow wpa_supplicant to pick the channel automatically when channel
549# is set to "0".
550#
551# TODO: Extend parser to be able to parse "channel=acs_survey" as an alternative
552# to "channel=0". This would enable us to eventually add other ACS algorithms in
553# similar way.
554#
555# Automatic selection is currently only done through initialization, later on
556# we hope to do background checks to keep us moving to more ideal channels as
557# time goes by. ACS is currently only supported through the nl80211 driver and
558# your driver must have survey dump capability that is filled by the driver
559# during scanning.
560#
561# TODO: In analogy to hostapd be able to customize the ACS survey algorithm with
562# a newly to create wpa_supplicant.conf variable acs_num_scans.
563#
564# Supported ACS drivers:
565# * ath9k
566# * ath5k
567# * ath10k
568#
569# For more details refer to:
570# http://wireless.kernel.org/en/users/Documentation/acs
571#CONFIG_ACS=y
Dmitry Shmidt57c2d392016-02-23 13:40:19 -0800572
573# Support Multi Band Operation
574#CONFIG_MBO=y
Dmitry Shmidt9839ecd2016-11-07 11:05:47 -0800575
576# Fast Initial Link Setup (FILS) (IEEE 802.11ai)
Dmitry Shmidt9839ecd2016-11-07 11:05:47 -0800577#CONFIG_FILS=y
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700578# FILS shared key authentication with PFS
579#CONFIG_FILS_SK_PFS=y
Dmitry Shmidt9839ecd2016-11-07 11:05:47 -0800580
581# Support RSN on IBSS networks
582# This is needed to be able to use mode=1 network profile with proto=RSN and
583# key_mgmt=WPA-PSK (i.e., full key management instead of WPA-None).
Hai Shalom021b0b52019-04-10 11:17:58 -0700584CONFIG_IBSS_RSN=y
Dmitry Shmidt29333592017-01-09 12:27:11 -0800585
586# External PMKSA cache control
587# This can be used to enable control interface commands that allow the current
588# PMKSA cache entries to be fetched and new entries to be added.
589#CONFIG_PMKSA_CACHE_EXTERNAL=y
590
591# Mesh Networking (IEEE 802.11s)
592#CONFIG_MESH=y
Dmitry Shmidtebd93af2017-02-21 13:40:44 -0800593
594# Background scanning modules
595# These can be used to request wpa_supplicant to perform background scanning
596# operations for roaming within an ESS (same SSID). See the bgscan parameter in
597# the wpa_supplicant.conf file for more details.
598# Periodic background scans based on signal strength
Hai Shalom021b0b52019-04-10 11:17:58 -0700599CONFIG_BGSCAN_SIMPLE=y
Dmitry Shmidtebd93af2017-02-21 13:40:44 -0800600# Learn channels used by the network and try to avoid bgscans on other
601# channels (experimental)
602#CONFIG_BGSCAN_LEARN=y
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700603
604# Opportunistic Wireless Encryption (OWE)
605# Experimental implementation of draft-harkins-owe-07.txt
606#CONFIG_OWE=y
Hai Shalom021b0b52019-04-10 11:17:58 -0700607
608# Device Provisioning Protocol (DPP)
Hai Shalom021b0b52019-04-10 11:17:58 -0700609CONFIG_DPP=y