nss: Fix SHA_HTONL bug for arm 32be.

Rpm use nss as digest crypto library and which will cause an error as follows:

error: test-manual-1.2.3-20181012.noarch.rpm: Header SHA1 digest: BAD (Expected
f1deb7dc4a10742d88ccd1e967dbc62ae45095a5 !=4ad9d7dad6d70d6086eefec62612ad5d77f2fe81)  => this value is wrong
error: test-manual-1.2.3-20181012.noarch.rpm: not an rpm package (or package manifest)

The error is caused by SHA_HTONL in nss, for there is no need to reverse the host value for arm 32be, so fix it.

(From OE-Core rev: 257a1ccd16928dff64aa4d2e1553f52e910edbb2)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Zheng Ruoqin
2018-12-12 03:24:20 +08:00
committed by Richard Purdie
parent a8bccfa9a5
commit bb2d4def8d
2 changed files with 35 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
Subject: [PATCH] Fix SHA_HTONL bug for arm 32be.
In arm 32be, there is no need to reverse the host value.
Upstream-Status: Pending
Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
---
lib/freebl/sha_fast.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/nss/lib/freebl/sha_fast.h b/nss/lib/freebl/sha_fast.h
index 4f37d13..8072eda 100644
--- a/nss/lib/freebl/sha_fast.h
+++ b/nss/lib/freebl/sha_fast.h
@@ -99,6 +99,7 @@ swap4b(PRUint32 value)
defined(__ARM_ARCH_7__) || \
defined(__ARM_ARCH_7A__) || \
defined(__ARM_ARCH_7R__)))
+#if defined(IS_LITTLE_ENDIAN)
static __inline__ PRUint32
swap4b(PRUint32 value)
{
@@ -109,6 +110,7 @@ swap4b(PRUint32 value)
return ret;
}
#define SHA_HTONL(x) swap4b(x)
+#endif
#endif /* x86 family */
--
2.7.4

View File

@@ -28,6 +28,7 @@ SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/${VERSIO
file://blank-cert9.db \
file://blank-key4.db \
file://system-pkcs11.txt \
file://nss-fix-SHA_HTONL-bug-for-arm-32be.patch \
"
SRC_URI[md5sum] = "10720fc70fd483de1b085402fb10ed59"