1 # $NetBSD: Makefile,v 1.21 2025/10/19 00:59:59 riastradh Exp $ 2 3 .include "${.CURDIR}/../Makefile.inc" 4 5 6 PROG= hostapd 7 CPPFLAGS+= -Diphdr=ip 8 9 # ap 10 SRCS+= \ 11 accounting.c \ 12 ap_config.c \ 13 ap_drv_ops.c \ 14 ap_mlme.c \ 15 authsrv.c \ 16 beacon.c \ 17 bss_load.c \ 18 ctrl_iface_ap.c \ 19 dpp.c \ 20 dpp_hostapd.c \ 21 drv_callbacks.c \ 22 eap_user_db.c \ 23 gas.c \ 24 gas_query_ap.c \ 25 gas_serv.c \ 26 hostapd.c \ 27 ieee802_11_auth.c \ 28 ieee802_11_ht.c \ 29 ieee802_11_shared.c \ 30 ieee802_1x.c \ 31 mbo_ap.c \ 32 neighbor_db.c \ 33 pmksa_cache_auth.c \ 34 preauth_auth.c \ 35 rrm.c \ 36 sta_info.c \ 37 tkip_countermeasures.c \ 38 utils.c \ 39 vlan_ifconfig.c \ 40 vlan_init.c \ 41 vlan.c \ 42 wpa_auth.c \ 43 wpa_auth_glue.c \ 44 wpa_auth_ie.c 45 46 # common 47 SRCS+= \ 48 ctrl_iface_common.c \ 49 dpp_auth.c \ 50 dpp_backup.c \ 51 dpp_crypto.c \ 52 dpp_pkex.c \ 53 dpp_reconfig.c \ 54 dpp_tcp.c \ 55 hw_features_common.c \ 56 ieee802_11_common.c \ 57 ptksa_cache.c \ 58 wpa_common.c \ 59 wpa_ctrl.c 60 61 # drivers 62 SRCS+= \ 63 driver_bsd.c \ 64 driver_none.c \ 65 driver_wired.c \ 66 driver_wired_common.c \ 67 driver_common.c \ 68 drivers.c 69 70 # radius 71 SRCS+= \ 72 radius.c \ 73 radius_das.c \ 74 radius_client.c \ 75 radius_server.c 76 77 # utils 78 SRCS+= \ 79 base64.c \ 80 common.c \ 81 crc32.c \ 82 eloop.c \ 83 json.c \ 84 ip_addr.c \ 85 os_unix.c \ 86 wpa_debug.c \ 87 wpabuf.c 88 89 # main 90 SRCS+= \ 91 main.c \ 92 config_file.c \ 93 ctrl_iface.c \ 94 eap_register.c 95 96 # l2_packet 97 SRCS+= \ 98 l2_packet_freebsd.c 99 100 # eapol_auth 101 SRCS+= \ 102 eapol_auth_dump.c \ 103 eapol_auth_sm.c 104 105 # eap_server 106 SRCS+= \ 107 eap_common.c \ 108 eap_server.c \ 109 eap_server_methods.c 110 111 # crypto 112 SRCS+= \ 113 aes-siv.c \ 114 random.c \ 115 sha1-prf.c \ 116 sha256-kdf.c \ 117 sha256-prf.c \ 118 sha384-kdf.c \ 119 sha384-prf.c \ 120 sha512-kdf.c \ 121 sha512-prf.c \ 122 123 # tls 124 SRCS+= \ 125 asn1.c 126 127 # crypto for non-openssl 128 NO_SRCS+= \ 129 aes-cbc.c \ 130 aes-omac1.c \ 131 aes-wrap.c \ 132 md5.c 133 134 135 .PATH.c: \ 136 ${HOSTAPD_DISTDIR} \ 137 ${WPA_DISTDIR}/src/eap_server \ 138 ${WPA_DISTDIR}/src/eapol_auth \ 139 ${WPA_DISTDIR}/src/drivers \ 140 ${WPA_DISTDIR}/src/radius \ 141 ${WPA_DISTDIR}/src/tls \ 142 ${COMMON_PATH} 143 144 MAN= hostapd.8 hostapd.conf.5 145 146 CPPFLAGS+= -I${.CURDIR} -I${HOSTAPD_DISTDIR} 147 CPPFLAGS+= -DHOSTAPD 148 CPPFLAGS+= -DHOSTAPD_DUMP_STATE 149 CPPFLAGS+= -DALL_DH_GROUPS 150 CPPFLAGS+= -DRADIUS_SERVER 151 CPPFLAGS+= -DCONFIG_CTRL_IFACE 152 CPPFLAGS+= -DCONFIG_CTRL_IFACE_UNIX 153 CPPFLAGS+= -DCONFIG_DEBUG_SYSLOG 154 CPPFLAGS+= -DCONFIG_DRIVER_BSD 155 CPPFLAGS+= -DCONFIG_DRIVER_NONE 156 CPPFLAGS+= -DCONFIG_DRIVER_WIRED 157 CPPFLAGS+= -DCONFIG_DRIVER_WPA 158 159 .if ${MKINET6} != "no" 160 CPPFLAGS+= -DCONFIG_IPV6 161 .endif 162 CPPFLAGS+= -DCONFIG_PEERKEY 163 CPPFLAGS+= -DCONFIG_RSN_PREAUTH 164 CPPFLAGS+= -DCONFIG_DPP 165 CPPFLAGS+= -DCONFIG_DPP2 166 CPPFLAGS+= -DCONFIG_ECC 167 #CPPFLAGS+= -DCONFIG_OWE 168 #CPPFLAGS+= -DCONFIG_SAE 169 #CPPFLAGS+= -DCONFIG_AIRTIME_POLICY 170 #CPPFLAGS+= -DCONFIG_FILS 171 #CPPFLAGS+= -DCONFIG_OCV 172 #CPPFLAGS+= -DCONFIG_IEEE80211AX 173 #CPPFLAGS+= -DCONFIG_IEEE80211R_AP 174 CPPFLAGS+= -DCONFIG_MBO 175 #CPPFLAGS+= -DCONFIG_NO_VLAN 176 #CPPFLAGS+= -DCONFIG_SQLITE 177 #CPPFLAGS+= -DCONFIG_SHA256 -DCONFIG_SHA484 -DCONFIG_SHA512 178 179 DPADD+= ${LIBPCAP} 180 LDADD+= -lpcap 181 182 .if !defined(NO_CRYPT) && !defined(NO_OPENSSL) && !defined(RELEASE_CRUNCH) 183 CPPFLAGS+= -DEAP_SERVER 184 CPPFLAGS+= -DEAP_SERVER_AKA 185 CPPFLAGS+= -DEAP_SERVER_AKA_PRIME 186 CPPFLAGS+= -DEAP_SERVER_GPSK 187 CPPFLAGS+= -DEAP_SERVER_GPSK_SHA256 188 CPPFLAGS+= -DEAP_SERVER_GTC 189 CPPFLAGS+= -DEAP_SERVER_IDENTITY 190 CPPFLAGS+= -DEAP_SERVER_IKEV2 191 CPPFLAGS+= -DEAP_SERVER_MD5 192 CPPFLAGS+= -DEAP_SERVER_MSCHAPV2 193 CPPFLAGS+= -DEAP_SERVER_PAX 194 CPPFLAGS+= -DEAP_SERVER_PEAP 195 CPPFLAGS+= -DEAP_SERVER_PSK 196 CPPFLAGS+= -DEAP_SERVER_SAKE 197 CPPFLAGS+= -DEAP_SERVER_SIM 198 CPPFLAGS+= -DEAP_SERVER_TLS 199 CPPFLAGS+= -DEAP_SERVER_TNC 200 CPPFLAGS+= -DEAP_SERVER_TTLS 201 CPPFLAGS+= -DEAP_TLS_FUNCS 202 CPPFLAGS+= -DPKCS12_FUNCS 203 204 # crypto 205 SRCS+= \ 206 aes-ctr.c \ 207 aes-eax.c \ 208 aes-encblock.c \ 209 crypto_openssl.c \ 210 dh_groups.c \ 211 fips_prf_openssl.c \ 212 ms_funcs.c \ 213 sha1-tlsprf.c \ 214 sha256.c \ 215 sha384.c \ 216 sha512.c \ 217 tls_openssl.c 218 219 # eap_common 220 SRCS+= \ 221 chap.c \ 222 eap_gpsk_common.c \ 223 eap_ikev2_common.c \ 224 eap_pax_common.c \ 225 eap_peap_common.c \ 226 eap_psk_common.c \ 227 eap_sake_common.c \ 228 eap_sim_common.c \ 229 ikev2_common.c 230 231 # eap_server 232 SRCS+= \ 233 eap_server_aka.c \ 234 eap_server_gpsk.c \ 235 eap_server_gtc.c \ 236 eap_server_identity.c \ 237 eap_server_ikev2.c \ 238 eap_server_md5.c \ 239 eap_server_mschapv2.c \ 240 eap_server_pax.c \ 241 eap_server_peap.c \ 242 eap_server_psk.c \ 243 eap_server_sake.c \ 244 eap_server_sim.c \ 245 eap_server_tls.c \ 246 eap_server_tls_common.c \ 247 eap_server_tnc.c \ 248 eap_server_ttls.c \ 249 eap_sim_db.c \ 250 ikev2.c \ 251 tncs.c 252 253 254 DPADD+= ${LIBSSL} ${LIBCRYPTO} ${LIBDES} 255 LDADD+= -lssl -lcrypto -ldes 256 .else 257 CPPFLAGS+= -DINTERNAL_AES -DINTERNAL_MD5 -DINTERNAL_SHA1 -DCONFIG_NO_PBKDF2 258 CPPFLAGS+= -DCONFIG_CRYPTO_INTERNAL 259 SRCS+= tls_none.c sha1-internal.c md5-internal.c aes-xinternal.c rc4.c 260 SRCS+= sha1-pbkdf2.c sha1.c md5.c 261 .endif 262 263 CWARNFLAGS.gcc+= ${CC_WNO_ADDRESS_OF_PACKED_MEMBER} 264 COPTS.dpp.c+= -Wno-error=deprecated-declarations 265 COPTS.crypto_openssl.c+= -Wno-error=deprecated-declarations 266 COPTS.fips_prf_openssl.c+= -Wno-error=deprecated-declarations 267 COPTS.tls_openssl.c+= -Wno-error=deprecated-declarations 268 269 .include <bsd.prog.mk> 270