Skip to content

Commit

Permalink
package/wpa_supplicant: fix builds with missing sha384 hash functions
Browse files Browse the repository at this point in the history
SAE, unlike OWE or DPP, does not explicitly enable support for sha384
hash functions. Possible WPA3 build issue is masked, since all three
SAE/OWE/DPP are included. However, there exist other configurations
that enable only SAE. For instance, one such build configuration is
wpa_supplicant AP mode with mesh support.

This change adds upstream patch that includes sha384 and sha256 hash
functions to builds with SAE support.

Fixes: http://autobuild.buildroot.net/results/f349130985870f4a781cca56c3f551108f81aa3e/

Signed-off-by: Sergey Matyukevich <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
  • Loading branch information
geomatsi authored and tpetazzoni committed Feb 23, 2023
1 parent c29f6d6 commit 93b461b
Showing 1 changed file with 64 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
From c7f71fb8679c4cdd2607dbaac467a1d5efe9f0f9 Mon Sep 17 00:00:00 2001
From: Jouni Malinen <[email protected]>
Date: Sun, 17 Apr 2022 12:28:41 +0300
Subject: [PATCH] Include HMAC-SHA384/512 KDF for SAE if SHA384/512 is included

It was possible to miss the HMAC functions if some other build
configuration parameters ended up setting NEED_SHA384/512=y.

Upstream: https://w1.fi/cgit/hostap/commit/?id=c7f71fb8679c4cdd2607dbaac467a1d5efe9f0f9

Signed-off-by: Jouni Malinen <[email protected]>
Signed-off-by: Sergey Matyukevich <[email protected]>
---
wpa_supplicant/Android.mk | 11 +++++++++++
wpa_supplicant/Makefile | 11 +++++++++++
2 files changed, 22 insertions(+)

diff --git a/wpa_supplicant/Android.mk b/wpa_supplicant/Android.mk
index 0e0ce467c..bcdbd6c90 100644
--- a/wpa_supplicant/Android.mk
+++ b/wpa_supplicant/Android.mk
@@ -1361,6 +1361,17 @@ endif
endif
endif

+ifdef CONFIG_SAE
+ifdef NEED_SHA384
+# Need to add HMAC-SHA384 KDF as well, if SHA384 was enabled.
+NEED_HMAC_SHA384_KDF=y
+endif
+ifdef NEED_SHA512
+# Need to add HMAC-SHA512 KDF as well, if SHA512 was enabled.
+NEED_HMAC_SHA512_KDF=y
+endif
+endif
+
SHA256OBJS = # none by default
L_CFLAGS += -DCONFIG_SHA256
ifneq ($(CONFIG_TLS), openssl)
diff --git a/wpa_supplicant/Makefile b/wpa_supplicant/Makefile
index ed49aa972..69c80121c 100644
--- a/wpa_supplicant/Makefile
+++ b/wpa_supplicant/Makefile
@@ -1475,6 +1475,17 @@ endif
endif
endif

+ifdef CONFIG_SAE
+ifdef NEED_SHA384
+# Need to add HMAC-SHA384 KDF as well, if SHA384 was enabled.
+NEED_HMAC_SHA384_KDF=y
+endif
+ifdef NEED_SHA512
+# Need to add HMAC-SHA512 KDF as well, if SHA512 was enabled.
+NEED_HMAC_SHA512_KDF=y
+endif
+endif
+
SHA256OBJS = # none by default
CFLAGS += -DCONFIG_SHA256
ifneq ($(CONFIG_TLS), openssl)
--
2.39.2

0 comments on commit 93b461b

Please sign in to comment.