Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Jan 2021 00:43:28 GMT
From:      Adrian Chadd <adrian@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 7c5a624afae4 - main - [wpa] Add support for hostapd/wpa_supplicant when WITHOUT_CRYPT=YES is enabled.
Message-ID:  <202101130043.10D0hSUq009859@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by adrian:

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

commit 7c5a624afae43c44d8e57eb8c5073b9b07f88064
Author:     Adrian Chadd <adrian@FreeBSD.org>
AuthorDate: 2021-01-04 20:39:53 +0000
Commit:     Adrian Chadd <adrian@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 \



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202101130043.10D0hSUq009859>