From e374e165c2ee372e9c6d10860ea6ef47f180f6b2 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 2 Oct 2022 07:12:21 +0100 Subject: gentoo auto-resync : 02:10:2022 - 07:12:21 --- ...-getrandom-and-arc4random_buf-usage-order.patch | 68 +++++++++++ .../files/minizip-ng-3.0.6-test-temporary.patch | 129 +++++++++++++++++++++ 2 files changed, 197 insertions(+) create mode 100644 sys-libs/minizip-ng/files/minizip-ng-3.0.6-Switch-getrandom-and-arc4random_buf-usage-order.patch create mode 100644 sys-libs/minizip-ng/files/minizip-ng-3.0.6-test-temporary.patch (limited to 'sys-libs/minizip-ng/files') diff --git a/sys-libs/minizip-ng/files/minizip-ng-3.0.6-Switch-getrandom-and-arc4random_buf-usage-order.patch b/sys-libs/minizip-ng/files/minizip-ng-3.0.6-Switch-getrandom-and-arc4random_buf-usage-order.patch new file mode 100644 index 000000000000..92db9c05b5d1 --- /dev/null +++ b/sys-libs/minizip-ng/files/minizip-ng-3.0.6-Switch-getrandom-and-arc4random_buf-usage-order.patch @@ -0,0 +1,68 @@ +https://github.com/zlib-ng/minizip-ng/pull/651 + +From 1be6ea22e127a99786aefd2896e08bab43ad1333 Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Sun, 2 Oct 2022 01:39:17 +0100 +Subject: [PATCH] Switch getrandom() and arc4random_buf() usage order + +We need to match the order of inclusions at the top of the file +otherwise we might end up trying to use arc4random_buf() when +available (because HAVE_ARC4RANODM_BUF is set) even though +we hit HAVE_GETRANDOM first above and only included + because of it. + +Besides, if getrandom() is available, we should really prefer +it anyway. + +Fixes an implicit function declaration: +``` +minizip-ng-3.0.6/mz_os_posix.c:124:5: error: implicit declaration of function 'arc4random_buf' [-Werror=implicit-function-declaration] +``` +--- a/mz_os_posix.c ++++ b/mz_os_posix.c +@@ -117,7 +117,22 @@ void mz_os_utf8_string_delete(uint8_t **string) { + + /***************************************************************************/ + +-#if defined(HAVE_ARC4RANDOM_BUF) ++#if defined(HAVE_GETRANDOM) ++int32_t mz_os_rand(uint8_t *buf, int32_t size) { ++ int32_t left = size; ++ int32_t written = 0; ++ ++ while (left > 0) { ++ written = getrandom(buf, left, 0); ++ if (written < 0) ++ return MZ_INTERNAL_ERROR; ++ ++ buf += written; ++ left -= written; ++ } ++ return size - left; ++} ++#elif defined(HAVE_ARC4RANDOM_BUF) + int32_t mz_os_rand(uint8_t *buf, int32_t size) { + if (size < 0) + return 0; +@@ -139,21 +154,6 @@ int32_t mz_os_rand(uint8_t *buf, int32_t size) { + } + return size - left; + } +-#elif defined(HAVE_GETRANDOM) +-int32_t mz_os_rand(uint8_t *buf, int32_t size) { +- int32_t left = size; +- int32_t written = 0; +- +- while (left > 0) { +- written = getrandom(buf, left, 0); +- if (written < 0) +- return MZ_INTERNAL_ERROR; +- +- buf += written; +- left -= written; +- } +- return size - left; +-} + #else + int32_t mz_os_rand(uint8_t *buf, int32_t size) { + static unsigned calls = 0; diff --git a/sys-libs/minizip-ng/files/minizip-ng-3.0.6-test-temporary.patch b/sys-libs/minizip-ng/files/minizip-ng-3.0.6-test-temporary.patch new file mode 100644 index 000000000000..d38603ac7378 --- /dev/null +++ b/sys-libs/minizip-ng/files/minizip-ng-3.0.6-test-temporary.patch @@ -0,0 +1,129 @@ +https://github.com/zlib-ng/minizip-ng/issues/623 +https://github.com/zlib-ng/minizip-ng/commit/6261d6f5ec5bd275257354c048f68ad9723c3231 + +From 6261d6f5ec5bd275257354c048f68ad9723c3231 Mon Sep 17 00:00:00 2001 +From: Nathan Moinvaziri +Date: Sat, 11 Jun 2022 10:36:42 -0700 +Subject: [PATCH] Generate test files in binary temp directory. + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -804,6 +804,8 @@ if(MZ_BUILD_TESTS AND MZ_BUILD_UNIT_TESTS) + endif() + endif() + ++ set(TEST_TEMP_DIR ${CMAKE_CURRENT_BINARY_DIR}/Testing/Temporary) ++ + add_test(NAME test_cmd COMMAND test_cmd WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) + + function(create_compress_tests EXTRA_NAME EXTRA_ARGS) +@@ -840,33 +842,43 @@ if(MZ_BUILD_TESTS AND MZ_BUILD_UNIT_TESTS) + foreach(INDEX RANGE ${COMPRESS_METHOD_COUNT}) + list(GET COMPRESS_METHOD_NAMES ${INDEX} COMPRESS_METHOD_NAME) + list(GET COMPRESS_METHOD_ARGS ${INDEX} COMPRESS_METHOD_ARG) ++ ++ set(COMPRESS_METHOD_DEST_DIR ++ ${TEST_TEMP_DIR}/${COMPRESS_METHOD_NAME}-${EXTRA_NAME}) ++ set(COMPRESS_METHOD_PATH ++ ${TEST_TEMP_DIR}/${COMPRESS_METHOD_NAME}-${EXTRA_NAME}.zip) ++ + add_test(NAME ${COMPRESS_METHOD_NAME}-zip-${EXTRA_NAME} + COMMAND minizip_cmd ${COMPRESS_METHOD_ARG} -o ${EXTRA_ARGS} +- result.zip test.c test.h empty.txt random.bin uniform.bin fuzz ++ ${COMPRESS_METHOD_PATH} ++ test.c test.h empty.txt random.bin uniform.bin fuzz + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/test) + add_test(NAME ${COMPRESS_METHOD_NAME}-list-${EXTRA_NAME} +- COMMAND minizip_cmd -l ${EXTRA_ARGS} result.zip ++ COMMAND minizip_cmd -l ${EXTRA_ARGS} ${COMPRESS_METHOD_PATH} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/test) + if(NOT MZ_COMPRESS_ONLY) + add_test(NAME ${COMPRESS_METHOD_NAME}-unzip-${EXTRA_NAME} +- COMMAND minizip_cmd -x -o ${EXTRA_ARGS} -d out result.zip ++ COMMAND minizip_cmd -x -o ${EXTRA_ARGS} ++ -d ${COMPRESS_METHOD_DEST_DIR} ${COMPRESS_METHOD_PATH} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/test) + endif() + add_test(NAME ${COMPRESS_METHOD_NAME}-append-${EXTRA_NAME} + COMMAND minizip_cmd ${COMPRESS_METHOD_ARG} -a ${EXTRA_ARGS} +- result.zip single.txt ++ ${COMPRESS_METHOD_PATH} single.txt + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/test) + if(NOT MZ_COMPRESS_ONLY) + add_test(NAME ${COMPRESS_METHOD_NAME}-append-unzip-${EXTRA_NAME} +- COMMAND minizip_cmd -x -o ${EXTRA_ARGS} -d out result.zip ++ COMMAND minizip_cmd -x -o ${EXTRA_ARGS} ++ -d ${COMPRESS_METHOD_DEST_DIR} ${COMPRESS_METHOD_PATH} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/test) + endif() + add_test(NAME ${COMPRESS_METHOD_NAME}-erase-${EXTRA_NAME} +- COMMAND minizip_cmd -o -e result.zip test.c test.h ++ COMMAND minizip_cmd -o -e ${COMPRESS_METHOD_PATH} test.c test.h + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/test) + if(NOT MZ_COMPRESS_ONLY) + add_test(NAME ${COMPRESS_METHOD_NAME}-erase-unzip-${EXTRA_NAME} +- COMMAND minizip_cmd -x -o ${EXTRA_ARGS} -d out result.zip ++ COMMAND minizip_cmd -x -o ${EXTRA_ARGS} ++ -d ${COMPRESS_METHOD_DEST_DIR} ${COMPRESS_METHOD_PATH} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/test) + endif() + endforeach() +@@ -891,43 +903,49 @@ if(MZ_BUILD_TESTS AND MZ_BUILD_UNIT_TESTS) + if(NOT MZ_COMPRESS_ONLY) + if(MZ_ZLIB OR MZ_LIBCOMP) + add_test(NAME unzip-tiny +- COMMAND minizip_cmd -x -o ${EXTRA_ARGS} -d out ++ COMMAND minizip_cmd -x -o ${EXTRA_ARGS} ++ -d ${TEST_TEMP_DIR}/unzip-tiny + fuzz/unzip_fuzzer_seed_corpus/tiny.zip + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/test) + endif() + if(MZ_BZIP2) + add_test(NAME unzip-bzip2 +- COMMAND minizip_cmd -x -o ${EXTRA_ARGS} -d out ++ COMMAND minizip_cmd -x -o ${EXTRA_ARGS} ++ -d ${TEST_TEMP_DIR}/unzip-bzip2 + fuzz/unzip_fuzzer_seed_corpus/bzip2.zip + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/test) + endif() + if(MZ_LZMA) + add_test(NAME unzip-lzma +- COMMAND minizip_cmd -x -o ${EXTRA_ARGS} -d out ++ COMMAND minizip_cmd -x -o ${EXTRA_ARGS} ++ -d ${TEST_TEMP_DIR}/unzip-lzma + fuzz/unzip_fuzzer_seed_corpus/lzma.zip + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/test) + endif() + if(MZ_PKCRYPT) + add_test(NAME unzip-pkcrypt +- COMMAND minizip_cmd -x -o ${EXTRA_ARGS} -d out -p test123 ++ COMMAND minizip_cmd -x -o ${EXTRA_ARGS} ++ -d ${TEST_TEMP_DIR}/unzip-pkcrypt -p test123 + fuzz/unzip_fuzzer_seed_corpus/encrypted_pkcrypt.zip + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/test) + endif() + if(MZ_WZAES) + add_test(NAME unzip-wzaes +- COMMAND minizip_cmd -x -o ${EXTRA_ARGS} -d out -p test123 ++ COMMAND minizip_cmd -x -o ${EXTRA_ARGS} ++ -d ${TEST_TEMP_DIR}/unzip-wzaes -p test123 + fuzz/unzip_fuzzer_seed_corpus/encrypted_wzaes.zip + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/test) + endif() + endif() + if(NOT MZ_COMPRESS_ONLY AND NOT MZ_DECOMPRESS_ONLY) + if(MZ_ZLIB AND NOT MZ_LIBCOMP) ++ file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/test/random.bin DESTINATION ${TEST_TEMP_DIR}) + add_test(NAME gz + COMMAND minigzip_cmd random.bin +- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/test) ++ WORKING_DIRECTORY ${TEST_TEMP_DIR}) + add_test(NAME ungz +- COMMAND minigzip_cmd -x -d out random.bin.gz +- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/test) ++ COMMAND minigzip_cmd -x -d ${TEST_TEMP_DIR} random.bin.gz ++ WORKING_DIRECTORY ${TEST_TEMP_DIR}) + endif() + endif() + endif() + -- cgit v1.2.3