summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-crypt/mhash/files')
-rw-r--r--app-crypt/mhash/files/mhash-0.9.9.9-cast-temp-64bit.patch13
-rw-r--r--app-crypt/mhash/files/mhash-0.9.9.9-hmac-uaf-test.patch19
-rw-r--r--app-crypt/mhash/files/mhash-0.9.9.9-no-malloc-check.patch20
-rw-r--r--app-crypt/mhash/files/mhash.pc4
4 files changed, 56 insertions, 0 deletions
diff --git a/app-crypt/mhash/files/mhash-0.9.9.9-cast-temp-64bit.patch b/app-crypt/mhash/files/mhash-0.9.9.9-cast-temp-64bit.patch
new file mode 100644
index 000000000000..3b173f8072cb
--- /dev/null
+++ b/app-crypt/mhash/files/mhash-0.9.9.9-cast-temp-64bit.patch
@@ -0,0 +1,13 @@
+diff --git a/lib/tiger.c b/lib/tiger.c
+index 8f15df4..8d28f27 100644
+--- a/lib/tiger.c
++++ b/lib/tiger.c
+@@ -254,7 +254,7 @@ void tiger_final(struct tiger_ctx *ctx)
+ register mutils_word64 i, j;
+ /* Force 64-bit alignment */
+ mutils_word64 temp_64bit[TIGER_DATASIZE/8];
+- mutils_word8 *temp = temp_64bit;
++ mutils_word8 *temp = (mutils_word8 *) temp_64bit;
+ i = ctx->index;
+
+ #if defined(WORDS_BIGENDIAN)
diff --git a/app-crypt/mhash/files/mhash-0.9.9.9-hmac-uaf-test.patch b/app-crypt/mhash/files/mhash-0.9.9.9-hmac-uaf-test.patch
new file mode 100644
index 000000000000..cd9b3c041891
--- /dev/null
+++ b/app-crypt/mhash/files/mhash-0.9.9.9-hmac-uaf-test.patch
@@ -0,0 +1,19 @@
+https://bugs.gentoo.org/914173
+https://sourceforge.net/p/mhash/patches/12/
+https://sourceforge.net/p/mhash/bugs/43/
+
+Fixes a segfault due to use-after-free on x86 & ARM in the test suite.
+
+Index: mhash-0.9.9.9/src/hmac_test.c
+===================================================================
+--- mhash-0.9.9.9/src/hmac_test.c
++++ mhash-0.9.9.9/src/hmac_test.c 2020-04-01 00:04:44.039815882 +0200
+@@ -76,8 +76,6 @@
+
+ /* Test No 2 */
+
+- mutils_memset(tmp, 0, sizeof(tmp));
+-
+ passlen=sizeof(KEY2) - 1;
+ password = (mutils_word8 *) mutils_malloc(passlen+1);
+ mutils_memcpy(password, KEY2, passlen);
diff --git a/app-crypt/mhash/files/mhash-0.9.9.9-no-malloc-check.patch b/app-crypt/mhash/files/mhash-0.9.9.9-no-malloc-check.patch
new file mode 100644
index 000000000000..6da1f98ac785
--- /dev/null
+++ b/app-crypt/mhash/files/mhash-0.9.9.9-no-malloc-check.patch
@@ -0,0 +1,20 @@
+https://sourceforge.net/p/mhash/patches/11/
+
+Compiling mhash-0.9.9.9 on platforms (like AIX) without GNU libc compatible malloc leads to undefined symbol rpl_malloc
+when linking the in-mhash executables drver, frag_test, rest_test, hmac_test, keygen_test.
+
+Reason is that configure.in still contains AC_FUNC_MALLOC, detecting need
+to "#define malloc rpl_malloc", while mhash does not provide a rpl_malloc implementation.
+
+As the only use of malloc() in lib/stdfns.c does not rely on GNU libc
+compatible malloc actually, there is no need to check for one.
+--- a/configure.in
++++ b/configure.in
+@@ -64,7 +64,6 @@ AC_CHECK_HEADERS(signal.h stdint.h stdio.h stdlib.h string.h strings.h)
+
+ dnl Checks for functions
+
+-AC_FUNC_MALLOC
+ AC_FUNC_MEMCMP
+
+ AC_CHECK_FUNCS(bcopy bzero)
diff --git a/app-crypt/mhash/files/mhash.pc b/app-crypt/mhash/files/mhash.pc
new file mode 100644
index 000000000000..6186f85c7839
--- /dev/null
+++ b/app-crypt/mhash/files/mhash.pc
@@ -0,0 +1,4 @@
+Libs:-lmhash
+Name: mhash
+Version: @VERSION@
+Description: provides a uniform interface to several hash algorithms