wpad-wolfssl: fix crypto_bignum_sub()
authorAntonio Quartulli <a@unstable.cc>
Tue, 28 Apr 2020 10:06:58 +0000 (12:06 +0200)
committerDaniel Golle <daniel@makrotopia.org>
Fri, 1 May 2020 15:19:47 +0000 (16:19 +0100)
Backport patch from hostapd.git master that fixes copy/paste error in
crypto_bignum_sub() in crypto_wolfssl.c.

This missing fix was discovered while testing SAE over a mesh interface.

With this fix applied and wolfssl >3.14.4 mesh+SAE works fine with
wpad-mesh-wolfssl.

Cc: Sean Parkinson <sean@wolfssl.com>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 4b3b8ec81cd1965d0bd548fa31db491295b83354)

package/network/services/hostapd/patches/090-wolfssl-fix-crypto_bignum_sum.patch [new file with mode: 0644]

diff --git a/package/network/services/hostapd/patches/090-wolfssl-fix-crypto_bignum_sum.patch b/package/network/services/hostapd/patches/090-wolfssl-fix-crypto_bignum_sum.patch
new file mode 100644 (file)
index 0000000..7cc0dec
--- /dev/null
@@ -0,0 +1,26 @@
+From 1766e608ba1114220f3b3598e77aa53b50c38a6e Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <jouni@codeaurora.org>
+Date: Mon, 14 Oct 2019 19:27:47 +0300
+Subject: [PATCH] wolfSSL: Fix crypto_bignum_sub()
+
+The initial crypto wrapper implementation for wolfSSL seems to have
+included a copy-paste error in crypto_bignum_sub() implementation that
+was identical to crypto_bignum_add() while mp_sub() should have been
+used instead of mp_add().
+
+Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
+---
+ src/crypto/crypto_wolfssl.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/src/crypto/crypto_wolfssl.c
++++ b/src/crypto/crypto_wolfssl.c
+@@ -1151,7 +1151,7 @@ int crypto_bignum_sub(const struct crypt
+       if (TEST_FAIL())
+               return -1;
+-      return mp_add((mp_int *) a, (mp_int *) b,
++      return mp_sub((mp_int *) a, (mp_int *) b,
+                     (mp_int *) r) == MP_OKAY ? 0 : -1;
+ }