wpa: Restructure wpa build

The current WPA build assumes a flat namespace. However the latest sources
from w1.fi now have a duplicate config.c, in two separate subdirectories.
The flat namespace will overwrite config.o with the output from the most
recently modified config.c, of which there are two of them.

This commit resolves this problem by building each component in
wpa's src subdirectory tree into its own .a archive, just as the w1.fi
upstream build as used by the port does. The advantages of this approach
are:

1. Duplicate source file names, i.e. config.c in the wpa_supplicant
   direcory and another config.c in src/utils in the next wpa
   will result in both compiles writing to the same .o file.

2. This restructure simplifies maintanence. A develper needs only to add
   new files as identified by git status in the vendor branch to the
   appropriate Makefile within the usr.sbin/wpa tree. This also reduces
   time required to prepare a new import and should reduce error.

3. The new wpa build structure more closely represents the build as
   performed by the upstream tarball.

This is in preparation for the next wpa update from w1.fi.

Reviewed by:	philip
Tested by:	philip
MFC after:	2 months
Differential Revision:	https://reviews.freebsd.org/D30372
This commit is contained in:
Cy Schubert 2021-05-20 14:28:17 -07:00
parent f4aa64528e
commit 25ecdc7d52
26 changed files with 700 additions and 366 deletions

View File

@ -64,7 +64,22 @@ _INTERNALLIBS= \
smdb \
smutil \
telnet \
vers
vers \
wpaap \
wpacommon \
wpacrypto \
wpadrivers \
wpaeap_common \
wpaeap_peer \
wpaeap_server \
wpaeapol_auth \
wpaeapol_supp \
wpal2_packet \
wparadius \
wparsn_supp \
wpatls \
wpautils \
wpawps
_LIBRARIES= \
${_PRIVATELIBS} \
@ -583,6 +598,51 @@ LIBBE?= ${LIBBEDIR}/libbe${PIE_SUFFIX}.a
LIBPMCSTATDIR= ${_LIB_OBJTOP}/lib/libpmcstat
LIBPMCSTAT?= ${LIBPMCSTATDIR}/libpmcstat${PIE_SUFFIX}.a
LIBWPAAPDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/ap
LIBWPAAP?= ${LIBWPAAPDIR}/libwpaap${PIE_SUFFIX}.a
LIBWPACOMMONDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/common
LIBWPACOMMON?= ${LIBWPACOMMONDIR}/libwpacommon${PIE_SUFFIX}.a
LIBWPACRYPTODIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/crypto
LIBWPACRYPTO?= ${LIBWPACRYPTODIR}/libwpacrypto${PIE_SUFFIX}.a
LIBWPADRIVERSDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/drivers
LIBWPADRIVERS?= ${LIBWPADRIVERSDIR}/libwpadrivers${PIE_SUFFIX}.a
LIBWPAEAP_COMMONDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/eap_common
LIBWPAEAP_COMMON?= ${LIBWPAEAP_COMMONDIR}/libwpaeap_common${PIE_SUFFIX}.a
LIBWPAEAP_PEERDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/eap_peer
LIBWPAEAP_PEER?= ${LIBWPAEAP_PEERDIR}/libwpaeap_peer${PIE_SUFFIX}.a
LIBWPAEAP_SERVERDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/eap_server
LIBWPAEAP_SERVER?= ${LIBWPAEAP_SERVERDIR}/libwpaeap_server${PIE_SUFFIX}.a
LIBWPAEAPOL_AUTHDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/eapol_auth
LIBWPAEAPOL_AUTH?= ${LIBWPAEAPOL_AUTHDIR}/libwpaeapol_auth${PIE_SUFFIX}.a
LIBWPAEAPOL_SUPPDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/eapol_supp
LIBWPAEAPOL_SUPP?= ${LIBWPAEAPOL_SUPPDIR}/libwpaeapol_supp${PIE_SUFFIX}.a
LIBWPAL2_PACKETDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/l2_packet
LIBWPAL2_PACKET?= ${LIBWPAL2_PACKETDIR}/libwpal2_packet${PIE_SUFFIX}.a
LIBWPARADIUSDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/radius
LIBWPARADIUS?= ${LIBWPARADIUSDIR}/libwparadius${PIE_SUFFIX}.a
LIBWPARSN_SUPPDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/rsn_supp
LIBWPARSN_SUPP?= ${LIBWPARSN_SUPPDIR}/libwparsn_supp${PIE_SUFFIX}.a
LIBWPATLSDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/tls
LIBWPATLS?= ${LIBWPATLSDIR}/libwpatls${PIE_SUFFIX}.a
LIBWPAUTILSDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/utils
LIBWPAUTILS?= ${LIBWPAUTILSDIR}/libwpautils${PIE_SUFFIX}.a
LIBWPAWPSDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/wps
LIBWPAWPS?= ${LIBWPAWPSDIR}/libwpawps${PIE_SUFFIX}.a
LIBC_NOSSP_PICDIR= ${_LIB_OBJTOP}/lib/libc
LIBC_NOSSP_PIC?= ${LIBC_NOSSP_PICDIR}/libc_nossp_pic.a

View File

@ -1,7 +1,12 @@
# $FreeBSD$
SUBDIR= wpa_supplicant wpa_cli wpa_passphrase
SUBDIR+= hostapd hostapd_cli
SUBDIR= src .WAIT \
wpa_supplicant \
wpa_cli \
wpa_passphrase \
hostapd \
hostapd_cli \
SUBDIR_PARALLEL=
.include <bsd.subdir.mk>

View File

@ -1,13 +1,10 @@
# $FreeBSD$
.if ${MK_OPENSSL} != "no"
SRCS+= crypto_openssl.c random.c sha1-prf.c sha256-prf.c sha256-tlsprf.c \
sha512.c
LIBADD+= ssl crypto
CFLAGS+= -DCONFIG_SHA256
.else
CFLAGS+=-DCONFIG_CRYPTO_INTERNAL
SRCS+= crypto_internal.c random.c
CONFIG_INTERNAL_AES=y
CONFIG_INTERNAL_DES=y
CONFIG_INTERNAL_MD4=y
@ -33,129 +30,28 @@ NEED_TLS_PRF=y
.if defined(CONFIG_INTERNAL_TLS)
CFLAGS+=-DCONFIG_INTERNAL_LIBTOMMATH \
-DCONFIG_TLS_INTERNAL_CLIENT
SRCS+= asn1.c \
bignum.c \
crypto_internal-cipher.c \
crypto_internal-modexp.c \
crypto_internal-rsa.c \
pkcs1.c \
pkcs5.c \
pkcs8.c \
rsa.c \
tls_internal.c \
tlsv1_common.c \
tlsv1_record.c \
tlsv1_cred.c \
tlsv1_client.c \
tlsv1_client_write.c \
tlsv1_client_read.c \
tlsv1_client_ocsp.c \
x509v3.c
NEED_DES=y
NEED_MD4=y
NEED_RC4=y
.else
CFLAGS+=-DEAP_TLS_OPENSSL
SRCS+= tls_openssl.c tls_openssl_ocsp.c
.endif
.endif
.if defined(CONFIG_INTERNAL_AES)
SRCS+= aes-unwrap.c aes-wrap.c \
aes-internal.c \
aes-internal-dec.c \
aes-internal-enc.c
.endif
.if defined(NEED_AES_CBC)
SRCS+= aes-cbc.c
.endif
.if defined(NEED_AES_EAX)
SRCS+= aes-eax.c
NEED_AES_CTR=y
.endif
.if defined(NEED_AES_CTR)
SRCS+= aes-ctr.c
.endif
.if defined(NEED_AES_ENCBLOCK)
SRCS+= aes-encblock.c
.endif
.if defined(NEED_AES_OMAC1)
SRCS+= aes-omac1.c
.endif
.if defined(NEED_DES)
.if defined(CONFIG_INTERNAL_DES)
SRCS+= des-internal.c
.endif
.endif
.if defined(NEED_MD4)
.if defined(CONFIG_INTERNAL_MD4)
SRCS+= md4-internal.c
.endif
.endif
.if defined(CONFIG_INTERNAL_MD5)
SRCS+= md5.c md5-internal.c
.endif
.if defined(NEED_FIPS186_2_PRF)
.if defined(CONFIG_INTERNAL_SHA1)
SRCS+= fips_prf_internal.c
.else
SRCS+= fips_prf_openssl.c
.endif
.endif
.if defined(CONFIG_INTERNAL_RC4)
SRCS+= rc4.c
.endif
.if defined(CONFIG_INTERNAL_SHA1)
SRCS+= sha1-internal.c sha1-pbkdf2.c sha1.c sha1-prf.c
.endif
.if defined(NEED_SHA256)
CFLAGS+=-DCONFIG_SHA256
SRCS+= sha256.c
.if defined(CONFIG_INTERNAL_SHA256)
SRCS+= sha256-internal.c sha256-prf.c
.endif
.endif
.if defined(NEED_SHA384)
CFLAGS+=-DCONFIG_SHA384
SRCS+= sha384.c
.if defined(CONFIG_INTERNAL_SHA384)
SRCS+= sha384-internal.c sha384-prf.c
.endif
.endif
.if defined(NEED_SHA512)
CFLAGS+=-DCONFIG_SHA512
SRCS+= sha512.c
.if defined(CONFIG_INTERNAL_SHA512)
SRCS+= sha512-internal.c sha512-prf.c
.endif
.endif
.if defined(NEED_TLS_PRF)
SRCS+= sha1-tlsprf.c
.endif
.if defined(CONFIG_INTERNAL_DH5)
.if defined(NEED_DH_GROUPS)
SRCS+= dh_group5.c
.endif
.endif
.if defined(NEED_DH_GROUPS)
SRCS+= dh_groups.c
.endif
.if defined(NEED_DH_GROUPS_ALL)

View File

@ -1,5 +1,7 @@
# $FreeBSD$
.include <src.opts.mk>
BINDIR?= /usr/sbin
WARNS?= 0
@ -8,18 +10,7 @@ WPA_DISTDIR?= ${SRCTOP}/contrib/wpa/
WPA_SUPPLICANT_DISTDIR?=${WPA_DISTDIR}/wpa_supplicant
HOSTAPD_DISTDIR?= ${WPA_DISTDIR}/hostapd
.PATH.c:${.CURDIR:H} \
${WPA_DISTDIR}/src/common \
${WPA_DISTDIR}/src/crypto \
${WPA_DISTDIR}/src/eapol_auth \
${WPA_DISTDIR}/src/eap_common \
${WPA_DISTDIR}/src/eapol_supp \
${WPA_DISTDIR}/src/l2_packet \
${WPA_DISTDIR}/src/radius \
${WPA_DISTDIR}/src/rsn_supp \
${WPA_DISTDIR}/src/tls \
${WPA_DISTDIR}/src/utils \
${WPA_DISTDIR}/src/wps
.PATH.c:${.CURDIR:H}
CFLAGS+=-I${.CURDIR}
CFLAGS+=-I${HOSTAPD_DISTDIR}
@ -31,9 +22,78 @@ CFLAGS+=-I${WPA_DISTDIR}/src/l2_packet
CFLAGS+=-I${WPA_DISTDIR}/src/utils
CFLAGS+=-I${WPA_DISTDIR}/src/wps
CFLAGS+= -DCONFIG_CTRL_IFACE
CFLAGS+= -DCONFIG_CTRL_IFACE_UNIX
CFLAGS+= -DNEED_AP_MLME
CFLAGS+= -DTLS_DEFAULT_CIPHERS=\"DEFAULT:!EXP:!LOW\"
CFLAGS+=-DCONFIG_DRIVER_BSD
CFLAGS+=-DCONFIG_DRIVER_WIRED
CFLAGS+=-DCONFIG_DRIVER_RADIUS_ACL
CFLAGS+=-DCONFIG_CTRL_IFACE
CFLAGS+=-DCONFIG_CTRL_IFACE_UNIX
CFLAGS+=-DCONFIG_IEEE80211AC
CFLAGS+=-DCONFIG_IEEE80211N
CFLAGS+=-DCONFIG_IEEE80211R
CFLAGS+=-DCONFIG_IEEE80211W
CFLAGS+=-DCONFIG_IEEE80211AX
CFLAGS+=-DNEED_AP_MLME
CFLAGS+=-DTLS_DEFAULT_CIPHERS=\"DEFAULT:!EXP:!LOW\"
CFLAGS+=-DCONFIG_DEBUG_SYSLOG
CFLAGS+=-DCONFIG_WPS
CFLAGS+=-DCONFIG_WPS2
CFLAGS+=-DCONFIG_WPS_UPNP
CFLAGS+=-DCONFIG_WPS_OOB
CFLAGS+=-DCONFIG_INTERWORKING
CFLAGS+=-DPKCS12_FUNCS
CFLAGS+=-DCONFIG_GAS
CFLAGS+=-DCONFIG_PEERKEY
CFLAGS+=-DCONFIG_PRIVSEP
CFLAGS+=-DCONFIG_SMARTCARD
CFLAGS+=-DCONFIG_TERMINATE_ONLASTIF
CFLAGS+=-DCONFIG_TLS=openssl
CFLAGS+=-DCONFIG_MATCH_IFACE
CFLAGS+=-DEAP_SERVER
CFLAGS+=-DEAP_SERVER_GTC
CFLAGS+=-DEAP_SERVER_IDENTITY
CFLAGS+=-DEAP_SERVER_MD5
CFLAGS+=-DEAP_SERVER_MSCHAPV2
CFLAGS+=-DEAP_SERVER_PEAP
CFLAGS+=-DEAP_SERVER_TLS
CFLAGS+=-DEAP_SERVER_TTLS
CFLAGS+=-DEAP_SERVER_WSC
CFLAGS+=-DEAP_TLS_FUNCS
.if ${MK_WPA_SUPPLICANT_EAPOL} != "no"
CFLAGS+=-DCONFIG_HS20 \
-DEAP_GTC \
-DEAP_LEAP \
-DEAP_MD5 \
-DEAP_MSCHAPv2 \
-DEAP_OTP \
-DEAP_PEAP \
-DEAP_PSK \
-DEAP_TLS \
-DEAP_TTLS \
-DEAP_WSC \
-DIEEE8021X_EAPOL
NEED_AES_EAX=y
NEED_AES_ENCBLOCK=y
NEED_AES_OMAC1=y
.endif
.if !empty(CFLAGS:M*-DEAP_AKA)
NEED_SIM_COMMON=y
NEED_AES_CBC=y
.endif
.if !empty(CFLAGS:M*-DEAP_SIM)
NEED_SIM_COMMON=y
NEED_AES_CBC=y
.endif
.if defined(NEED_SIM_COMMON)
NEED_FIPS186_2_PRF=y
.endif
.if !empty(CFLAGS:M*-DEAP_GPSK)
CFLAGS+=-DEAP_GPSK_SHA256
NEED_AES_OMAC1=y
.endif
.include <bsd.own.mk>

View File

@ -3,96 +3,14 @@
.include <src.opts.mk>
.include "../Makefile.inc"
.PATH.c:${HOSTAPD_DISTDIR} \
${WPA_DISTDIR}/src/ap \
${WPA_DISTDIR}/src/eap_server \
${WPA_DISTDIR}/src/eap_peer \
${WPA_DISTDIR}/src/drivers \
${WPA_DISTDIR}/wpa_supplicant
.PATH.c:${HOSTAPD_DISTDIR}
PACKAGE= hostapd
PROG= hostapd
SRCS= accounting.c \
ap_config.c \
ap_drv_ops.c \
ap_list.c \
ap_mlme.c \
authsrv.c \
base64.c \
beacon.c \
bss_load.c \
chap.c \
common.c \
config_file.c \
SRCS= config_file.c \
ctrl_iface.c \
ctrl_iface_ap.c \
ctrl_iface_common.c \
dfs.c \
driver_bsd.c \
driver_common.c \
drivers.c \
drv_callbacks.c \
eloop.c \
gas.c \
gas_serv.c \
http_client.c \
http_server.c \
httpread.c \
hostapd.c \
hs20.c \
hw_features.c \
hw_features_common.c \
ieee802_11.c \
ieee802_11_auth.c \
ieee802_11_common.c \
ieee802_11_he.c \
ieee802_11_ht.c \
ieee802_11_shared.c \
ieee802_11_vht.c \
ieee802_1x.c \
ip_addr.c \
l2_packet_freebsd.c \
main.c \
mbo_ap.c \
ms_funcs.c \
neighbor_db.c \
os_unix.c \
pmksa_cache_auth.c \
preauth_auth.c \
radius.c \
radius_client.c \
radius_das.c \
rrm.c \
sta_info.c \
tkip_countermeasures.c \
upnp_xml.c \
utils.c \
uuid.c \
vlan.c \
vlan_ifconfig.c \
vlan_init.c \
wmm.c \
wpa_auth.c \
wpa_auth_glue.c \
wpa_auth_ie.c \
wpa_common.c \
wpa_ctrl.c \
wpa_debug.c \
wpabuf.c \
wps.c \
wps_attr_build.c \
wps_attr_process.c \
wps_attr_parse.c \
wps_common.c \
wps_dev_attr.c \
wps_enrollee.c \
wps_hostapd.c \
wps_registrar.c \
wps_upnp.c \
wps_upnp_ap.c \
wps_upnp_event.c \
wps_upnp_ssdp.c \
wps_upnp_web.c
eap_register.c \
main.c
MAN= hostapd.8 hostapd.conf.5
@ -104,26 +22,17 @@ FILES= hostapd.conf hostapd.eap_user hostapd.wpa_psk
CFLAGS+=-I${.CURDIR:H}/wpa_supplicant \
-I${WPA_DISTDIR}/src/eap_peer \
-DCONFIG_DRIVER_BSD \
-DCONFIG_DRIVER_RADIUS_ACL \
-DCONFIG_HS20 \
-DCONFIG_MBO \
-DCONFIG_IEEE80211N \
-DCONFIG_IEEE80211W \
-DCONFIG_IEEE80211AC \
-DCONFIG_IEEE80211AX \
-DCONFIG_INTERWORKING \
-DCONFIG_PEERKEY \
-DCONFIG_RSN_PREAUTH \
-DCONFIG_WPS \
-DCONFIG_WPS2 \
-DCONFIG_WPS_UPNP \
-DHOSTAPD
.if ${MK_INET6} != "no"
CFLAGS+= -DCONFIG_IPV6
.endif
#CFLAGS+= -g
LIBADD+= pcap util
LIBADD+= pcap util wpaap wpacommon wpacrypto \
wpadrivers wpal2_packet wpaeap_common wpaeap_server \
wpaeapol_auth \
wparadius wpatls wpautils wpawps
# User customizations for wpa_supplicant/hostapd build environment
CFLAGS+=${HOSTAPD_CFLAGS}
@ -131,36 +40,6 @@ CFLAGS+=${HOSTAPD_CFLAGS}
LDADD+=${HOSTAPD_LDADD}
#LDFLAGS+=${HOSTAPD_LDFLAGS}
CFLAGS+=-DDPKCS12_FUNCS \
-DEAP_SERVER \
-DEAP_SERVER_GTC \
-DEAP_SERVER_IDENTITY \
-DEAP_SERVER_MD5 \
-DEAP_SERVER_MSCHAPV2 \
-DEAP_SERVER_PEAP \
-DEAP_SERVER_TLS \
-DEAP_SERVER_TTLS \
-DEAP_SERVER_WSC \
-DEAP_TLS_FUNCS
SRCS+= eap_server_gtc.c \
eap_common.c \
eap_peap_common.c \
eap_register.c \
eap_server.c \
eap_server_identity.c \
eap_server_md5.c \
eap_server_methods.c \
eap_server_mschapv2.c \
eap_server_peap.c \
eap_server_tls.c \
eap_server_tls_common.c \
eap_server_ttls.c \
eap_server_wsc.c \
eap_user_db.c \
eap_wsc_common.c \
eapol_auth_dump.c \
eapol_auth_sm.c
TLS_FUNCS=y
# For WPS, EAP modes, etc
@ -172,38 +51,22 @@ NEED_SIM_COMMON=y
.endif
.if !empty(CFLAGS:M*-DEAP_SERVER_AKA)
SRCS+= eap_server_aka.c
NEED_SIM_COMMON=y
.endif
.if !empty(CFLAGS:M*-DEAP_SERVER_SIM)
SRCS+= eap_server_sim.c
NEED_SIM_COMMON=y
.endif
.if defined(NEED_SIM_COMMON)
SRCS+= eap_sim_common.c \
eap_sim_db.c
NEED_FIPS186_2_PRF=y
.endif
.if !empty(CFLAGS:M*-DEAP_SERVER_GPSK)
CFLAGS+=-DEAP_GPSK_SHA256
SRCS+= eap_server_gpsk.c \
eap_gpsk_common.c
NEED_AES_OMAC1=y
.endif
.if !empty(CFLAGS:M*-DEAP_SERVER_PAX)
SRCS+= eap_server_pax.c \
eap_pax_common.c
.endif
.if !empty(CFLAGS:M*-DEAP_SERVER_SAKE)
SRCS+= eap_server_sake.c \
eap_sake_common.c
.endif
.include "../Makefile.crypto"
.include <bsd.prog.mk>

View File

@ -6,14 +6,12 @@
PACKAGE= hostapd
PROG= hostapd_cli
SRCS= cli.c common.c edit.c eloop.c hostapd_cli.c os_unix.c \
wpa_ctrl.c wpa_debug.c
SRCS= hostapd_cli.c
CFLAGS+= -DCONFIG_CTRL_IFACE
CFLAGS+= -DCONFIG_CTRL_IFACE_UNIX
LIBADD+= util
LIBADD+= util wpacommon wpautils
MAN= hostapd_cli.8
.include "../Makefile.crypto"
.include <bsd.prog.mk>

19
usr.sbin/wpa/src/Makefile Normal file
View File

@ -0,0 +1,19 @@
SUBDIR= ap \
common \
crypto \
drivers \
eap_common \
eap_peer \
eap_server \
eapol_auth \
eapol_supp \
l2_packet \
radius \
rsn_supp \
tls \
utils \
wps
SUBDIR_PARALLEL=
.include <bsd.subdir.mk>

View File

@ -0,0 +1,59 @@
.include <src.opts.mk>
.include "../../Makefile.inc"
LIB= wpaap
INTERNALLIB=
.PATH: ${WPA_DISTDIR}/src/ap
SRCS= accounting.c \
ap_config.c \
ap_drv_ops.c \
ap_list.c \
ap_mlme.c \
authsrv.c \
beacon.c \
bss_load.c \
ctrl_iface_ap.c \
dfs.c \
drv_callbacks.c \
eap_user_db.c \
gas_serv.c \
hostapd.c \
hs20.c \
hw_features.c \
ieee802_11.c \
ieee802_11_auth.c \
ieee802_11_he.c \
ieee802_11_ht.c \
ieee802_11_shared.c \
ieee802_11_vht.c \
ieee802_1x.c \
mbo_ap.c \
neighbor_db.c \
pmksa_cache_auth.c \
preauth_auth.c \
rrm.c \
sta_info.c \
tkip_countermeasures.c \
utils.c \
vlan.c \
vlan_ifconfig.c \
vlan_init.c \
wmm.c \
wpa_auth.c \
wpa_auth_glue.c \
wpa_auth_ie.c \
wps_hostapd.c
CFLAGS+=-DCONFIG_MBO \
-DCONFIG_RSN_PREAUTH \
-DHOSTAPD
.include "../../Makefile.crypto"
# We are only interested in includes at this point. Not libraries.
LIBADD=
.include <bsd.lib.mk>

View File

@ -0,0 +1,27 @@
.include <src.opts.mk>
.include "../../Makefile.inc"
LIB= wpacommon
INTERNALLIB=
.PATH: ${WPA_DISTDIR}/src/common
SRCS= cli.c \
ctrl_iface_common.c \
gas.c \
hw_features_common.c \
ieee802_11_common.c \
wpa_common.c \
wpa_ctrl.c
CFLAGS+=-DCONFIG_SAE \
-DCONFIG_SUITE \
-DCONFIG_SUITEB
.include "../../Makefile.crypto"
# We are only interested in includes at this point. Not libraries.
LIBADD=
.include <bsd.lib.mk>

View File

@ -0,0 +1,63 @@
.include <src.opts.mk>
.include "../../Makefile.inc"
LIB= wpacrypto
INTERNALLIB=
.PATH: ${WPA_DISTDIR}/src/crypto
SRCS= aes-cbc.c \
aes-ctr.c \
aes-eax.c \
aes-encblock.c \
aes-internal.c \
aes-internal-dec.c \
aes-internal-enc.c \
aes-omac1.c \
aes-unwrap.c \
aes-wrap.c \
crypto_internal.c \
crypto_internal-cipher.c \
crypto_internal-modexp.c \
crypto_internal-rsa.c \
des-internal.c \
dh_group5.c \
dh_groups.c \
fips_prf_internal.c \
md4-internal.c \
md5.c \
md5-internal.c \
ms_funcs.c \
random.c \
rc4.c \
sha1.c \
sha1-internal.c \
sha1-pbkdf2.c \
sha1-prf.c \
sha1-tlsprf.c \
sha256.c \
sha256-prf.c \
sha256-tlsprf.c \
sha256-internal.c \
sha384.c \
sha384-prf.c \
sha384-internal.c \
sha512-internal.c \
tls_internal.c
CFLAGS+=-DCONFIG_CRYPTO_INTERNAL \
-DCONFIG_TLS_INTERNAL_CLIENT \
-DCONFIG_TLS_INTERNAL_SERVER \
-DCONFIG_SHA256 \
-DCONFIG_SHA384 \
-DCONFIG_HMAC_SHA384_KDF \
-DCONFIG_INTERNAL_SHA384
#CFLAGS+=-DALL_DH_GROUPS
.include "../../Makefile.crypto"
# We are only interested in includes at this point. Not libraries.
LIBADD=
.include <bsd.lib.mk>

View File

@ -0,0 +1,21 @@
.include <src.opts.mk>
.include "../../Makefile.inc"
LIB= wpadrivers
INTERNALLIB=
.PATH: ${WPA_DISTDIR}/src/drivers
SRCS= drivers.c \
driver_bsd.c \
driver_common.c \
driver_wired.c \
driver_wired_common.c
.include "../../Makefile.crypto"
# We are only interested in includes at this point. Not libraries.
LIBADD=
.include <bsd.lib.mk>

View File

@ -0,0 +1,25 @@
.include <src.opts.mk>
.include "../../Makefile.inc"
LIB= wpaeap_common
INTERNALLIB=
.PATH: ${WPA_DISTDIR}/src/eap_common
SRCS= chap.c \
eap_common.c \
eap_gpsk_common.c \
eap_pax_common.c \
eap_peap_common.c \
eap_psk_common.c \
eap_sake_common.c \
eap_sim_common.c \
eap_wsc_common.c
.include "../../Makefile.crypto"
# We are only interested in includes at this point. Not libraries.
LIBADD=
.include <bsd.lib.mk>

View File

@ -0,0 +1,33 @@
.include <src.opts.mk>
.include "../../Makefile.inc"
LIB= wpaeap_peer
INTERNALLIB=
.PATH: ${WPA_DISTDIR}/src/eap_peer
SRCS= eap.c \
eap_gtc.c \
eap_leap.c \
eap_md5.c \
eap_methods.c \
eap_mschapv2.c \
eap_otp.c \
eap_peap.c \
eap_psk.c \
eap_tls.c \
eap_tls_common.c \
eap_ttls.c \
eap_wsc.c \
eap_methods.c \
mschapv2.c
CFLAGS+=-DIEEE8021X_EAPOL
.include "../../Makefile.crypto"
# We are only interested in includes at this point. Not libraries.
LIBADD=
.include <bsd.lib.mk>

View File

@ -0,0 +1,34 @@
.include <src.opts.mk>
.include "../../Makefile.inc"
LIB= wpaeap_server
INTERNALLIB=
.PATH: ${WPA_DISTDIR}/src/eap_server
SRCS= eap_server.c \
eap_server_aka.c \
eap_server_gpsk.c \
eap_server_gtc.c \
eap_server_identity.c \
eap_server_md5.c \
eap_server_methods.c \
eap_server_mschapv2.c \
eap_server_pax.c \
eap_server_peap.c \
eap_server_pwd.c \
eap_server_sake.c \
eap_server_sim.c \
eap_server_tls.c \
eap_server_tls_common.c \
eap_server_ttls.c \
eap_server_wsc.c \
eap_sim_db.c
.include "../../Makefile.crypto"
# We are only interested in includes at this point. Not libraries.
LIBADD=
.include <bsd.lib.mk>

View File

@ -0,0 +1,18 @@
.include <src.opts.mk>
.include "../../Makefile.inc"
LIB= wpaeapol_auth
INTERNALLIB=
.PATH: ${WPA_DISTDIR}/src/eapol_auth
SRCS= eapol_auth_sm.c \
eapol_auth_dump.c
.include "../../Makefile.crypto"
# We are only interested in includes at this point. Not libraries.
LIBADD=
.include <bsd.lib.mk>

View File

@ -0,0 +1,19 @@
.include <src.opts.mk>
.include "../../Makefile.inc"
LIB= wpaeapol_supp
INTERNALLIB=
.PATH: ${WPA_DISTDIR}/src/eapol_supp
SRCS= eapol_supp_sm.c
CFLAGS+=-DIEEE8021X_EAPOL
.include "../../Makefile.crypto"
# We are only interested in includes at this point. Not libraries.
LIBADD=
.include <bsd.lib.mk>

View File

@ -0,0 +1,19 @@
.include <src.opts.mk>
.include "../../Makefile.inc"
LIB= wpal2_packet
INTERNALLIB=
.PATH: ${WPA_DISTDIR}/src/l2_packet
SRCS= l2_packet_freebsd.c
CFLAGS+=-DIEEE8021X_EAPOL
.include "../../Makefile.crypto"
# We are only interested in includes at this point. Not libraries.
LIBADD=
.include <bsd.lib.mk>

View File

@ -0,0 +1,24 @@
.include <src.opts.mk>
.include "../../Makefile.inc"
LIB= wparadius
INTERNALLIB=
.PATH: ${WPA_DISTDIR}/src/radius
SRCS= radius.c \
radius_client.c \
radius_das.c \
radius_server.c
.if ${MK_INET6} != "no"
CFLAGS+= -DCONFIG_IPV6
.endif
.include "../../Makefile.crypto"
# We are only interested in includes at this point. Not libraries.
LIBADD=
.include <bsd.lib.mk>

View File

@ -0,0 +1,26 @@
.include <src.opts.mk>
.include "../../Makefile.inc"
LIB= wparsn_supp
INTERNALLIB=
.PATH: ${WPA_DISTDIR}/src/rsn_supp
SRCS= pmksa_cache.c \
wpa_ft.c \
tdls.c \
preauth.c \
wpa.c \
wpa_ie.c
CFLAGS+=-DCONFIG_TDLS \
-DCONFIG_WNM \
-DIEEE8021X_EAPOL
.include "../../Makefile.crypto"
# We are only interested in includes at this point. Not libraries.
LIBADD=
.include <bsd.lib.mk>

View File

@ -0,0 +1,38 @@
.include <src.opts.mk>
.include "../../Makefile.inc"
LIB= wpatls
INTERNALLIB=
.PATH: ${WPA_DISTDIR}/src/tls
SRCS= asn1.c \
bignum.c \
pkcs1.c \
pkcs5.c \
pkcs8.c \
rsa.c \
tlsv1_client.c \
tlsv1_client_read.c \
tlsv1_client_write.c \
tlsv1_client_ocsp.c \
tlsv1_common.c \
tlsv1_cred.c \
tlsv1_record.c \
tlsv1_server.c \
tlsv1_server_read.c \
tlsv1_server_write.c \
x509v3.c
CFLAGS+=-DCONFIG_INTERNAL_LIBTOMMATH \
-DCONFIG_CRYPTO_INTERNAL \
-DCONFIG_TLSV11 \
-DCONFIG_TLSV12
.include "../../Makefile.crypto"
# We are only interested in includes at this point. Not libraries.
LIBADD=
.include <bsd.lib.mk>

View File

@ -0,0 +1,32 @@
.include <src.opts.mk>
.include "../../Makefile.inc"
LIB= wpautils
INTERNALLIB=
.PATH: ${WPA_DISTDIR}/src/utils
SRCS= base64.c \
bitfield.c \
common.c \
edit.c \
eloop.c \
ip_addr.c \
os_unix.c \
uuid.c \
wpa_debug.c \
wpabuf.c
CFLAGS+=-DCONFIG_DEBUG_FILE
.if ${MK_INET6} != "no"
CFLAGS+= -DCONFIG_IPV6
.endif
.include "../../Makefile.crypto"
# We are only interested in includes at this point. Not libraries.
LIBADD=
.include <bsd.lib.mk>

View File

@ -0,0 +1,39 @@
.include <src.opts.mk>
.include "../../Makefile.inc"
LIB= wpawps
INTERNALLIB=
.PATH: ${WPA_DISTDIR}/src/wps
SRCS= http_client.c \
httpread.c \
http_server.c \
upnp_xml.c \
wps_attr_build.c \
wps_attr_parse.c \
wps_attr_process.c \
wps.c \
wps_common.c \
wps_dev_attr.c \
wps_enrollee.c \
wps_registrar.c \
wps_upnp_ap.c \
wps_upnp.c \
wps_upnp_event.c \
wps_upnp_ssdp.c \
wps_upnp_web.c
CFLAGS+=-DCONFIG_P2P
.if ${MK_INET6} != "no"
CFLAGS+= -DCONFIG_IPV6
.endif
.include "../../Makefile.crypto"
# We are only interested in includes at this point. Not libraries.
LIBADD=
.include <bsd.lib.mk>

View File

@ -4,35 +4,32 @@
.include "../Makefile.inc"
.PATH.c:${WPA_SUPPLICANT_DISTDIR} \
${WPA_DISTDIR}/wpa_supplicant \
${WPA_DISTDIR}/src/eap_peer \
${WPA_DISTDIR}/src/drivers
.PATH.c:${WPA_SUPPLICANT_DISTDIR}
PACKAGE= wpa
PROG= wpa_cli
SRCS= base64.c bitfield.c blacklist.c bss.c cli.c common.c config.c \
config_file.c \
ctrl_iface.c ctrl_iface_common.c ctrl_iface_unix.c \
drivers.c driver_common.c \
eap_register.c \
edit.c eloop.c events.c hw_features_common.c \
ieee802_11_common.c l2_packet_freebsd.c notify.c \
op_classes.c \
os_unix.c rrm.c scan.c wmm_ac.c \
wpa.c wpa_cli.c \
wpa_ctrl.c wpa_common.c \
wpa_debug.c wpa_ie.c wpa_supplicant.c wpabuf.c wpas_glue.c
SRCS= wpa_cli.c
MAN= wpa_cli.8
CFLAGS+= -DCONFIG_CTRL_IFACE
CFLAGS+= -DCONFIG_CTRL_IFACE_UNIX
CFLAGS+= -DCONFIG_TLS=openssl
# enable use of d_type to identify unix domain sockets
CFLAGS+= -D_DIRENT_HAVE_D_TYPE
CFLAGS+= -DCONFIG_WPA_CLI_EDIT=y
LIBADD+=wpaap \
wpacommon \
wpacrypto \
wpaeap_common \
wpaeap_peer \
wpaeap_server \
wpaeapol_auth \
wpaeapol_supp \
wpal2_packet \
wparadius \
wparsn_supp \
wpatls \
wpautils
LIBADD+= pcap util
TLS_FUNCS=y

View File

@ -6,13 +6,14 @@
PACKAGE= wpa
PROG= wpa_passphrase
SRCS= common.c md5-internal.c md5.c os_unix.c sha1-internal.c sha1-pbkdf2.c \
sha1.c wpa_passphrase.c
SRCS= wpa_passphrase.c
CFLAGS+= -DCONFIG_CRYPTO_INTERNAL -DINTERNAL_SHA1 -DINTERNAL_MD5
LIBADD+= util
LIBADD+= util wpacrypto wpautils
MAN= wpa_passphrase.8
.include "../Makefile.crypto"
.include <bsd.prog.mk>

View File

@ -2,15 +2,14 @@
.include "../Makefile.inc"
.PATH.c:${WPA_SUPPLICANT_DISTDIR} \
${WPA_DISTDIR}/src/drivers
.PATH.c:${WPA_SUPPLICANT_DISTDIR}
PACKAGE= wpa
PROG= wpa_priv
SRCS= drivers.c os_unix.c eloop.c common.c wpa_debug.c wpabuf.c wpa_priv.c \
driver_common.c l2_packet_freebsd.c
SRCS= os_unix.c eloop.c common.c wpa_debug.c wpabuf.c wpa_priv.c \
l2_packet_freebsd.c
LIBADD= pcap
LIBADD= pcap wpadrivers
.include "../Makefile.crypto"

View File

@ -5,26 +5,29 @@
.include "../Makefile.inc"
.PATH.c:${WPA_SUPPLICANT_DISTDIR} \
${WPA_DISTDIR}/src/eap_peer \
${WPA_DISTDIR}/src/drivers
PACKAGE= wpa
PROG= wpa_supplicant
SRCS= base64.c bitfield.c blacklist.c bss.c cli.c common.c \
config.c config_file.c \
ctrl_iface.c ctrl_iface_common.c ctrl_iface_unix.c \
driver_bsd.c driver_common.c \
driver_wired.c driver_wired_common.c drivers.c \
eap_register.c eloop.c \
events.c gas.c gas_query.c \
http_client.c http_server.c \
httpread.c hw_features_common.c \
ieee802_11_common.c l2_packet_freebsd.c main.c \
notify.c offchannel.c op_classes.c os_unix.c pmksa_cache.c preauth.c \
rrm.c scan.c upnp_xml.c \
wmm_ac.c wpa.c wpa_common.c wpa_ctrl.c \
wpa_debug.c wpa_ft.c wpa_ie.c wpa_supplicant.c wpabuf.c wpas_glue.c
SRCS= blacklist.c \
bss.c \
config.c \
config_file.c \
ctrl_iface.c \
ctrl_iface_unix.c \
eap_register.c \
events.c \
gas_query.c \
main.c \
notify.c \
op_classes.c \
offchannel.c \
rrm.c \
scan.c \
wmm_ac.c \
wpa_supplicant.c \
wpas_glue.c
MAN= wpa_supplicant.8 wpa_supplicant.conf.5
@ -34,27 +37,11 @@ FILESDIR= ${SHAREDIR}/examples/etc
FILES= wpa_supplicant.conf
.endif
CFLAGS+=-DCONFIG_BACKEND_FILE \
-DCONFIG_DEBUG_SYSLOG \
-DCONFIG_DRIVER_BSD \
-DCONFIG_DRIVER_WIRED \
-DCONFIG_GAS \
-DCONFIG_IEEE80211R \
-DCONFIG_IEEE80211N \
-DCONFIG_IEEE80211W \
-DCONFIG_IEEE80211AC \
-DCONFIG_IEEE80211AX \
-DCONFIG_PEERKEY \
-DCONFIG_PRIVSEP \
-DCONFIG_SMARTCARD \
-DCONFIG_TERMINATE_ONLASTIF \
-DCONFIG_TLS=openssl \
-DCONFIG_WPS2 \
-DCONFIG_WPS_UPNP \
-DPKCS12_FUNCS \
-DCONFIG_MATCH_IFACE
CFLAGS+=-DCONFIG_BACKEND_FILE
#CFLAGS+= -g
LIBADD= pcap util
LIBADD= pcap util wpaap wpacommon wpacrypto wpadrivers wpaeapol_supp \
wpaeap_common wpaeap_server \
wpaeap_peer wpal2_packet wparsn_supp wpatls wpautils wpawps
# User customizations to the wpa_supplicant build environment
CFLAGS+=${WPA_SUPPLICANT_CFLAGS}
@ -63,10 +50,7 @@ LDADD+=${WPA_SUPPLICANT_LDADD}
#LDFLAGS+=${WPA_SUPPLICANT_LDFLAGS}
.if ${MK_WPA_SUPPLICANT_EAPOL} != "no"
CFLAGS+=-DCONFIG_WPS \
-DCONFIG_HS20 \
-DCONFIG_INTERWORKING \
-DEAP_GTC \
CFLAGS+=-DEAP_GTC \
-DEAP_LEAP \
-DEAP_MD5 \
-DEAP_MSCHAPv2 \
@ -77,34 +61,9 @@ CFLAGS+=-DCONFIG_WPS \
-DEAP_TTLS \
-DEAP_WSC \
-DIEEE8021X_EAPOL
SRCS+= chap.c \
eap.c \
eap_common.c \
eap_gtc.c \
eap_leap.c \
eap_md5.c \
eap_methods.c \
eap_mschapv2.c \
eap_otp.c \
eap_peap.c \
eap_peap_common.c \
eap_psk.c \
eap_psk_common.c \
eap_tls.c \
eap_tls_common.c \
eap_ttls.c \
eap_wsc.c \
eapol_supp_sm.c \
eap_wsc_common.c \
hs20_supplicant.c \
SRCS+= hs20_supplicant.c \
interworking.c \
ms_funcs.c \
mschapv2.c \
uuid.c \
wps.c wps_attr_build.c wps_attr_parse.c wps_attr_process.c \
wps_common.c wps_dev_attr.c wps_enrollee.c wps_registrar.c \
wps_supplicant.c wps_upnp.c wps_upnp_ap.c wps_upnp_event.c \
wps_upnp_ssdp.c wps_upnp_web.c
wps_supplicant.c
NEED_AES_EAX=y
NEED_AES_ENCBLOCK=y
NEED_AES_OMAC1=y