Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 1 | # Example hostapd build time configuration |
| 2 | # |
| 3 | # This file lists the configuration options that are used when building the |
| 4 | # hostapd binary. All lines starting with # are ignored. Configuration option |
| 5 | # lines must be commented out complete, if they are not to be included, i.e., |
| 6 | # just setting VARIABLE=n is not disabling that variable. |
| 7 | # |
| 8 | # This file is included in Makefile, so variables like CFLAGS and LIBS can also |
| 9 | # be modified from here. In most cass, these lines should use += in order not |
| 10 | # to override previous values of the variables. |
| 11 | |
| 12 | # Driver interface for Host AP driver |
| 13 | CONFIG_DRIVER_HOSTAP=y |
| 14 | |
| 15 | # Driver interface for wired authenticator |
| 16 | #CONFIG_DRIVER_WIRED=y |
| 17 | |
| 18 | # Driver interface for madwifi driver |
| 19 | #CONFIG_DRIVER_MADWIFI=y |
| 20 | #CFLAGS += -I../../madwifi # change to the madwifi source directory |
| 21 | |
| 22 | # Driver interface for drivers using the nl80211 kernel interface |
Jouni Malinen | 87fd279 | 2011-05-16 18:35:42 +0300 | [diff] [blame] | 23 | CONFIG_DRIVER_NL80211=y |
Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 24 | |
| 25 | # Driver interface for FreeBSD net80211 layer (e.g., Atheros driver) |
| 26 | #CONFIG_DRIVER_BSD=y |
| 27 | #CFLAGS += -I/usr/local/include |
| 28 | #LIBS += -L/usr/local/lib |
| 29 | #LIBS_p += -L/usr/local/lib |
| 30 | #LIBS_c += -L/usr/local/lib |
| 31 | |
| 32 | # Driver interface for no driver (e.g., RADIUS server only) |
| 33 | #CONFIG_DRIVER_NONE=y |
| 34 | |
| 35 | # IEEE 802.11F/IAPP |
| 36 | CONFIG_IAPP=y |
| 37 | |
| 38 | # WPA2/IEEE 802.11i RSN pre-authentication |
| 39 | CONFIG_RSN_PREAUTH=y |
| 40 | |
| 41 | # PeerKey handshake for Station to Station Link (IEEE 802.11e DLS) |
| 42 | CONFIG_PEERKEY=y |
| 43 | |
| 44 | # IEEE 802.11w (management frame protection) |
| 45 | # This version is an experimental implementation based on IEEE 802.11w/D1.0 |
| 46 | # draft and is subject to change since the standard has not yet been finalized. |
| 47 | # Driver support is also needed for IEEE 802.11w. |
| 48 | #CONFIG_IEEE80211W=y |
| 49 | |
| 50 | # Integrated EAP server |
| 51 | CONFIG_EAP=y |
| 52 | |
| 53 | # EAP-MD5 for the integrated EAP server |
| 54 | CONFIG_EAP_MD5=y |
| 55 | |
| 56 | # EAP-TLS for the integrated EAP server |
| 57 | CONFIG_EAP_TLS=y |
| 58 | |
| 59 | # EAP-MSCHAPv2 for the integrated EAP server |
| 60 | CONFIG_EAP_MSCHAPV2=y |
| 61 | |
| 62 | # EAP-PEAP for the integrated EAP server |
| 63 | CONFIG_EAP_PEAP=y |
| 64 | |
| 65 | # EAP-GTC for the integrated EAP server |
| 66 | CONFIG_EAP_GTC=y |
| 67 | |
| 68 | # EAP-TTLS for the integrated EAP server |
| 69 | CONFIG_EAP_TTLS=y |
| 70 | |
| 71 | # EAP-SIM for the integrated EAP server |
| 72 | #CONFIG_EAP_SIM=y |
| 73 | |
| 74 | # EAP-AKA for the integrated EAP server |
| 75 | #CONFIG_EAP_AKA=y |
| 76 | |
| 77 | # EAP-AKA' for the integrated EAP server |
| 78 | # This requires CONFIG_EAP_AKA to be enabled, too. |
| 79 | #CONFIG_EAP_AKA_PRIME=y |
| 80 | |
| 81 | # EAP-PAX for the integrated EAP server |
| 82 | #CONFIG_EAP_PAX=y |
| 83 | |
| 84 | # EAP-PSK for the integrated EAP server (this is _not_ needed for WPA-PSK) |
| 85 | #CONFIG_EAP_PSK=y |
| 86 | |
Dmitry Shmidt | c5ec7f5 | 2012-03-06 16:33:24 -0800 | [diff] [blame] | 87 | # EAP-pwd for the integrated EAP server (secure authentication with a password) |
| 88 | #CONFIG_EAP_PWD=y |
| 89 | |
Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 90 | # EAP-SAKE for the integrated EAP server |
| 91 | #CONFIG_EAP_SAKE=y |
| 92 | |
| 93 | # EAP-GPSK for the integrated EAP server |
| 94 | #CONFIG_EAP_GPSK=y |
| 95 | # Include support for optional SHA256 cipher suite in EAP-GPSK |
| 96 | #CONFIG_EAP_GPSK_SHA256=y |
| 97 | |
| 98 | # EAP-FAST for the integrated EAP server |
| 99 | # Note: Default OpenSSL package does not include support for all the |
| 100 | # functionality needed for EAP-FAST. If EAP-FAST is enabled with OpenSSL, |
| 101 | # the OpenSSL library must be patched (openssl-0.9.9-session-ticket.patch) |
| 102 | # to add the needed functions. |
| 103 | #CONFIG_EAP_FAST=y |
| 104 | |
| 105 | # Wi-Fi Protected Setup (WPS) |
| 106 | #CONFIG_WPS=y |
| 107 | # Enable WSC 2.0 support |
| 108 | #CONFIG_WPS2=y |
| 109 | # Enable UPnP support for external WPS Registrars |
| 110 | #CONFIG_WPS_UPNP=y |
Dmitry Shmidt | 0494959 | 2012-07-19 12:16:46 -0700 | [diff] [blame] | 111 | # Enable WPS support with NFC config method |
| 112 | #CONFIG_WPS_NFC=y |
Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 113 | |
| 114 | # EAP-IKEv2 |
| 115 | #CONFIG_EAP_IKEV2=y |
| 116 | |
| 117 | # Trusted Network Connect (EAP-TNC) |
| 118 | #CONFIG_EAP_TNC=y |
| 119 | |
| 120 | # PKCS#12 (PFX) support (used to read private key and certificate file from |
| 121 | # a file that usually has extension .p12 or .pfx) |
| 122 | CONFIG_PKCS12=y |
| 123 | |
| 124 | # RADIUS authentication server. This provides access to the integrated EAP |
| 125 | # server from external hosts using RADIUS. |
| 126 | #CONFIG_RADIUS_SERVER=y |
| 127 | |
| 128 | # Build IPv6 support for RADIUS operations |
| 129 | CONFIG_IPV6=y |
| 130 | |
| 131 | # IEEE Std 802.11r-2008 (Fast BSS Transition) |
| 132 | #CONFIG_IEEE80211R=y |
| 133 | |
| 134 | # Use the hostapd's IEEE 802.11 authentication (ACL), but without |
| 135 | # the IEEE 802.11 Management capability (e.g., madwifi or FreeBSD/net80211) |
| 136 | #CONFIG_DRIVER_RADIUS_ACL=y |
| 137 | |
| 138 | # IEEE 802.11n (High Throughput) support |
| 139 | #CONFIG_IEEE80211N=y |
| 140 | |
Dmitry Shmidt | 0494959 | 2012-07-19 12:16:46 -0700 | [diff] [blame] | 141 | # Wireless Network Management (IEEE Std 802.11v-2011) |
| 142 | # Note: This is experimental and not complete implementation. |
| 143 | #CONFIG_WNM=y |
| 144 | |
| 145 | # IEEE 802.11ac (Very High Throughput) support |
| 146 | #CONFIG_IEEE80211AC=y |
| 147 | |
Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 148 | # Remove debugging code that is printing out debug messages to stdout. |
| 149 | # This can be used to reduce the size of the hostapd considerably if debugging |
| 150 | # code is not needed. |
| 151 | #CONFIG_NO_STDOUT_DEBUG=y |
| 152 | |
| 153 | # Add support for writing debug log to a file: -f /tmp/hostapd.log |
| 154 | # Disabled by default. |
| 155 | #CONFIG_DEBUG_FILE=y |
| 156 | |
| 157 | # Remove support for RADIUS accounting |
| 158 | #CONFIG_NO_ACCOUNTING=y |
| 159 | |
| 160 | # Remove support for RADIUS |
| 161 | #CONFIG_NO_RADIUS=y |
| 162 | |
| 163 | # Remove support for VLANs |
| 164 | #CONFIG_NO_VLAN=y |
| 165 | |
| 166 | # Enable support for fully dynamic VLANs. This enables hostapd to |
| 167 | # automatically create bridge and VLAN interfaces if necessary. |
| 168 | #CONFIG_FULL_DYNAMIC_VLAN=y |
| 169 | |
Dmitry Shmidt | 61d9df3 | 2012-08-29 16:22:06 -0700 | [diff] [blame] | 170 | # Use netlink-based kernel API for VLAN operations instead of ioctl() |
| 171 | # Note: This requires libnl 3.1 or newer. |
| 172 | #CONFIG_VLAN_NETLINK=y |
| 173 | |
Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 174 | # Remove support for dumping state into a file on SIGUSR1 signal |
| 175 | # This can be used to reduce binary size at the cost of disabling a debugging |
| 176 | # option. |
| 177 | #CONFIG_NO_DUMP_STATE=y |
| 178 | |
| 179 | # Enable tracing code for developer debugging |
| 180 | # This tracks use of memory allocations and other registrations and reports |
| 181 | # incorrect use with a backtrace of call (or allocation) location. |
| 182 | #CONFIG_WPA_TRACE=y |
| 183 | # For BSD, comment out these. |
| 184 | #LIBS += -lexecinfo |
| 185 | #LIBS_p += -lexecinfo |
| 186 | #LIBS_c += -lexecinfo |
| 187 | |
| 188 | # Use libbfd to get more details for developer debugging |
| 189 | # This enables use of libbfd to get more detailed symbols for the backtraces |
| 190 | # generated by CONFIG_WPA_TRACE=y. |
| 191 | #CONFIG_WPA_TRACE_BFD=y |
| 192 | # For BSD, comment out these. |
| 193 | #LIBS += -lbfd -liberty -lz |
| 194 | #LIBS_p += -lbfd -liberty -lz |
| 195 | #LIBS_c += -lbfd -liberty -lz |
| 196 | |
| 197 | # hostapd depends on strong random number generation being available from the |
| 198 | # operating system. os_get_random() function is used to fetch random data when |
| 199 | # needed, e.g., for key generation. On Linux and BSD systems, this works by |
| 200 | # reading /dev/urandom. It should be noted that the OS entropy pool needs to be |
| 201 | # properly initialized before hostapd is started. This is important especially |
| 202 | # on embedded devices that do not have a hardware random number generator and |
| 203 | # may by default start up with minimal entropy available for random number |
| 204 | # generation. |
| 205 | # |
| 206 | # As a safety net, hostapd is by default trying to internally collect |
| 207 | # additional entropy for generating random data to mix in with the data |
| 208 | # fetched from the OS. This by itself is not considered to be very strong, but |
| 209 | # it may help in cases where the system pool is not initialized properly. |
| 210 | # However, it is very strongly recommended that the system pool is initialized |
| 211 | # with enough entropy either by using hardware assisted random number |
Jouni Malinen | 75ecf52 | 2011-06-27 15:19:46 -0700 | [diff] [blame] | 212 | # generator or by storing state over device reboots. |
Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 213 | # |
Jouni Malinen | 75ecf52 | 2011-06-27 15:19:46 -0700 | [diff] [blame] | 214 | # hostapd can be configured to maintain its own entropy store over restarts to |
| 215 | # enhance random number generation. This is not perfect, but it is much more |
| 216 | # secure than using the same sequence of random numbers after every reboot. |
| 217 | # This can be enabled with -e<entropy file> command line option. The specified |
| 218 | # file needs to be readable and writable by hostapd. |
| 219 | # |
| 220 | # If the os_get_random() is known to provide strong random data (e.g., on |
Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 221 | # Linux/BSD, the board in question is known to have reliable source of random |
| 222 | # data from /dev/urandom), the internal hostapd random pool can be disabled. |
| 223 | # This will save some in binary size and CPU use. However, this should only be |
| 224 | # considered for builds that are known to be used on devices that meet the |
| 225 | # requirements described above. |
| 226 | #CONFIG_NO_RANDOM_POOL=y |
Dmitry Shmidt | 1f69aa5 | 2012-01-24 16:10:04 -0800 | [diff] [blame] | 227 | |
| 228 | # Select TLS implementation |
| 229 | # openssl = OpenSSL (default) |
| 230 | # gnutls = GnuTLS |
| 231 | # internal = Internal TLSv1 implementation (experimental) |
| 232 | # none = Empty template |
| 233 | #CONFIG_TLS=openssl |
| 234 | |
| 235 | # TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.1) |
| 236 | # can be enabled to get a stronger construction of messages when block ciphers |
| 237 | # are used. |
| 238 | #CONFIG_TLSV11=y |
| 239 | |
| 240 | # TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.2) |
| 241 | # can be enabled to enable use of stronger crypto algorithms. |
| 242 | #CONFIG_TLSV12=y |
| 243 | |
| 244 | # If CONFIG_TLS=internal is used, additional library and include paths are |
| 245 | # needed for LibTomMath. Alternatively, an integrated, minimal version of |
| 246 | # LibTomMath can be used. See beginning of libtommath.c for details on benefits |
| 247 | # and drawbacks of this option. |
| 248 | #CONFIG_INTERNAL_LIBTOMMATH=y |
| 249 | #ifndef CONFIG_INTERNAL_LIBTOMMATH |
| 250 | #LTM_PATH=/usr/src/libtommath-0.39 |
| 251 | #CFLAGS += -I$(LTM_PATH) |
| 252 | #LIBS += -L$(LTM_PATH) |
| 253 | #LIBS_p += -L$(LTM_PATH) |
| 254 | #endif |
| 255 | # At the cost of about 4 kB of additional binary size, the internal LibTomMath |
| 256 | # can be configured to include faster routines for exptmod, sqr, and div to |
| 257 | # speed up DH and RSA calculation considerably |
| 258 | #CONFIG_INTERNAL_LIBTOMMATH_FAST=y |
| 259 | |
| 260 | # Interworking (IEEE 802.11u) |
| 261 | # This can be used to enable functionality to improve interworking with |
| 262 | # external networks. |
| 263 | #CONFIG_INTERWORKING=y |
Dmitry Shmidt | 61d9df3 | 2012-08-29 16:22:06 -0700 | [diff] [blame] | 264 | |
| 265 | # Hotspot 2.0 |
| 266 | #CONFIG_HS20=y |
| 267 | |
Dmitry Shmidt | d5e4923 | 2012-12-03 15:08:10 -0800 | [diff] [blame^] | 268 | # Enable SQLite database support in hlr_auc_gw, EAP-SIM DB, and eap_user_file |
Dmitry Shmidt | 61d9df3 | 2012-08-29 16:22:06 -0700 | [diff] [blame] | 269 | #CONFIG_SQLITE=y |