git: 7c5a624afae4 - main - [wpa] Add support for hostapd/wpa_supplicant when WITHOUT_CRYPT=YES is enabled.

Adrian Chadd adrian at FreeBSD.org
Wed Jan 13 00:43:28 UTC 2021


The branch main has been updated by adrian:

URL: https://cgit.FreeBSD.org/src/commit/?id=7c5a624afae43c44d8e57eb8c5073b9b07f88064

commit 7c5a624afae43c44d8e57eb8c5073b9b07f88064
Author:     Adrian Chadd <adrian at FreeBSD.org>
AuthorDate: 2021-01-04 20:39:53 +0000
Commit:     Adrian Chadd <adrian at FreeBSD.org>
CommitDate: 2021-01-13 00:43:19 +0000

    [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
---
 share/mk/src.opts.mk                 |  1 -
 usr.sbin/wpa/Makefile.crypto         | 31 +++++++++++++++++++++++++++++--
 usr.sbin/wpa/hostapd/Makefile        |  4 ++++
 usr.sbin/wpa/wpa_supplicant/Makefile |  2 +-
 4 files changed, 34 insertions(+), 4 deletions(-)

diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk
index b87826781318..55d07dac42dd 100644
--- a/share/mk/src.opts.mk
+++ b/share/mk/src.opts.mk
@@ -438,7 +438,6 @@ MK_LDNS:=	no
 MK_PKGBOOTSTRAP:=	no
 MK_SVN:=		no
 MK_SVNLITE:=		no
-MK_WIRELESS:=		no
 .endif
 
 .if ${MK_LDNS} == "no"
diff --git a/usr.sbin/wpa/Makefile.crypto b/usr.sbin/wpa/Makefile.crypto
index 1b67c79650af..bed452bf8592 100644
--- a/usr.sbin/wpa/Makefile.crypto
+++ b/usr.sbin/wpa/Makefile.crypto
@@ -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
diff --git a/usr.sbin/wpa/hostapd/Makefile b/usr.sbin/wpa/hostapd/Makefile
index 24c25ffc0b94..579694046989 100644
--- a/usr.sbin/wpa/hostapd/Makefile
+++ b/usr.sbin/wpa/hostapd/Makefile
@@ -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
diff --git a/usr.sbin/wpa/wpa_supplicant/Makefile b/usr.sbin/wpa/wpa_supplicant/Makefile
index 7556e9b8d26a..dc8178ccf9b8 100644
--- a/usr.sbin/wpa/wpa_supplicant/Makefile
+++ b/usr.sbin/wpa/wpa_supplicant/Makefile
@@ -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 \


More information about the dev-commits-src-all mailing list