[wpa] Add support for hostapd/wpa_supplicant when WITHOUT_CRYPT=YES

is enabled.

This builds wpa_supplicant / hostpad using internal encryption routines
rather than using libcrypt.

This has been supported in wpa for years now, however since we use
local makefiles for this, we bitrotted dependencies and configuration
options.

Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D27958
This commit is contained in:
Adrian Chadd 2021-01-04 12:39:53 -08:00
parent 0659df6fad
commit 7c5a624afa
4 changed files with 34 additions and 4 deletions

View File

@ -438,7 +438,6 @@ MK_LDNS:= no
MK_PKGBOOTSTRAP:= no
MK_SVN:= no
MK_SVNLITE:= no
MK_WIRELESS:= no
.endif
.if ${MK_LDNS} == "no"

View File

@ -16,9 +16,13 @@ CONFIG_INTERNAL_RC4=y
CONFIG_INTERNAL_SHA1=y
NEED_SHA256=y
CONFIG_INTERNAL_SHA256=y
NEED_SHA384=y
CONFIG_INTERNAL_SHA384=y
NEED_SHA512=y
CONFIG_INTERNAL_SHA512=y
CONFIG_INTERNAL_TLS=y
NEED_DH_GROUPS=y
CONFIG_INTERNAL_DH5=y
CONFIG_INTERNAL_DH=y
NEED_AES_ENC=true
NEED_AES_CBC=true
.endif
@ -45,6 +49,7 @@ SRCS+= asn1.c \
tlsv1_client.c \
tlsv1_client_write.c \
tlsv1_client_read.c \
tlsv1_client_ocsp.c \
x509v3.c
NEED_DES=y
NEED_MD4=y
@ -123,14 +128,36 @@ 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(CONFIG_INTERNAL_DH)
.if defined(NEED_DH_GROUPS)
SRCS+= dh_groups.c
.endif
.if defined(NEED_DH_GROUPS_ALL)
CFLAGS+=-DALL_DH_GROUPS
.endif

View File

@ -163,6 +163,10 @@ SRCS+= eap_server_gtc.c \
eapol_auth_sm.c
TLS_FUNCS=y
# For WPS, EAP modes, etc
NEED_DH_GROUPS=y
NEED_DH_GROUPS_ALL=y
.if !empty(CFLAGS:M*-DCONFIG_WPS)
NEED_SIM_COMMON=y
.endif

View File

@ -14,7 +14,7 @@ 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 \
dh_groups.c driver_bsd.c driver_common.c \
driver_bsd.c driver_common.c \
driver_ndis.c driver_wired.c driver_wired_common.c drivers.c \
eap_register.c eloop.c \
events.c gas.c gas_query.c \