1# 2# Copyright (c) 2023 Nordic Semiconductor ASA 3# 4# SPDX-License-Identifier: Apache-2.0 5# 6 7if(CONFIG_WIFI_NM_WPA_SUPPLICANT) 8 9zephyr_interface_library_named(hostap) 10 11set(HOSTAP_BASE ${ZEPHYR_HOSTAP_MODULE_DIR}) 12set(WIFI_NM_WPA_SUPPLICANT_BASE ${HOSTAP_BASE}/wpa_supplicant) 13set(HOSTAP_SRC_BASE ${HOSTAP_BASE}/src) 14set(WIFI_NM_HOSTAPD_BASE ${HOSTAP_BASE}/hostapd) 15 16set(CMAKE_EXE_LINKER_FLAGS "--specs=nosys.specs -lnosys") 17set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DMISSING_SYSCALL_NAMES") 18 19zephyr_include_directories( 20 src/ 21 ${HOSTAP_BASE}/ 22 ${WIFI_NM_WPA_SUPPLICANT_BASE}/ 23 ${HOSTAP_SRC_BASE}/ 24 ${HOSTAP_SRC_BASE}/common/ 25 ${HOSTAP_SRC_BASE}/eap_common 26 ${HOSTAP_SRC_BASE}/eap_server 27 ${HOSTAP_SRC_BASE}/radius 28 ${HOSTAP_SRC_BASE}/crypto/ 29 ${HOSTAP_SRC_BASE}/ap/ 30 ${HOSTAP_SRC_BASE}/drivers/ 31 ${HOSTAP_SRC_BASE}/rsn_supp 32) 33 34target_include_directories(hostap INTERFACE 35 ${HOSTAP_SRC_BASE}/utils/ 36) 37 38zephyr_library_compile_definitions( 39 TLS_DEFAULT_CIPHERS=\""DEFAULT:!EXP:!LOW"\" 40 CONFIG_SME 41 CONFIG_NO_CONFIG_WRITE 42 CONFIG_CTRL_IFACE 43 CONFIG_NO_RANDOM_POOL 44 CONFIG_SHA256 45 CONFIG_SHA384 46 CONFIG_SHA512 47 CONFIG_CTRL_IFACE_ZEPHYR 48 CONFIG_SUITEB192 49 CONFIG_SUITEB 50) 51 52 53zephyr_library_compile_definitions_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE 54 CONFIG_NO_PBKDF2 55) 56 57zephyr_library_compile_definitions_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_NO_DEBUG 58 CONFIG_NO_STDOUT_DEBUG 59) 60 61zephyr_library_compile_definitions_ifndef(CONFIG_WIFI_NM_WPA_SUPPLICANT_ROBUST_AV 62 CONFIG_NO_ROBUST_AV 63) 64 65zephyr_library_compile_definitions_ifndef(CONFIG_WIFI_NM_WPA_SUPPLICANT_WMM_AC 66CONFIG_NO_WMM_AC 67) 68 69zephyr_library_compile_definitions_ifndef(CONFIG_WIFI_NM_WPA_SUPPLICANT_RRM 70CONFIG_NO_RRM 71) 72 73zephyr_library_compile_definitions_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_MBO 74 CONFIG_MBO 75) 76 77zephyr_library_compile_definitions_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_WNM 78 CONFIG_WNM 79) 80 81zephyr_library_include_directories( 82 ${CMAKE_CURRENT_SOURCE_DIR}/src 83 ${HOSTAP_BASE}/ 84 ${HOSTAP_SRC_BASE}/utils 85 ${HOSTAP_SRC_BASE}/drivers 86 ${HOSTAP_BASE}/src 87 ${ZEPHYR_BASE}/include 88 ${ZEPHYR_BASE}/include/net 89 ) 90 91zephyr_library_compile_definitions_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_NO_DEBUG 92 CONFIG_NO_STDOUT_DEBUG 93) 94 95zephyr_library_sources( 96 ${HOSTAP_SRC_BASE}/common/wpa_common.c 97 ${HOSTAP_SRC_BASE}/common/ieee802_11_common.c 98 ${HOSTAP_SRC_BASE}/common/hw_features_common.c 99 ${HOSTAP_SRC_BASE}/common/wpa_ctrl.c 100 ${HOSTAP_SRC_BASE}/common/cli.c 101 102 ${HOSTAP_SRC_BASE}/drivers/driver_common.c 103 ${HOSTAP_SRC_BASE}/drivers/drivers.c 104 ${HOSTAP_SRC_BASE}/utils/crc32.c 105 ${HOSTAP_SRC_BASE}/utils/base64.c 106 ${HOSTAP_SRC_BASE}/utils/common.c 107 ${HOSTAP_SRC_BASE}/utils/wpabuf.c 108 ${HOSTAP_SRC_BASE}/utils/bitfield.c 109 ${HOSTAP_SRC_BASE}/utils/eloop.c 110 ${HOSTAP_SRC_BASE}/utils/os_zephyr.c 111 ${HOSTAP_SRC_BASE}/utils/wpa_debug_zephyr.c 112 ${HOSTAP_SRC_BASE}/l2_packet/l2_packet_zephyr.c 113 ${HOSTAP_SRC_BASE}/drivers/driver_zephyr.c 114 115 ${WIFI_NM_WPA_SUPPLICANT_BASE}/config.c 116 ${WIFI_NM_WPA_SUPPLICANT_BASE}/notify.c 117 ${WIFI_NM_WPA_SUPPLICANT_BASE}/eap_register.c 118 ${WIFI_NM_WPA_SUPPLICANT_BASE}/config_none.c 119 ${WIFI_NM_WPA_SUPPLICANT_BASE}/bssid_ignore.c 120 ${WIFI_NM_WPA_SUPPLICANT_BASE}/wpas_glue.c 121 ${WIFI_NM_WPA_SUPPLICANT_BASE}/scan.c 122 ${WIFI_NM_WPA_SUPPLICANT_BASE}/ctrl_iface.c 123 124 ${WIFI_NM_WPA_SUPPLICANT_BASE}/bss.c 125 ${WIFI_NM_WPA_SUPPLICANT_BASE}/sme.c 126 ${WIFI_NM_WPA_SUPPLICANT_BASE}/wpa_supplicant.c 127 ${WIFI_NM_WPA_SUPPLICANT_BASE}/events.c 128 ${WIFI_NM_WPA_SUPPLICANT_BASE}/wpa_cli_cmds.c 129 ${WIFI_NM_WPA_SUPPLICANT_BASE}/ctrl_iface_zephyr.c 130 ${WIFI_NM_WPA_SUPPLICANT_BASE}/wpa_cli_zephyr.c 131 132 ${HOSTAP_SRC_BASE}/rsn_supp/pmksa_cache.c 133 ${HOSTAP_SRC_BASE}/common/ptksa_cache.c 134 135 # Zephyr specific files (glue code) 136 src/supp_main.c 137 src/supp_api.c 138 src/supp_events.c 139) 140 141# Advanced features 142zephyr_library_sources_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_RRM 143 ${WIFI_NM_WPA_SUPPLICANT_BASE}/op_classes.c 144 ${WIFI_NM_WPA_SUPPLICANT_BASE}/rrm.c 145) 146zephyr_library_sources_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_WMM_AC 147 ${WIFI_NM_WPA_SUPPLICANT_BASE}/wmm_ac.c 148) 149zephyr_library_sources_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_ROBUST_AV 150 ${WIFI_NM_WPA_SUPPLICANT_BASE}/robust_av.c 151) 152zephyr_library_sources_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_MBO 153 ${WIFI_NM_WPA_SUPPLICANT_BASE}/mbo.c 154) 155zephyr_library_sources_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_WNM 156 ${WIFI_NM_WPA_SUPPLICANT_BASE}/wnm_sta.c 157) 158 159zephyr_library_sources_ifdef(CONFIG_WPA_CLI 160 src/wpa_cli.c 161) 162 163zephyr_library_sources_ifdef(CONFIG_IEEE80211R 164 ${HOSTAP_SRC_BASE}/rsn_supp/wpa_ft.c 165 ${HOSTAP_SRC_BASE}/ap/wpa_auth_ft.c 166) 167 168if(CONFIG_WIFI_NM_WPA_SUPPLICANT_AP OR CONFIG_WIFI_NM_HOSTAPD_AP) 169zephyr_library_sources( 170 ${WIFI_NM_WPA_SUPPLICANT_BASE}/ap.c 171 ${HOSTAP_SRC_BASE}/ap/ap_config.c 172 ${HOSTAP_SRC_BASE}/ap/ap_drv_ops.c 173 ${HOSTAP_SRC_BASE}/ap/ap_list.c 174 ${HOSTAP_SRC_BASE}/ap/ap_mlme.c 175 ${HOSTAP_SRC_BASE}/ap/authsrv.c 176 ${HOSTAP_SRC_BASE}/ap/beacon.c 177 ${HOSTAP_SRC_BASE}/ap/bss_load.c 178 ${HOSTAP_SRC_BASE}/ap/dfs.c 179 ${HOSTAP_SRC_BASE}/ap/drv_callbacks.c 180 ${HOSTAP_SRC_BASE}/ap/ctrl_iface_ap.c 181 ${HOSTAP_SRC_BASE}/ap/eap_user_db.c 182 ${HOSTAP_SRC_BASE}/ap/hostapd.c 183 ${HOSTAP_SRC_BASE}/ap/hw_features.c 184 ${HOSTAP_SRC_BASE}/ap/ieee802_11_auth.c 185 ${HOSTAP_SRC_BASE}/ap/ieee802_11.c 186 ${HOSTAP_SRC_BASE}/ap/comeback_token.c 187 ${HOSTAP_SRC_BASE}/ap/ieee802_11_ht.c 188 ${HOSTAP_SRC_BASE}/ap/ieee802_11_shared.c 189 ${HOSTAP_SRC_BASE}/ap/ieee802_11_vht.c 190 ${HOSTAP_SRC_BASE}/ap/ieee802_1x.c 191 ${HOSTAP_SRC_BASE}/ap/neighbor_db.c 192 ${HOSTAP_SRC_BASE}/ap/p2p_hostapd.c 193 ${HOSTAP_SRC_BASE}/ap/pmksa_cache_auth.c 194 ${HOSTAP_SRC_BASE}/ap/preauth_auth.c 195 ${HOSTAP_SRC_BASE}/ap/rrm.c 196 ${HOSTAP_SRC_BASE}/ap/sta_info.c 197 ${HOSTAP_SRC_BASE}/ap/tkip_countermeasures.c 198 ${HOSTAP_SRC_BASE}/ap/utils.c 199 ${HOSTAP_SRC_BASE}/ap/wmm.c 200 201 ${HOSTAP_SRC_BASE}/ap/wpa_auth.c 202 ${HOSTAP_SRC_BASE}/ap/wpa_auth_ie.c 203 ${HOSTAP_SRC_BASE}/ap/wpa_auth_ft.c 204 ${HOSTAP_SRC_BASE}/ap/wpa_auth_glue.c 205 206 ${HOSTAP_SRC_BASE}/eap_common/eap_common.c 207 ${HOSTAP_SRC_BASE}/eap_server/eap_server.c 208 ${HOSTAP_SRC_BASE}/eap_server/eap_server_identity.c 209 ${HOSTAP_SRC_BASE}/eap_server/eap_server_methods.c 210 ${HOSTAP_SRC_BASE}/eapol_auth/eapol_auth_sm.c 211 ${HOSTAP_SRC_BASE}/ap/ctrl_iface_ap.c 212 ${HOSTAP_SRC_BASE}/utils/crc32.c 213 ${HOSTAP_SRC_BASE}/utils/ip_addr.c 214) 215 216if (CONFIG_WIFI_NM_WPA_SUPPLICANT_MBO) 217 zephyr_library_sources(${HOSTAP_SRC_BASE}/ap/mbo_ap.c) 218endif() 219 220zephyr_library_sources_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_11AX 221 ${HOSTAP_SRC_BASE}/ap/ieee802_11_he.c 222) 223 224zephyr_library_compile_definitions( 225 CONFIG_AP 226 CONFIG_NO_RADIUS 227 CONFIG_NO_VLAN 228 CONFIG_NO_ACCOUNTING 229 NEED_AP_MLME 230 CONFIG_IEEE80211AC 231 EAP_SERVER 232 EAP_SERVER_IDENTITY 233) 234 235zephyr_library_compile_definitions_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_11AX 236 CONFIG_IEEE80211AX 237) 238endif() 239 240zephyr_include_directories_ifdef(CONFIG_WIFI_NM_HOSTAPD_AP 241 ${WIFI_NM_HOSTAPD_BASE}/ 242) 243 244zephyr_library_sources_ifdef(CONFIG_WIFI_NM_HOSTAPD_AP 245 ${HOSTAP_SRC_BASE}/ap/acs.c 246 ${WIFI_NM_HOSTAPD_BASE}/config_file.c 247 ${WIFI_NM_HOSTAPD_BASE}/ctrl_iface.c 248 ${WIFI_NM_HOSTAPD_BASE}/ctrl_iface_zephyr.c 249 ${WIFI_NM_HOSTAPD_BASE}/eap_register.c 250 ${WIFI_NM_HOSTAPD_BASE}/hostapd_cli_cmds.c 251 ${WIFI_NM_HOSTAPD_BASE}/hostapd_cli_zephyr.c 252) 253 254zephyr_library_compile_definitions_ifdef(CONFIG_WIFI_NM_HOSTAPD_AP 255 HOSTAPD 256 CONFIG_ACS 257) 258 259zephyr_library_sources_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE 260 ${HOSTAP_SRC_BASE}/crypto/crypto_none.c 261 262 # FIXME: why do we need these when crypto is not selected? 263 ${HOSTAP_SRC_BASE}/crypto/aes-wrap.c 264 ${HOSTAP_SRC_BASE}/crypto/aes-unwrap.c 265 ${HOSTAP_SRC_BASE}/crypto/aes-internal.c 266 ${HOSTAP_SRC_BASE}/crypto/aes-internal-enc.c 267 ${HOSTAP_SRC_BASE}/crypto/aes-internal-dec.c 268 ${HOSTAP_SRC_BASE}/crypto/aes-omac1.c 269 ${HOSTAP_SRC_BASE}/crypto/md5.c 270 ${HOSTAP_SRC_BASE}/crypto/md5-internal.c 271 ${HOSTAP_SRC_BASE}/crypto/sha1.c 272 ${HOSTAP_SRC_BASE}/crypto/sha1-internal.c 273 ${HOSTAP_SRC_BASE}/crypto/sha1-pbkdf2.c 274 ${HOSTAP_SRC_BASE}/crypto/sha1-prf.c 275 ${HOSTAP_SRC_BASE}/crypto/sha256.c 276 ${HOSTAP_SRC_BASE}/crypto/sha256-internal.c 277 ${HOSTAP_SRC_BASE}/crypto/sha256-prf.c 278 ${HOSTAP_SRC_BASE}/crypto/sha384.c 279 ${HOSTAP_SRC_BASE}/crypto/sha384-internal.c 280 ${HOSTAP_SRC_BASE}/crypto/sha384-prf.c 281 ${HOSTAP_SRC_BASE}/crypto/sha512.c 282 ${HOSTAP_SRC_BASE}/crypto/sha512-internal.c 283 ${HOSTAP_SRC_BASE}/crypto/rc4.c 284) 285 286zephyr_library_compile_definitions_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE 287 CONFIG_NO_WPA 288 CONFIG_CRYPTO_INTERNAL 289) 290 291zephyr_library_compile_definitions_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_WEP 292 CONFIG_WEP 293) 294 295zephyr_library_sources_ifndef(CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_ENTERPRISE 296 ${HOSTAP_SRC_BASE}/crypto/tls_none.c 297) 298 299zephyr_library_sources_ifndef(CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE 300 ${HOSTAP_SRC_BASE}/common/wpa_common.c 301 ${HOSTAP_SRC_BASE}/rsn_supp/wpa.c 302 ${HOSTAP_SRC_BASE}/rsn_supp/preauth.c 303 ${HOSTAP_SRC_BASE}/rsn_supp/wpa_ie.c 304) 305 306zephyr_library_sources_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_WPA3 307 ${HOSTAP_SRC_BASE}/common/sae.c 308 ${HOSTAP_SRC_BASE}/common/dragonfly.c 309 310 ${HOSTAP_SRC_BASE}/crypto/dh_groups.c 311) 312 313zephyr_library_compile_definitions_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_WPA3 314 CONFIG_SAE 315 CONFIG_ECC 316) 317 318zephyr_library_include_directories_ifndef(CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE 319 ${CMAKE_SOURCE_DIR} 320) 321 322zephyr_library_sources_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_P2P 323 ${WIFI_NM_WPA_SUPPLICANT_BASE}/p2p_supplicant.c 324 ${WIFI_NM_WPA_SUPPLICANT_BASE}/p2p_supplicant_sd.c 325 ${HOSTAP_SRC_BASE}/p2p/p2p.c 326 ${HOSTAP_SRC_BASE}/p2p/p2p_utils.c 327 ${HOSTAP_SRC_BASE}/p2p/p2p_parse.c 328 ${HOSTAP_SRC_BASE}/p2p/p2p_build.c 329 ${HOSTAP_SRC_BASE}/p2p/p2p_go_neg.c 330 ${HOSTAP_SRC_BASE}/p2p/p2p_sd.c 331 ${HOSTAP_SRC_BASE}/p2p/p2p_pd.c 332 ${HOSTAP_SRC_BASE}/p2p/p2p_invitation.c 333 ${HOSTAP_SRC_BASE}/p2p/p2p_dev_disc.c 334 ${HOSTAP_SRC_BASE}/p2p/p2p_group.c 335 ${HOSTAP_SRC_BASE}/ap/p2p_hostapd.c 336 ${HOSTAP_SRC_BASE}/common/gas.c 337 ${WIFI_NM_WPA_SUPPLICANT_BASE}/gas_query.c 338 ${WIFI_NM_WPA_SUPPLICANT_BASE}/offchannel.c 339) 340zephyr_library_sources_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_WPS 341 ${WIFI_NM_WPA_SUPPLICANT_BASE}/wps_supplicant.c 342 ${HOSTAP_SRC_BASE}/utils/uuid.c 343 ${HOSTAP_SRC_BASE}/eap_peer/eap_wsc.c 344 ${HOSTAP_SRC_BASE}/eap_common/eap_wsc_common.c 345 ${HOSTAP_SRC_BASE}/wps/wps.c 346 ${HOSTAP_SRC_BASE}/ap/wps_hostapd.c 347 ${HOSTAP_SRC_BASE}/wps/wps_common.c 348 ${HOSTAP_SRC_BASE}/wps/wps_attr_parse.c 349 ${HOSTAP_SRC_BASE}/wps/wps_attr_build.c 350 ${HOSTAP_SRC_BASE}/wps/wps_attr_process.c 351 ${HOSTAP_SRC_BASE}/wps/wps_dev_attr.c 352 ${HOSTAP_SRC_BASE}/wps/wps_enrollee.c 353 ${HOSTAP_SRC_BASE}/wps/wps_registrar.c 354 ${HOSTAP_SRC_BASE}/crypto/dh_groups.c 355) 356 357if(NOT CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT) 358# dh_group5 is only needed if we are not using mbedtls, as mbedtls provides 359# its own definition 360zephyr_library_sources_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_WPS 361 ${HOSTAP_SRC_BASE}/crypto/dh_group5.c 362) 363endif() 364 365zephyr_library_compile_definitions_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_P2P 366 CONFIG_P2P 367 CONFIG_GAS 368 CONFIG_OFFCHANNEL 369) 370 371zephyr_library_compile_definitions_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_WPS 372 CONFIG_WPS 373 EAP_WSC 374) 375 376zephyr_library_sources_ifdef(CONFIG_WIFI_NM_HOSTAPD_WPS 377 ${HOSTAP_SRC_BASE}/eap_server/eap_server_wsc.c 378) 379 380zephyr_library_compile_definitions_ifdef(CONFIG_WIFI_NM_HOSTAPD_WPS 381 EAP_SERVER_WSC 382) 383 384zephyr_library_sources_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_ENTERPRISE 385 ${HOSTAP_SRC_BASE}/eap_common/eap_common.c 386 ${HOSTAP_SRC_BASE}/eap_peer/eap_tls_common.c 387 388) 389 390zephyr_library_compile_definitions_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_ENTERPRISE 391 IEEE8021X_EAPOL 392 EAP_IKEv2 393) 394 395zephyr_library_sources_ifdef(CONFIG_EAP_TLS 396 ${HOSTAP_SRC_BASE}/eap_peer/eap_tls.c 397) 398 399zephyr_library_compile_definitions_ifdef(CONFIG_EAP_TLS 400 EAP_TLS 401) 402 403zephyr_library_sources_ifdef(CONFIG_EAP_TTLS 404 ${HOSTAP_SRC_BASE}/eap_peer/eap_ttls.c 405) 406 407zephyr_library_compile_definitions_ifdef(CONFIG_EAP_TTLS 408 EAP_TTLS 409) 410 411zephyr_library_sources_ifdef(CONFIG_EAP_PEAP 412 ${HOSTAP_SRC_BASE}/eap_peer/eap_peap.c 413 ${HOSTAP_SRC_BASE}/eap_common/eap_peap_common.c 414) 415 416zephyr_library_compile_definitions_ifdef(CONFIG_EAP_PEAP 417 EAP_PEAP 418) 419 420zephyr_library_sources_ifdef(CONFIG_EAP_MD5 421 ${HOSTAP_SRC_BASE}/eap_peer/eap_md5.c 422) 423 424zephyr_library_compile_definitions_ifdef(CONFIG_EAP_MD5 425 EAP_MD5 426) 427 428zephyr_library_sources_ifdef(CONFIG_EAP_GTC 429 ${HOSTAP_SRC_BASE}/eap_peer/eap_gtc.c 430) 431 432zephyr_library_compile_definitions_ifdef(CONFIG_EAP_GTC 433 EAP_GTC 434) 435 436zephyr_library_sources_ifdef(CONFIG_EAP_MSCHAPV2 437 ${HOSTAP_SRC_BASE}/eap_peer/eap_mschapv2.c 438 ${HOSTAP_SRC_BASE}/eap_peer/mschapv2.c 439) 440 441zephyr_library_compile_definitions_ifdef(CONFIG_EAP_MSCHAPV2 442 EAP_MSCHAPv2 443) 444 445if(CONFIG_EAP_TTLS OR CONFIG_EAP_MSCHAPV2 OR CONFIG_EAP_MD5) 446 zephyr_library_sources(${HOSTAP_SRC_BASE}/eap_common/chap.c) 447endif() 448 449zephyr_library_sources_ifdef(CONFIG_EAP_LEAP 450 ${HOSTAP_SRC_BASE}/eap_peer/eap_leap.c 451) 452 453zephyr_library_compile_definitions_ifdef(CONFIG_EAP_LEAP 454 EAP_LEAP 455) 456 457zephyr_library_sources_ifdef(CONFIG_EAP_PSK 458 ${HOSTAP_SRC_BASE}/eap_peer/eap_psk.c 459 ${HOSTAP_SRC_BASE}/eap_common/eap_psk_common.c 460) 461 462zephyr_library_compile_definitions_ifdef(CONFIG_EAP_PSK 463 EAP_PSK 464) 465 466zephyr_library_sources_ifdef(CONFIG_EAP_PAX 467 ${HOSTAP_SRC_BASE}/eap_peer/eap_pax.c 468 ${HOSTAP_SRC_BASE}/eap_common/eap_pax_common.c 469) 470 471zephyr_library_compile_definitions_ifdef(CONFIG_EAP_PAX 472 EAP_PAX 473) 474 475zephyr_library_sources_ifdef(CONFIG_EAP_SAKE 476 ${HOSTAP_SRC_BASE}/eap_peer/eap_sake.c 477 ${HOSTAP_SRC_BASE}/eap_common/eap_sake_common.c 478) 479 480zephyr_library_compile_definitions_ifdef(CONFIG_EAP_SAKE 481 EAP_SAKE 482) 483 484zephyr_library_sources_ifdef(CONFIG_EAP_GPSK 485 ${HOSTAP_SRC_BASE}/eap_peer/eap_gpsk.c 486 ${HOSTAP_SRC_BASE}/eap_common/eap_gpsk_common.c 487) 488 489zephyr_library_compile_definitions_ifdef(CONFIG_EAP_GPSK 490 EAP_GPSK 491) 492 493zephyr_library_sources_ifdef(CONFIG_EAP_PWD 494 ${HOSTAP_SRC_BASE}/eap_peer/eap_pwd.c 495 ${HOSTAP_SRC_BASE}/eap_common/eap_pwd_common.c 496) 497 498zephyr_library_compile_definitions_ifdef(CONFIG_EAP_PWD 499 EAP_PWD 500) 501 502zephyr_library_sources_ifdef(CONFIG_EAP_EKE 503 ${HOSTAP_SRC_BASE}/eap_peer/eap_eke.c 504 ${HOSTAP_SRC_BASE}/eap_common/eap_eke_common.c 505) 506 507zephyr_library_compile_definitions_ifdef(CONFIG_EAP_EKE 508 EAP_EKE 509) 510 511zephyr_library_sources_ifdef(CONFIG_EAP_IKEV2 512 ${HOSTAP_SRC_BASE}/eap_peer/eap_ikev2.c 513 ${HOSTAP_SRC_BASE}/eap_peer/ikev2.c 514 ${HOSTAP_SRC_BASE}/eap_common/eap_ikev2_common.c 515 ${HOSTAP_SRC_BASE}/eap_common/ikev2_common.c 516) 517 518zephyr_library_compile_definitions_ifdef(CONFIG_EAP_IKEV2 519 EAP_IKEV2 520) 521 522if (CONFIG_EAP_SIM OR CONFIG_EAP_AKA) 523 zephyr_library_sources(${HOSTAP_SRC_BASE}/eap_common/eap_sim_common.c) 524endif() 525 526zephyr_library_sources_ifdef(CONFIG_EAP_SIM 527 ${HOSTAP_SRC_BASE}/eap_peer/eap_sim.c 528) 529 530zephyr_library_compile_definitions_ifdef(CONFIG_EAP_SIM 531 EAP_SIM 532) 533 534zephyr_library_sources_ifdef(CONFIG_EAP_AKA 535 ${HOSTAP_SRC_BASE}/eap_peer/eap_aka.c 536) 537 538zephyr_library_compile_definitions_ifdef(CONFIG_EAP_AKA 539 EAP_AKA 540) 541 542# Needs TLS1.3 and SESSION_TICKETS 543zephyr_library_sources_ifdef(CONFIG_EAP_FAST 544 ${HOSTAP_SRC_BASE}/eap_peer/eap_fast.c 545 ${HOSTAP_SRC_BASE}/eap_peer/eap_fast_pac.c 546 ${HOSTAP_SRC_BASE}/eap_common/eap_fast_common.c 547) 548 549zephyr_library_compile_definitions_ifdef(CONFIG_EAP_FAST 550 EAP_FAST 551) 552 553# Needs TLS1.3 and SESSION_TICKETS 554zephyr_library_sources_ifdef(CONFIG_EAP_FAST 555 ${HOSTAP_SRC_BASE}/eap_peer/eap_fast.c 556 ${HOSTAP_SRC_BASE}/eap_peer/eap_fast_pac.c 557 ${HOSTAP_SRC_BASE}/eap_common/eap_fast_common.c 558) 559 560zephyr_library_compile_definitions_ifdef(CONFIG_EAP_FAST 561 EAP_FAST 562) 563 564zephyr_library_sources_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_EAPOL 565 ${HOSTAP_SRC_BASE}/eapol_supp/eapol_supp_sm.c 566 ${HOSTAP_SRC_BASE}/eap_peer/eap.c 567 ${HOSTAP_SRC_BASE}/eap_peer/eap_methods.c 568 ${HOSTAP_SRC_BASE}/eap_common/eap_common.c 569) 570 571zephyr_library_compile_definitions_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_EAPOL 572 IEEE8021X_EAPOL 573) 574 575zephyr_library_compile_definitions_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_NW_SEL_RELIABILITY 576 CONFIG_NW_SEL_RELIABILITY 577) 578 579zephyr_library_sources_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_DPP 580 ${WIFI_NM_WPA_SUPPLICANT_BASE}/dpp_supplicant.c 581 ${WIFI_NM_WPA_SUPPLICANT_BASE}/offchannel.c 582 ${WIFI_NM_WPA_SUPPLICANT_BASE}/gas_query.c 583 584 ${HOSTAP_SRC_BASE}/ap/dpp_hostapd.c 585 ${HOSTAP_SRC_BASE}/ap/gas_query_ap.c 586 ${HOSTAP_SRC_BASE}/ap/gas_serv.c 587 588 ${HOSTAP_SRC_BASE}/common/dpp_tcp.c 589 ${HOSTAP_SRC_BASE}/common/dpp.c 590 ${HOSTAP_SRC_BASE}/common/dpp_pkex.c 591 ${HOSTAP_SRC_BASE}/common/dpp_crypto.c 592 ${HOSTAP_SRC_BASE}/common/dpp_auth.c 593 ${HOSTAP_SRC_BASE}/common/dpp_reconfig.c 594 ${HOSTAP_SRC_BASE}/common/gas_server.c 595 ${HOSTAP_SRC_BASE}/common/gas.c 596 ${HOSTAP_SRC_BASE}/common/dpp_backup.c 597 598 ${HOSTAP_SRC_BASE}/crypto/aes-siv.c 599 600 ${HOSTAP_SRC_BASE}/utils/json.c 601 ${HOSTAP_SRC_BASE}/utils/ip_addr.c 602 603 ${HOSTAP_SRC_BASE}/tls/asn1.c 604) 605 606zephyr_library_sources_ifdef(CONFIG_WIFI_NM_HOSTAPD_CRYPTO_ENTERPRISE 607 ${HOSTAP_SRC_BASE}/eap_server/eap_server_tls_common.c 608) 609 610zephyr_library_compile_definitions_ifdef(CONFIG_WIFI_NM_HOSTAPD_CRYPTO_ENTERPRISE 611 WIFI_NM_HOSTAPD_CRYPTO_ENTERPRISE 612 EAP_TLS_FUNCS 613 EAP_SERVER 614) 615 616zephyr_library_sources_ifdef(CONFIG_EAP_SERVER_IDENTITY 617 ${HOSTAP_SRC_BASE}/eap_server/eap_server_identity.c 618) 619 620zephyr_library_compile_definitions_ifdef(CONFIG_EAP_SERVER_IDENTITY 621 EAP_SERVER_IDENTITY 622) 623 624 625zephyr_library_sources_ifdef(CONFIG_EAP_SERVER_TLS 626 ${HOSTAP_SRC_BASE}/eap_server/eap_server_tls.c 627) 628 629zephyr_library_compile_definitions_ifdef(CONFIG_EAP_SERVER_TLS 630 EAP_SERVER_TLS 631) 632 633zephyr_library_sources_ifdef(CONFIG_EAP_SERVER_MD5 634 ${HOSTAP_SRC_BASE}/eap_server/eap_server_md5.c 635) 636 637zephyr_library_compile_definitions_ifdef(CONFIG_EAP_SERVER_MD5 638 EAP_SERVER_MD5 639) 640 641zephyr_library_sources_ifdef(CONFIG_EAP_SERVER_MSCHAPV2 642 ${HOSTAP_SRC_BASE}/eap_server/eap_server_mschapv2.c 643) 644 645zephyr_library_compile_definitions_ifdef(CONFIG_EAP_SERVER_MSCHAPV2 646 EAP_SERVER_MSCHAPV2 647) 648 649zephyr_library_sources_ifdef(CONFIG_EAP_SERVER_PEAP 650 ${HOSTAP_SRC_BASE}/eap_server/eap_server_peap.c 651) 652 653zephyr_library_compile_definitions_ifdef(CONFIG_EAP_SERVER_PEAP 654 EAP_SERVER_PEAP 655) 656 657zephyr_library_sources_ifdef(CONFIG_EAP_SERVER_GTC 658 ${HOSTAP_SRC_BASE}/eap_server/eap_server_gtc.c 659) 660 661zephyr_library_compile_definitions_ifdef(CONFIG_EAP_SERVER_GTC 662 EAP_SERVER_GTC 663) 664 665zephyr_library_sources_ifdef(CONFIG_EAP_SERVER_TTLS 666 ${HOSTAP_SRC_BASE}/eap_server/eap_server_ttls.c 667) 668 669zephyr_library_compile_definitions_ifdef(CONFIG_EAP_SERVER_TTLS 670 EAP_SERVER_TTLS 671) 672 673if(CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT) 674zephyr_include_directories( 675 ${HOSTAP_BASE}/port/mbedtls 676) 677 678zephyr_library_sources( 679 ${HOSTAP_SRC_BASE}/crypto/crypto_mbedtls_alt.c 680 ${HOSTAP_SRC_BASE}/crypto/rc4.c 681) 682 683zephyr_library_sources_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_MBEDTLS_PSA 684 ${HOSTAP_BASE}/port/mbedtls/supp_psa_api.c 685) 686 687zephyr_library_sources_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_ENTERPRISE 688 ${HOSTAP_SRC_BASE}/crypto/ms_funcs.c 689 ${HOSTAP_SRC_BASE}/crypto/aes-eax.c 690 ${HOSTAP_SRC_BASE}/crypto/md4-internal.c 691 ${HOSTAP_SRC_BASE}/crypto/sha1-internal.c 692 ${HOSTAP_SRC_BASE}/crypto/fips_prf_internal.c 693 ${HOSTAP_SRC_BASE}/crypto/milenage.c 694 ${HOSTAP_SRC_BASE}/crypto/tls_mbedtls_alt.c 695) 696 697zephyr_library_sources_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_TEST 698 ${HOSTAP_SRC_BASE}/crypto/crypto_module_tests.c 699 ${HOSTAP_SRC_BASE}/crypto/fips_prf_internal.c 700 ${HOSTAP_SRC_BASE}/crypto/sha1-internal.c 701 ${HOSTAP_SRC_BASE}/crypto/sha1-tlsprf.c 702) 703endif() 704 705zephyr_library_link_libraries_ifndef(CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE 706 mbedTLS) 707 708if(CONFIG_SAE_PWE_EARLY_EXIT) 709 message(WARNING "CONFIG_SAE_PWE_EARLY_EXIT is enabled, " 710 "this is not secure and is a workaround for low resource systems, " 711 "please use it carefully and do not use it production.") 712endif() 713 714endif() 715