Fork of the popular zip manipulation library found in the zlib distribution.

Overview

minizip-ng 3.0.1

minizip-ng is a zip manipulation library written in C that is supported on Windows, macOS, and Linux.

Master Branch Status Fuzzing Status Codacy Badge License: Zlib codecov.io

Developed and maintained by Nathan Moinvaziri.

Branches

Name Description
master Most recent release.
dev Latest development code.
1.2 Old changes to original minizip that includes WinZip AES encryption, disk splitting, I/O buffering and some additional fixes. Not ABI compatible with original minizip.
1.1 Original minizip as of zlib 1.2.11.

History

Minizip was originally developed by Gilles Vollant in 1998. It was first included in the zlib distribution as an additional code contribution starting in zlib 1.1.2. Since that time, it has been continually improved upon and contributed to by many people. The original project can still be found in the zlib distribution that is maintained by Mark Adler.

The motivation behind this repository has been the need for new features and bug fixes to the original library which had not been maintained for a long period of time. The code has been largely refactored and rewritten in order to help improve maintainability and readability. A compatibility layer has been provided for consumers of the original minizip library.

Features

  • Creating and extracting zip archives.
  • Adding and removing entries from zip archives.
  • Read and write raw zip entry data.
  • Reading and writing zip archives from memory.
  • Zlib, BZIP2, LZMA, XZ, and ZSTD compression methods.
  • Password protection through Traditional PKWARE and WinZIP AES encryption.
  • Buffered streaming for improved I/O performance.
  • NTFS timestamp support for UTC last modified, last accessed, and creation dates.
  • Disk split support for splitting zip archives into multiple files.
  • Preservation of file attributes across file systems.
  • Follow and store symbolic links.
  • Unicode filename support through UTF-8 encoding.
  • Legacy character encoding support CP437, CP932, CP936, CP950.
  • Turn off compilation of compression, decompression, or encryption.
  • Windows (Win32 & WinRT), macOS and Linux platform support.
  • Streaming interface for easy implementation of additional platforms.
  • Support for Apple's compression library ZLIB and XZ implementations.
  • Zero out local file header information.
  • Zip/unzip of central directory to reduce size.
  • Ability to generate and verify CMS signature for each entry.
  • Recover the central directory if it is corrupt or missing.
  • Example minizip command line tool.

Build

To generate project files for your platform:

  1. Download and install cmake (version 3.11 or later recommended).
  2. Run cmake in the minizip directory.
cmake . -DMZ_BUILD_TEST=ON
cmake --build .

Build Options

Name Description Default Value
MZ_COMPAT Enables compatibility layer ON
MZ_ZLIB Enables ZLIB compression ON
MZ_BZIP2 Enables BZIP2 compression ON
MZ_LZMA Enables LZMA & XZ compression ON
MZ_ZSTD Enables ZSTD compression ON
MZ_LIBCOMP Enables Apple compression APPLE
MZ_FETCH_LIBS Enables fetching third-party libraries if not found WIN32
MZ_FORCE_FETCH_LIBS Enables fetching third-party libraries always OFF
MZ_PKCRYPT Enables PKWARE traditional encryption ON
MZ_WZAES Enables WinZIP AES encryption ON
MZ_OPENSSL Enables OpenSSL encryption UNIX
MZ_LIBBSD Builds with libbsd crypto random UNIX
MZ_SIGNING Enables zip signing support ON
MZ_ICONV Enables iconv encoding conversion ON
MZ_COMPRESS_ONLY Only support compression OFF
MZ_DECOMPRESS_ONLY Only support decompression OFF
MZ_FILE32_API Builds using posix 32-bit file api OFF
MZ_BUILD_TESTS Builds minizip test executable OFF
MZ_BUILD_UNIT_TESTS Builds minizip unit test project OFF
MZ_BUILD_FUZZ_TESTS Builds minizip fuzz executables OFF
MZ_CODE_COVERAGE Build with code coverage flags OFF
MZ_PROJECT_SUFFIX Project name suffix for packaging

Third-Party Libraries

Third-party libraries may be required based on the CMake options selected. If the system already has the library installed then it will be used, otherwise CMake will retrieve the source code for the library from its official git repository and compile it in when the MZ_FETCH_LIBS option is enabled.

Project License CMake Option Comments
bzip2 license MZ_BZIP2 Written by Julian Seward.
liblzma Public domain MZ_LZMA Written by Igor Pavlov and Lasse Collin.
zlib zlib MZ_ZLIB Written by Mark Adler and Jean-loup Gailly. Or alternatively, zlib-ng by Hans Kristian Rosbach.
zstd BSD MZ_ZSTD Written by Facebook.

This project uses the zlib license.

Acknowledgments

Thanks go out to all the people who have taken the time to contribute code reviews, testing and/or patches. This project would not have been as good without you.

Thanks to Gilles Vollant on which this work is originally based on.

The ZIP format was defined by Phil Katz of PKWARE.

Comments
  • 64 bits vs 32 bits

    64 bits vs 32 bits

    Hi, I'm using your lib in my game engine, and yesterday i have tried to unzip a file generated on macosx (64) on windows 10 (64), but for my surprise it can't open even in winrar, and the file generated on windows doesn't open on linux (64) or macosx (64)... So i don't know if its a os problem or architecture. If you guys wanna test it, here are the links: https://www.dropbox.com/s/l1h1zz5n9ivkdup/data.magic3d https://www.dropbox.com/s/5s4dlp0qvmytwfd/data.magic3d_windows

    My project is https://github.com/magic-tech/Magic3D.git and it is compiled with QT 5.5.1 using mingw32 Thanks in advance.

    1.2 fixed encryption 
    opened by magic-tech 24
  • Local file header for stored files have 0 size values

    Local file header for stored files have 0 size values

    The local file header for a file using compression method MZ_COMPRESS_METHOD_STORE has 0 values for compressed size and uncompressed size. The central directory has correct values. It would be nice to get the file sizes in the local file header. The biggest problem this solves is with ZipInputStream on Android (https://stackoverflow.com/questions/47208272/android-zipinputstream-only-deflated-entries-can-have-ext-descriptor/54236244#54236244).

    opened by jimpark 22
  • AES + lzma.zip = -105 (MZ_CRC_ERROR) during unzip

    AES + lzma.zip = -105 (MZ_CRC_ERROR) during unzip

    I did compile minizip lib and app under Ubuntu Linux, creating encrypted archive with cmd: ./minizip -9 -p test -s -m test.zip test_files/

    Minizip 2.3.4 - https://github.com/nmoinvaz/minizip
    ---------------------------------------------------
    Creating test.zip
    Adding: files
    Adding: files/aa2f9b0c6d77807168de5b6354db825ecd644dae
    Adding: files/569c51484a2b0d735d4650a2ad5f30ed8671628c
    Adding: files/0186f31ace705d241c3d9c15dcb0bbe2c3ed23d2
    Adding: files/792c5132370c133764fa3b5f1df1400edaed665a
    Adding: files/2e57ba74a620da726713d19a50bfa6a66be053fa
    Adding: files/cc9105dbbbbb87a4bf77d22a240c926f42adc3c9
    Adding: files/bceadacd8252ad296ec0d34f41b5807fba078209
    Adding: files/093a45321038528a04c47a5042094e91d46e7610
    Adding: files/5785ea06b012c35b6ffb3b4c7f480d435ac0d7a6
    Adding: reports
    Adding: reports/match.txt
    Adding: reports/sysinfo_agile-pc_5b3e5ca2_0.sz
    Adding: reports/bulk_extractor_out_test.txt
    Adding: reports/bulk_extractor_out_test
    Adding: reports/bulk_extractor_out_test/lightgrep_histogram.txt
    Adding: reports/bulk_extractor_out_test/alerts.txt
    Adding: reports/bulk_extractor_out_test/lightgrep.txt
    Adding: reports/bulk_extractor_out_test/report.xml
    
    

    unzipping it always failing with error -105. ./minizip -x -d . -p test -s -m test.zip

    Minizip 2.3.4 - https://github.com/nmoinvaz/minizip
    ---------------------------------------------------
    Creating directory: ./files/
     Extracting: ./files/aa2f9b0c6d77807168de5b6354db825ecd644dae
     Extracting: ./files/569c51484a2b0d735d4650a2ad5f30ed8671628c
     Extracting: ./files/0186f31ace705d241c3d9c15dcb0bbe2c3ed23d2
     Extracting: ./files/792c5132370c133764fa3b5f1df1400edaed665a
     Extracting: ./files/2e57ba74a620da726713d19a50bfa6a66be053fa
     Extracting: ./files/cc9105dbbbbb87a4bf77d22a240c926f42adc3c9
     Extracting: ./files/bceadacd8252ad296ec0d34f41b5807fba078209
     Extracting: ./files/093a45321038528a04c47a5042094e91d46e7610
     Extracting: ./files/5785ea06b012c35b6ffb3b4c7f480d435ac0d7a6
    Creating directory: ./reports/
     Extracting: ./reports/match.txt
     Extracting: ./reports/sysinfo_agile-pc_5b3e5ca2_0.sz
     Extracting: ./reports/bulk_extractor_out_test.txt
    Creating directory: ./reports/bulk_extractor_out_test/
     Extracting: ./reports/bulk_extractor_out_test/lightgrep_histogram.txt
     Extracting: ./reports/bulk_extractor_out_test/alerts.txt
    Error -105 closing entry in zip file
    

    test.log

    fixed encryption lzma compatibility 
    opened by Agile86 22
  • Minizip fails to extract password protected zip file

    Minizip fails to extract password protected zip file

    We are observing that minizip is failing to extract a password-protected file, even if a valid password is provided. In case of an invalid password, the library throws an error stating invalid password. Need to look into this issue ASAP.

    We are observing this issue on the Windows version of the library.

    fixed encryption 
    opened by pp771 19
  • macOS and files over 4GB in Finder-created zips

    macOS and files over 4GB in Finder-created zips

    Hey Nathan,

    Looking at Issue #5 (https://github.com/nmoinvaz/minizip/issues/5), it seems that the patch didn't make it into the more recent versions (I'm testing with 2.9.0), as the example minizip program is not able to fully extract a zip with large files in it?

    The test zip has just 3 files inside - 1-Small, 2-LargeOver4GB, 3-Small - after extracting the second file, it tries to extract the third one, but fails at

    else if ((local) && (magic != MZ_ZIP_MAGIC_LOCALHEADER))
            err = MZ_FORMAT_ERROR;
    

    which is at mz_zip.c:218

    Any suggestions on how to make the library accept macOS-originating Zip files?

    Thanks, Vasyl

    fixed zip 
    opened by supersv 18
  • Dev branch tasks

    Dev branch tasks

    Here are the tasks I have planned for the dev branch still. If anybody wants to pick up one of these tasks let me know.

    1. ~~Need CMake projects for linux and for continuous integration. #163~~
    2. ~~Add back compatibility layer.~~
    3. Check into adding back HAVE_APPLE_COMPRESSION. Possibly adding a new "apple" stream.
    4. ~~Add zipping of directories into minizip.c with the dir searching routines added into mz_strm_posix and mz_strm_win32.~~
    5. ~~Check into version_madeby being defined per-platform in mz_strm.h.~~
    6. ~~Add test python script that tests minizip and miniunzip against various compress methods and levels and encryption methods.~~
    7. ~~Check into adding a disk spanning stream.~~
    8. ~~Update the test python script to download the git repository and zip/unzip it for its tests, now that 4 has been completed.~~
    9. ~~Update Linux Qbs project files.~~
    10. ~~Investigate arc4random. #175~~
    new feature 
    opened by nmoinvaz 18
  • can't unzip docx's emf file

    can't unzip docx's emf file

    when i use minizip to unzip docx, and get emf file.

    BYTE *ReadCurrentFile(unzFile uz, unsigned int &size)
    {
    	unz_file_info64 file_info;
    	int err = unzGetCurrentFileInfo64(uz, &file_info, NULL, 0, NULL, 0, NULL, 0);
    	if (err != UNZ_OK)
    	{
    		printf("GetCurrentFileInfo fail");
    		return NULL;
    	}
    	err = unzOpenCurrentFile(uz);
    	if (err != UNZ_OK)
    	{
    		printf("OpenCurrentFile fail");
    		return NULL;
    	}
    	BYTE *p = new BYTE[(uint32_t)file_info.uncompressed_size];
    	err = unzReadCurrentFile(uz, p, (uint32_t)file_info.uncompressed_size);
    	if (err < 0)
    	{
    		printf("ReadCurrentFile fail %d\n", err);
    		delete[] p;
    		return NULL;
    	}
    	size = (uint32_t)file_info.uncompressed_size;
    	return p;
    }
    

    the unzReadCurrentFile return -5. when i walk into minizip at debug.

    int32_t mz_stream_raw_read(void *stream, void *buf, int32_t size) {
        mz_stream_raw *raw = (mz_stream_raw *)stream;
        int32_t bytes_to_read = size;
        int32_t read = 0;
    
        if (raw->max_total_in > 0) {
            if ((int64_t)bytes_to_read > (raw->max_total_in - raw->total_in))
                bytes_to_read = (int32_t)(raw->max_total_in - raw->total_in);
        }
    
        read = mz_stream_read(raw->stream.base, buf, bytes_to_read);
    
        if (read > 0) {
            raw->total_in += read;
            raw->total_out += read;
        }
    
        return read;
    }
    

    the max_total_in and total_in is all size of file. then.. it cannot read anything.

    opened by wzwangyike 16
  • rename to something else than minizip

    rename to something else than minizip

    Hi, recently some of netradiant contributors using mingw started to complain about them not being able to build anymore.

    People started to report such errors:

    …/xonotic/netradiant/tools/quake3/common/vfs.c:53:10: fatal error: minizip/unzip.h: No such file or directory
    

    While the toolchain just printed before that:

    minizip is installed and detected
    mingw-w64-x86_64-minizip is installed
    

    Then people started to report:

    there is no unzip.h at all in the msys64 folder

    So, that looked weird. I'm not a Windows user myself but I picked a mingw minizip package and at first look it looked weird: the mingw package I got was 2.5.2 (don't know if it's the latest but…) and the latest minizip in Ubuntu (as a random distro example) is 1.1, and this was already looking for trouble.

    Then I looked into it and the file layout and just discovered the issue: the mingw's minizip is not minizip anymore. It's another project. I then looked at the .BUILDINFO file and I found the mingw packager adress and the repository url he used, and the README.md in your repository is explicit:

    This library is a complete refactoring of the minizip contribution found in the zlib distribution.

    The way that yet another minizip was refactored brokes the source compatibility, it's not a drop-in, no one can switch the two minizip and get a software build again. There is a mz_compat.h file I haven not tried yet, perhaps it's easy to port software to use your homonym minizip by rewriting the header paths (I hope it's enough) but even with that, it still requires a manual port which just means it's not a drop-in replacement and can't be called minizip because of that.

    So, cross-plarform projects using minizip can't build on mingw anymore since the mingw's minizip is not minizip anymore. Can you rename your project to avoid other distro packagers being misleaded in the future? For sure your project looks great but it is definitely not minizip anymore, and as a software maintainer I hope we will not have to play the “if minizip but mingw else linux” dance into madness…

    Thanks in advance.

    won't do distribution 
    opened by illwieckz 16
  • Incorect compressed size in the local header with 4+ GB files and data_descriptor = 0

    Incorect compressed size in the local header with 4+ GB files and data_descriptor = 0

    I've been testing zipping of big files (basically just full on random content files) and noticed an issue with compressed size values in the Zip64 extra field in the local header when streaming mode is disabled.

    The issue is this:

    1. At the very start at entry open the uncompressed size is big, but at that point compressed size is zero. So in the Zip64 extra field in the local header there is only one field with the uncompressed size.
    2. At the end at entry close now both uncompressed and compressed sizes are > UINT32_MAX. The values in the base local header fields get updated to UINT32_MAX, but there is no expected value for the compressed size in the Zip64 extra field entry.

    Also there is a similar twin issue, when uncompressed size is less than UINT32_MAX, but compressed size is bigger. The result is similar, but now without the Zip64 extra entry in the local header at all.

    So with that we have a proper central directory header, as we have all of the info at that point, but it is impossible to get the compressed size from the local header. This breaks some of the unzipping tools.

    I've made a sloppy attempt to fix it here: https://github.com/Eswcvlad/minizip/commit/3b01a375ea0b9bb48a5ffdb9d24eee119be69893 .

    The fix boils down to the following:

    1. In case there is a Zip64 extra field entry created, uncompressed and compressed sizes are both written. Judging from the PKWARE zip spec (4.5.3) it should be this way in the local headers anyway.
    2. At entry closing now both the base compressed size and the compressed size in the Zip64 is updated.

    It seems to be working, but it is sloppy, affects streaming mode and I am not sure if it is save for other cases (like archive splitting).

    Could you have a look at this?

    fixed zip 
    opened by Eswcvlad 15
  • Compile fails when compiling with -Wformat

    Compile fails when compiling with -Wformat

    On a 64-bit Linux system, compilation fails when compiling with -Wformat: ../../third_party/minizip/src/mz_zip.c:671:13: error: format specifies type 'unsigned long long' but the argument has type 'int64_t' (aka 'long') [-Werror,-Wformat] file_info->disk_offset);

    https://github.com/nmoinvaz/minizip/commit/effc1428ff3fd3673d9d40deb3c69c4b6e8f25cb made printf non-portable. inttypes.h is the C99 way of portably formatting integers.

    compilation 
    opened by akmistry 15
  • 3.0.2: test suite is failing

    3.0.2: test suite is failing

    Configure source tree:

    + /usr/bin/cmake -B x86_64-redhat-linux-gnu -D BUILD_SHARED_LIBS=ON -D CMAKE_AR=/usr/bin/gcc-ar -D CMAKE_BUILD_TYPE=RelWithDebInfo -D CMAKE_C_FLAGS_RELEASE=-DNDEBUG -D CMAKE_CXX_FLAGS_RELEASE=-DNDEBUG -D CMAKE_Fortran_FLAGS_RELEASE=-DNDEBUG -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_NM=/usr/bin/gcc-nm -D CMAKE_RANLIB=/usr/bin/gcc-ranlib -D CMAKE_VERBOSE_MAKEFILE=ON -D DBUILD_SHARED_LIBS=ON -D INCLUDE_INSTALL_DIR=/usr/include -D LIB_INSTALL_DIR=/usr/lib64 -D LIB_SUFFIX=64 -D SHARE_INSTALL_PREFIX=/usr/share -D SYSCONF_INSTALL_DIR=/etc -S . -D MZ_BUILD_TESTS=ON -D MZ_BUILD_UNIT_TESTS=ON -D MZ_BZIP2=ON -D MZ_COMPAT=ON -D MZ_COMPAT=ON -D MZ_LZMA=ON -D MZ_OPENSSL=ON -D MZ_PKCRYPT=ON -D MZ_WZAES=ON -D MZ_ZLIB=ON -D MZ_ZSTD=ON
    

    Result of the source tree configuration:

    [tkloczko@barrel minizip-ng-3.0.2]$ cmake -L x86_64-redhat-linux-gnu
    -- Using CMake version 3.20.2
    CMake Deprecation Warning at CMakeLists.txt:56 (cmake_policy):
      The OLD behavior for policy CMP0074 will be removed from a future version
      of CMake.
    
      The cmake-policies(7) manual explains that the OLD behaviors of all
      policies are deprecated and that a policy should be set to OLD only under
      specific short-term circumstances.  Projects should be ported to the NEW
      behavior and not rely on setting a policy to OLD.
    
    
    -- Using ZLIB 1.2.11
    -- Using BZIP2 1.0.8
    -- Using LZMA 5.2.5
    -- Using ZSTD 1.5.0
    -- Using OpenSSL 1.1.1k
    -- Using Iconv
    -- The following features have been enabled:
    
     * MZ_COMPAT, Enables compatibility layer
     * MZ_ZLIB, Enables ZLIB compression
     * MZ_BZIP2, Enables BZIP2 compression
     * MZ_LZMA, Enables LZMA & XZ compression
     * MZ_ZSTD, Enables ZSTD compression
     * MZ_PKCRYPT, Enables PKWARE traditional encryption
     * MZ_WZAES, Enables WinZIP AES encryption
     * MZ_OPENSSL, Enables OpenSSL for encryption
     * MZ_LIBBSD, Build with libbsd for crypto random
     * MZ_SIGNING, Enables zip signing support
     * MZ_ICONV, Enables iconv string encoding conversion library
     * MZ_BUILD_TESTS, Builds minizip test executable
     * MZ_BUILD_UNIT_TESTS, Builds minizip unit test project
    
    -- The following features have been disabled:
    
     * MZ_LIBCOMP, Enables Apple compression
     * MZ_FETCH_LIBS, Enables fetching third-party libraries if not found
     * MZ_FORCE_FETCH_LIBS, Enables fetching third-party libraries always
     * MZ_COMPRESS_ONLY, Only support compression
     * MZ_DECOMPRESS_ONLY, Only support decompression
     * MZ_FILE32_API, Builds using posix 32-bit file api
     * MZ_BUILD_FUZZ_TESTS, Builds minizip fuzzer executables
     * MZ_CODE_COVERAGE, Builds with code coverage flags
    
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /home/tkloczko/rpmbuild/BUILD/minizip-ng-3.0.2/x86_64-redhat-linux-gnu
    -- Cache values
    CMAKE_BUILD_TYPE:STRING=RelWithDebInfo
    CMAKE_INSTALL_PREFIX:PATH=/usr
    INSTALL_BIN_DIR:PATH=bin
    INSTALL_CMAKE_DIR:PATH=lib64/cmake/minizip
    INSTALL_INC_DIR:PATH=include
    INSTALL_LIB_DIR:PATH=lib64
    INSTALL_MAN_DIR:PATH=share/man
    INSTALL_PKGCONFIG_DIR:PATH=lib64/pkgconfig
    MZ_BUILD_FUZZ_TESTS:BOOL=OFF
    MZ_BUILD_TESTS:BOOL=ON
    MZ_BUILD_UNIT_TESTS:BOOL=ON
    MZ_BZIP2:BOOL=ON
    MZ_CODE_COVERAGE:BOOL=OFF
    MZ_COMPAT:BOOL=ON
    MZ_COMPRESS_ONLY:BOOL=OFF
    MZ_DECOMPRESS_ONLY:BOOL=OFF
    MZ_FETCH_LIBS:BOOL=OFF
    MZ_FORCE_FETCH_LIBS:BOOL=OFF
    MZ_ICONV:BOOL=ON
    MZ_LIBBSD:BOOL=ON
    MZ_LIBCOMP:BOOL=OFF
    MZ_LZMA:BOOL=ON
    MZ_OPENSSL:BOOL=ON
    MZ_PKCRYPT:BOOL=ON
    MZ_SIGNING:BOOL=ON
    MZ_WZAES:BOOL=ON
    MZ_ZLIB:BOOL=ON
    MZ_ZSTD:BOOL=ON
    

    and test suite execution:

    + /usr/bin/make -O -j48 V=1 VERBOSE=1 -C x86_64-redhat-linux-gnu test ARGS=--output-on-failure
    make: Entering directory '/home/tkloczko/rpmbuild/BUILD/minizip-ng-3.0.2/x86_64-redhat-linux-gnu'
    Running tests...
    /usr/bin/ctest --force-new-ctest-process --output-on-failure
    Test project /home/tkloczko/rpmbuild/BUILD/minizip-ng-3.0.2/x86_64-redhat-linux-gnu
            Start   1: test_cmd
      1/288 Test   #1: test_cmd .........................   Passed    3.70 sec
            Start   2: raw-zip-generic
      2/288 Test   #2: raw-zip-generic ..................   Passed    0.02 sec
            Start   3: raw-list-generic
      3/288 Test   #3: raw-list-generic .................   Passed    0.00 sec
            Start   4: raw-unzip-generic
      4/288 Test   #4: raw-unzip-generic ................   Passed    0.01 sec
            Start   5: raw-append-generic
      5/288 Test   #5: raw-append-generic ...............   Passed    0.00 sec
            Start   6: raw-append-unzip-generic
      6/288 Test   #6: raw-append-unzip-generic .........   Passed    0.01 sec
            Start   7: raw-erase-generic
      7/288 Test   #7: raw-erase-generic ................   Passed    0.02 sec
            Start   8: raw-erase-unzip-generic
      8/288 Test   #8: raw-erase-unzip-generic ..........   Passed    0.02 sec
            Start   9: deflate-zip-generic
      9/288 Test   #9: deflate-zip-generic ..............   Passed    0.03 sec
            Start  10: deflate-list-generic
     10/288 Test  #10: deflate-list-generic .............   Passed    0.01 sec
            Start  11: deflate-unzip-generic
     11/288 Test  #11: deflate-unzip-generic ............   Passed    0.02 sec
            Start  12: deflate-append-generic
     12/288 Test  #12: deflate-append-generic ...........   Passed    0.01 sec
            Start  13: deflate-append-unzip-generic
     13/288 Test  #13: deflate-append-unzip-generic .....   Passed    0.01 sec
            Start  14: deflate-erase-generic
     14/288 Test  #14: deflate-erase-generic ............   Passed    0.02 sec
            Start  15: deflate-erase-unzip-generic
     15/288 Test  #15: deflate-erase-unzip-generic ......   Passed    0.02 sec
            Start  16: bzip2-zip-generic
     16/288 Test  #16: bzip2-zip-generic ................   Passed    0.10 sec
            Start  17: bzip2-list-generic
     17/288 Test  #17: bzip2-list-generic ...............   Passed    0.00 sec
            Start  18: bzip2-unzip-generic
     18/288 Test  #18: bzip2-unzip-generic ..............   Passed    0.04 sec
            Start  19: bzip2-append-generic
     19/288 Test  #19: bzip2-append-generic .............   Passed    0.00 sec
            Start  20: bzip2-append-unzip-generic
     20/288 Test  #20: bzip2-append-unzip-generic .......   Passed    0.04 sec
            Start  21: bzip2-erase-generic
     21/288 Test  #21: bzip2-erase-generic ..............   Passed    0.01 sec
            Start  22: bzip2-erase-unzip-generic
     22/288 Test  #22: bzip2-erase-unzip-generic ........   Passed    0.03 sec
            Start  23: lzma-zip-generic
     23/288 Test  #23: lzma-zip-generic .................   Passed    0.18 sec
            Start  24: lzma-list-generic
     24/288 Test  #24: lzma-list-generic ................   Passed    0.01 sec
            Start  25: lzma-unzip-generic
     25/288 Test  #25: lzma-unzip-generic ...............   Passed    0.06 sec
            Start  26: lzma-append-generic
     26/288 Test  #26: lzma-append-generic ..............   Passed    0.00 sec
            Start  27: lzma-append-unzip-generic
     27/288 Test  #27: lzma-append-unzip-generic ........   Passed    0.04 sec
            Start  28: lzma-erase-generic
     28/288 Test  #28: lzma-erase-generic ...............   Passed    0.01 sec
            Start  29: lzma-erase-unzip-generic
     29/288 Test  #29: lzma-erase-unzip-generic .........   Passed    0.04 sec
            Start  30: xz-zip-generic
     30/288 Test  #30: xz-zip-generic ...................   Passed    0.20 sec
            Start  31: xz-list-generic
     31/288 Test  #31: xz-list-generic ..................   Passed    0.01 sec
            Start  32: xz-unzip-generic
     32/288 Test  #32: xz-unzip-generic .................   Passed    0.02 sec
            Start  33: xz-append-generic
     33/288 Test  #33: xz-append-generic ................   Passed    0.01 sec
            Start  34: xz-append-unzip-generic
     34/288 Test  #34: xz-append-unzip-generic ..........   Passed    0.02 sec
            Start  35: xz-erase-generic
     35/288 Test  #35: xz-erase-generic .................   Passed    0.01 sec
            Start  36: xz-erase-unzip-generic
     36/288 Test  #36: xz-erase-unzip-generic ...........   Passed    0.03 sec
            Start  37: zstd-zip-generic
     37/288 Test  #37: zstd-zip-generic .................   Passed    0.03 sec
            Start  38: zstd-list-generic
     38/288 Test  #38: zstd-list-generic ................   Passed    0.01 sec
            Start  39: zstd-unzip-generic
     39/288 Test  #39: zstd-unzip-generic ...............   Passed    0.02 sec
            Start  40: zstd-append-generic
     40/288 Test  #40: zstd-append-generic ..............   Passed    0.01 sec
            Start  41: zstd-append-unzip-generic
     41/288 Test  #41: zstd-append-unzip-generic ........   Passed    0.01 sec
            Start  42: zstd-erase-generic
     42/288 Test  #42: zstd-erase-generic ...............   Passed    0.02 sec
            Start  43: zstd-erase-unzip-generic
     43/288 Test  #43: zstd-erase-unzip-generic .........   Passed    0.01 sec
            Start  44: raw-zip-span
     44/288 Test  #44: raw-zip-span .....................   Passed    0.02 sec
            Start  45: raw-list-span
     45/288 Test  #45: raw-list-span ....................   Passed    0.00 sec
            Start  46: raw-unzip-span
     46/288 Test  #46: raw-unzip-span ...................   Passed    0.01 sec
            Start  47: raw-append-span
     47/288 Test  #47: raw-append-span ..................   Passed    0.00 sec
            Start  48: raw-append-unzip-span
     48/288 Test  #48: raw-append-unzip-span ............   Passed    0.01 sec
            Start  49: raw-erase-span
     49/288 Test  #49: raw-erase-span ...................   Passed    0.02 sec
            Start  50: raw-erase-unzip-span
     50/288 Test  #50: raw-erase-unzip-span .............   Passed    0.01 sec
            Start  51: deflate-zip-span
     51/288 Test  #51: deflate-zip-span .................   Passed    0.05 sec
            Start  52: deflate-list-span
     52/288 Test  #52: deflate-list-span ................   Passed    0.01 sec
            Start  53: deflate-unzip-span
     53/288 Test  #53: deflate-unzip-span ...............   Passed    0.02 sec
            Start  54: deflate-append-span
     54/288 Test  #54: deflate-append-span ..............   Passed    0.00 sec
            Start  55: deflate-append-unzip-span
     55/288 Test  #55: deflate-append-unzip-span ........   Passed    0.03 sec
            Start  56: deflate-erase-span
     56/288 Test  #56: deflate-erase-span ...............   Passed    0.02 sec
            Start  57: deflate-erase-unzip-span
     57/288 Test  #57: deflate-erase-unzip-span .........   Passed    0.02 sec
            Start  58: bzip2-zip-span
     58/288 Test  #58: bzip2-zip-span ...................   Passed    0.10 sec
            Start  59: bzip2-list-span
     59/288 Test  #59: bzip2-list-span ..................   Passed    0.00 sec
            Start  60: bzip2-unzip-span
     60/288 Test  #60: bzip2-unzip-span .................   Passed    0.03 sec
            Start  61: bzip2-append-span
     61/288 Test  #61: bzip2-append-span ................   Passed    0.00 sec
            Start  62: bzip2-append-unzip-span
     62/288 Test  #62: bzip2-append-unzip-span ..........   Passed    0.06 sec
            Start  63: bzip2-erase-span
     63/288 Test  #63: bzip2-erase-span .................   Passed    0.01 sec
            Start  64: bzip2-erase-unzip-span
     64/288 Test  #64: bzip2-erase-unzip-span ...........   Passed    0.05 sec
            Start  65: lzma-zip-span
     65/288 Test  #65: lzma-zip-span ....................   Passed    0.20 sec
            Start  66: lzma-list-span
     66/288 Test  #66: lzma-list-span ...................   Passed    0.01 sec
            Start  67: lzma-unzip-span
     67/288 Test  #67: lzma-unzip-span ..................   Passed    0.06 sec
            Start  68: lzma-append-span
     68/288 Test  #68: lzma-append-span .................   Passed    0.01 sec
            Start  69: lzma-append-unzip-span
     69/288 Test  #69: lzma-append-unzip-span ...........   Passed    0.06 sec
            Start  70: lzma-erase-span
     70/288 Test  #70: lzma-erase-span ..................   Passed    0.02 sec
            Start  71: lzma-erase-unzip-span
     71/288 Test  #71: lzma-erase-unzip-span ............   Passed    0.06 sec
            Start  72: xz-zip-span
     72/288 Test  #72: xz-zip-span ......................   Passed    0.25 sec
            Start  73: xz-list-span
     73/288 Test  #73: xz-list-span .....................   Passed    0.01 sec
            Start  74: xz-unzip-span
     74/288 Test  #74: xz-unzip-span ....................   Passed    0.03 sec
            Start  75: xz-append-span
     75/288 Test  #75: xz-append-span ...................   Passed    0.01 sec
            Start  76: xz-append-unzip-span
     76/288 Test  #76: xz-append-unzip-span .............   Passed    0.03 sec
            Start  77: xz-erase-span
     77/288 Test  #77: xz-erase-span ....................   Passed    0.02 sec
            Start  78: xz-erase-unzip-span
     78/288 Test  #78: xz-erase-unzip-span ..............   Passed    0.02 sec
            Start  79: zstd-zip-span
     79/288 Test  #79: zstd-zip-span ....................   Passed    0.03 sec
            Start  80: zstd-list-span
     80/288 Test  #80: zstd-list-span ...................   Passed    0.01 sec
            Start  81: zstd-unzip-span
     81/288 Test  #81: zstd-unzip-span ..................   Passed    0.03 sec
            Start  82: zstd-append-span
     82/288 Test  #82: zstd-append-span .................   Passed    0.01 sec
            Start  83: zstd-append-unzip-span
     83/288 Test  #83: zstd-append-unzip-span ...........   Passed    0.02 sec
            Start  84: zstd-erase-span
     84/288 Test  #84: zstd-erase-span ..................   Passed    0.01 sec
            Start  85: zstd-erase-unzip-span
     85/288 Test  #85: zstd-erase-unzip-span ............   Passed    0.01 sec
            Start  86: deflate-zip-zipcd
     86/288 Test  #86: deflate-zip-zipcd ................   Passed    0.03 sec
            Start  87: deflate-list-zipcd
     87/288 Test  #87: deflate-list-zipcd ...............   Passed    0.00 sec
            Start  88: deflate-unzip-zipcd
     88/288 Test  #88: deflate-unzip-zipcd ..............   Passed    0.02 sec
            Start  89: deflate-append-zipcd
     89/288 Test  #89: deflate-append-zipcd .............   Passed    0.01 sec
            Start  90: deflate-append-unzip-zipcd
     90/288 Test  #90: deflate-append-unzip-zipcd .......   Passed    0.01 sec
            Start  91: deflate-erase-zipcd
     91/288 Test  #91: deflate-erase-zipcd ..............   Passed    0.01 sec
            Start  92: deflate-erase-unzip-zipcd
     92/288 Test  #92: deflate-erase-unzip-zipcd ........   Passed    0.01 sec
            Start  93: bzip2-zip-zipcd
     93/288 Test  #93: bzip2-zip-zipcd ..................   Passed    0.09 sec
            Start  94: bzip2-list-zipcd
     94/288 Test  #94: bzip2-list-zipcd .................   Passed    0.01 sec
            Start  95: bzip2-unzip-zipcd
     95/288 Test  #95: bzip2-unzip-zipcd ................   Passed    0.05 sec
            Start  96: bzip2-append-zipcd
     96/288 Test  #96: bzip2-append-zipcd ...............   Passed    0.01 sec
            Start  97: bzip2-append-unzip-zipcd
     97/288 Test  #97: bzip2-append-unzip-zipcd .........   Passed    0.01 sec
            Start  98: bzip2-erase-zipcd
     98/288 Test  #98: bzip2-erase-zipcd ................   Passed    0.01 sec
            Start  99: bzip2-erase-unzip-zipcd
     99/288 Test  #99: bzip2-erase-unzip-zipcd ..........   Passed    0.01 sec
            Start 100: lzma-zip-zipcd
    100/288 Test #100: lzma-zip-zipcd ...................   Passed    0.20 sec
            Start 101: lzma-list-zipcd
    101/288 Test #101: lzma-list-zipcd ..................   Passed    0.01 sec
            Start 102: lzma-unzip-zipcd
    102/288 Test #102: lzma-unzip-zipcd .................   Passed    0.06 sec
            Start 103: lzma-append-zipcd
    103/288 Test #103: lzma-append-zipcd ................   Passed    0.00 sec
            Start 104: lzma-append-unzip-zipcd
    104/288 Test #104: lzma-append-unzip-zipcd ..........   Passed    0.01 sec
            Start 105: lzma-erase-zipcd
    105/288 Test #105: lzma-erase-zipcd .................   Passed    0.00 sec
            Start 106: lzma-erase-unzip-zipcd
    106/288 Test #106: lzma-erase-unzip-zipcd ...........   Passed    0.01 sec
            Start 107: xz-zip-zipcd
    107/288 Test #107: xz-zip-zipcd .....................   Passed    0.21 sec
            Start 108: xz-list-zipcd
    108/288 Test #108: xz-list-zipcd ....................   Passed    0.01 sec
            Start 109: xz-unzip-zipcd
    109/288 Test #109: xz-unzip-zipcd ...................   Passed    0.03 sec
            Start 110: xz-append-zipcd
    110/288 Test #110: xz-append-zipcd ..................   Passed    0.01 sec
            Start 111: xz-append-unzip-zipcd
    111/288 Test #111: xz-append-unzip-zipcd ............   Passed    0.01 sec
            Start 112: xz-erase-zipcd
    112/288 Test #112: xz-erase-zipcd ...................   Passed    0.01 sec
            Start 113: xz-erase-unzip-zipcd
    113/288 Test #113: xz-erase-unzip-zipcd .............   Passed    0.01 sec
            Start 114: zstd-zip-zipcd
    114/288 Test #114: zstd-zip-zipcd ...................   Passed    0.03 sec
            Start 115: zstd-list-zipcd
    115/288 Test #115: zstd-list-zipcd ..................   Passed    0.01 sec
            Start 116: zstd-unzip-zipcd
    116/288 Test #116: zstd-unzip-zipcd .................   Passed    0.02 sec
            Start 117: zstd-append-zipcd
    117/288 Test #117: zstd-append-zipcd ................   Passed    0.01 sec
            Start 118: zstd-append-unzip-zipcd
    118/288 Test #118: zstd-append-unzip-zipcd ..........   Passed    0.01 sec
            Start 119: zstd-erase-zipcd
    119/288 Test #119: zstd-erase-zipcd .................   Passed    0.01 sec
            Start 120: zstd-erase-unzip-zipcd
    120/288 Test #120: zstd-erase-unzip-zipcd ...........   Passed    0.01 sec
            Start 121: raw-zip-pkcrypt
    121/288 Test #121: raw-zip-pkcrypt ..................   Passed    0.04 sec
            Start 122: raw-list-pkcrypt
    122/288 Test #122: raw-list-pkcrypt .................   Passed    0.01 sec
            Start 123: raw-unzip-pkcrypt
    123/288 Test #123: raw-unzip-pkcrypt ................   Passed    0.03 sec
            Start 124: raw-append-pkcrypt
    124/288 Test #124: raw-append-pkcrypt ...............   Passed    0.01 sec
            Start 125: raw-append-unzip-pkcrypt
    125/288 Test #125: raw-append-unzip-pkcrypt .........   Passed    0.04 sec
            Start 126: raw-erase-pkcrypt
    126/288 Test #126: raw-erase-pkcrypt ................   Passed    0.02 sec
            Start 127: raw-erase-unzip-pkcrypt
    127/288 Test #127: raw-erase-unzip-pkcrypt ..........   Passed    0.04 sec
            Start 128: deflate-zip-pkcrypt
    128/288 Test #128: deflate-zip-pkcrypt ..............   Passed    0.05 sec
            Start 129: deflate-list-pkcrypt
    129/288 Test #129: deflate-list-pkcrypt .............   Passed    0.01 sec
            Start 130: deflate-unzip-pkcrypt
    130/288 Test #130: deflate-unzip-pkcrypt ............   Passed    0.03 sec
            Start 131: deflate-append-pkcrypt
    131/288 Test #131: deflate-append-pkcrypt ...........   Passed    0.00 sec
            Start 132: deflate-append-unzip-pkcrypt
    132/288 Test #132: deflate-append-unzip-pkcrypt .....   Passed    0.02 sec
            Start 133: deflate-erase-pkcrypt
    133/288 Test #133: deflate-erase-pkcrypt ............   Passed    0.02 sec
            Start 134: deflate-erase-unzip-pkcrypt
    134/288 Test #134: deflate-erase-unzip-pkcrypt ......   Passed    0.03 sec
            Start 135: bzip2-zip-pkcrypt
    135/288 Test #135: bzip2-zip-pkcrypt ................   Passed    0.08 sec
            Start 136: bzip2-list-pkcrypt
    136/288 Test #136: bzip2-list-pkcrypt ...............   Passed    0.00 sec
            Start 137: bzip2-unzip-pkcrypt
    137/288 Test #137: bzip2-unzip-pkcrypt ..............   Passed    0.04 sec
            Start 138: bzip2-append-pkcrypt
    138/288 Test #138: bzip2-append-pkcrypt .............   Passed    0.00 sec
            Start 139: bzip2-append-unzip-pkcrypt
    139/288 Test #139: bzip2-append-unzip-pkcrypt .......   Passed    0.04 sec
            Start 140: bzip2-erase-pkcrypt
    140/288 Test #140: bzip2-erase-pkcrypt ..............   Passed    0.02 sec
            Start 141: bzip2-erase-unzip-pkcrypt
    141/288 Test #141: bzip2-erase-unzip-pkcrypt ........   Passed    0.05 sec
            Start 142: lzma-zip-pkcrypt
    142/288 Test #142: lzma-zip-pkcrypt .................   Passed    0.19 sec
            Start 143: lzma-list-pkcrypt
    143/288 Test #143: lzma-list-pkcrypt ................   Passed    0.01 sec
            Start 144: lzma-unzip-pkcrypt
    144/288 Test #144: lzma-unzip-pkcrypt ...............   Passed    0.07 sec
            Start 145: lzma-append-pkcrypt
    145/288 Test #145: lzma-append-pkcrypt ..............   Passed    0.00 sec
            Start 146: lzma-append-unzip-pkcrypt
    146/288 Test #146: lzma-append-unzip-pkcrypt ........   Passed    0.05 sec
            Start 147: lzma-erase-pkcrypt
    147/288 Test #147: lzma-erase-pkcrypt ...............   Passed    0.02 sec
            Start 148: lzma-erase-unzip-pkcrypt
    148/288 Test #148: lzma-erase-unzip-pkcrypt .........   Passed    0.06 sec
            Start 149: xz-zip-pkcrypt
    149/288 Test #149: xz-zip-pkcrypt ...................   Passed    0.19 sec
            Start 150: xz-list-pkcrypt
    150/288 Test #150: xz-list-pkcrypt ..................   Passed    0.00 sec
            Start 151: xz-unzip-pkcrypt
    151/288 Test #151: xz-unzip-pkcrypt .................   Passed    0.02 sec
            Start 152: xz-append-pkcrypt
    152/288 Test #152: xz-append-pkcrypt ................   Passed    0.00 sec
            Start 153: xz-append-unzip-pkcrypt
    153/288 Test #153: xz-append-unzip-pkcrypt ..........   Passed    0.02 sec
            Start 154: xz-erase-pkcrypt
    154/288 Test #154: xz-erase-pkcrypt .................   Passed    0.01 sec
            Start 155: xz-erase-unzip-pkcrypt
    155/288 Test #155: xz-erase-unzip-pkcrypt ...........   Passed    0.02 sec
            Start 156: zstd-zip-pkcrypt
    156/288 Test #156: zstd-zip-pkcrypt .................   Passed    0.02 sec
            Start 157: zstd-list-pkcrypt
    157/288 Test #157: zstd-list-pkcrypt ................   Passed    0.01 sec
            Start 158: zstd-unzip-pkcrypt
    158/288 Test #158: zstd-unzip-pkcrypt ...............   Passed    0.02 sec
            Start 159: zstd-append-pkcrypt
    159/288 Test #159: zstd-append-pkcrypt ..............   Passed    0.01 sec
            Start 160: zstd-append-unzip-pkcrypt
    160/288 Test #160: zstd-append-unzip-pkcrypt ........   Passed    0.02 sec
            Start 161: zstd-erase-pkcrypt
    161/288 Test #161: zstd-erase-pkcrypt ...............   Passed    0.01 sec
            Start 162: zstd-erase-unzip-pkcrypt
    162/288 Test #162: zstd-erase-unzip-pkcrypt .........   Passed    0.03 sec
            Start 163: raw-zip-wzaes
    163/288 Test #163: raw-zip-wzaes ....................   Passed    0.11 sec
            Start 164: raw-list-wzaes
    164/288 Test #164: raw-list-wzaes ...................   Passed    0.01 sec
            Start 165: raw-unzip-wzaes
    165/288 Test #165: raw-unzip-wzaes ..................   Passed    0.11 sec
            Start 166: raw-append-wzaes
    166/288 Test #166: raw-append-wzaes .................   Passed    0.02 sec
            Start 167: raw-append-unzip-wzaes
    167/288 Test #167: raw-append-unzip-wzaes ...........   Passed    0.11 sec
            Start 168: raw-erase-wzaes
    168/288 Test #168: raw-erase-wzaes ..................   Passed    0.02 sec
            Start 169: raw-erase-unzip-wzaes
    169/288 Test #169: raw-erase-unzip-wzaes ............   Passed    0.11 sec
            Start 170: deflate-zip-wzaes
    170/288 Test #170: deflate-zip-wzaes ................   Passed    0.13 sec
            Start 171: deflate-list-wzaes
    171/288 Test #171: deflate-list-wzaes ...............   Passed    0.01 sec
            Start 172: deflate-unzip-wzaes
    172/288 Test #172: deflate-unzip-wzaes ..............   Passed    0.11 sec
            Start 173: deflate-append-wzaes
    173/288 Test #173: deflate-append-wzaes .............   Passed    0.02 sec
            Start 174: deflate-append-unzip-wzaes
    174/288 Test #174: deflate-append-unzip-wzaes .......   Passed    0.11 sec
            Start 175: deflate-erase-wzaes
    175/288 Test #175: deflate-erase-wzaes ..............   Passed    0.01 sec
            Start 176: deflate-erase-unzip-wzaes
    176/288 Test #176: deflate-erase-unzip-wzaes ........   Passed    0.09 sec
            Start 177: bzip2-zip-wzaes
    177/288 Test #177: bzip2-zip-wzaes ..................   Passed    0.16 sec
            Start 178: bzip2-list-wzaes
    178/288 Test #178: bzip2-list-wzaes .................   Passed    0.00 sec
            Start 179: bzip2-unzip-wzaes
    179/288 Test #179: bzip2-unzip-wzaes ................   Passed    0.11 sec
            Start 180: bzip2-append-wzaes
    180/288 Test #180: bzip2-append-wzaes ...............   Passed    0.01 sec
            Start 181: bzip2-append-unzip-wzaes
    181/288 Test #181: bzip2-append-unzip-wzaes .........   Passed    0.12 sec
            Start 182: bzip2-erase-wzaes
    182/288 Test #182: bzip2-erase-wzaes ................   Passed    0.01 sec
            Start 183: bzip2-erase-unzip-wzaes
    183/288 Test #183: bzip2-erase-unzip-wzaes ..........   Passed    0.11 sec
            Start 184: lzma-zip-wzaes
    184/288 Test #184: lzma-zip-wzaes ...................   Passed    0.28 sec
            Start 185: lzma-list-wzaes
    185/288 Test #185: lzma-list-wzaes ..................   Passed    0.01 sec
            Start 186: lzma-unzip-wzaes
    186/288 Test #186: lzma-unzip-wzaes .................   Passed    0.14 sec
            Start 187: lzma-append-wzaes
    187/288 Test #187: lzma-append-wzaes ................   Passed    0.01 sec
            Start 188: lzma-append-unzip-wzaes
    188/288 Test #188: lzma-append-unzip-wzaes ..........   Passed    0.13 sec
            Start 189: lzma-erase-wzaes
    189/288 Test #189: lzma-erase-wzaes .................   Passed    0.02 sec
            Start 190: lzma-erase-unzip-wzaes
    190/288 Test #190: lzma-erase-unzip-wzaes ...........   Passed    0.12 sec
            Start 191: xz-zip-wzaes
    191/288 Test #191: xz-zip-wzaes .....................   Passed    0.27 sec
            Start 192: xz-list-wzaes
    192/288 Test #192: xz-list-wzaes ....................   Passed    0.00 sec
            Start 193: xz-unzip-wzaes
    193/288 Test #193: xz-unzip-wzaes ...................   Passed    0.09 sec
            Start 194: xz-append-wzaes
    194/288 Test #194: xz-append-wzaes ..................   Passed    0.01 sec
            Start 195: xz-append-unzip-wzaes
    195/288 Test #195: xz-append-unzip-wzaes ............   Passed    0.10 sec
            Start 196: xz-erase-wzaes
    196/288 Test #196: xz-erase-wzaes ...................   Passed    0.01 sec
            Start 197: xz-erase-unzip-wzaes
    197/288 Test #197: xz-erase-unzip-wzaes .............   Passed    0.09 sec
            Start 198: zstd-zip-wzaes
    198/288 Test #198: zstd-zip-wzaes ...................   Passed    0.10 sec
            Start 199: zstd-list-wzaes
    199/288 Test #199: zstd-list-wzaes ..................   Passed    0.00 sec
            Start 200: zstd-unzip-wzaes
    200/288 Test #200: zstd-unzip-wzaes .................   Passed    0.09 sec
            Start 201: zstd-append-wzaes
    201/288 Test #201: zstd-append-wzaes ................   Passed    0.01 sec
            Start 202: zstd-append-unzip-wzaes
    202/288 Test #202: zstd-append-unzip-wzaes ..........   Passed    0.09 sec
            Start 203: zstd-erase-wzaes
    203/288 Test #203: zstd-erase-wzaes .................   Passed    0.01 sec
            Start 204: zstd-erase-unzip-wzaes
    204/288 Test #204: zstd-erase-unzip-wzaes ...........   Passed    0.09 sec
            Start 205: raw-zip-signed
    205/288 Test #205: raw-zip-signed ...................   Passed    0.11 sec
            Start 206: raw-list-signed
    206/288 Test #206: raw-list-signed ..................   Passed    0.01 sec
            Start 207: raw-unzip-signed
    207/288 Test #207: raw-unzip-signed .................***Failed    0.01 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting test.c
    Error -117 saving entries to disk result.zip
    
            Start 208: raw-append-signed
    208/288 Test #208: raw-append-signed ................   Passed    0.02 sec
            Start 209: raw-append-unzip-signed
    209/288 Test #209: raw-append-unzip-signed ..........***Failed    0.02 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting test.c
    Error -117 saving entries to disk result.zip
    
            Start 210: raw-erase-signed
    210/288 Test #210: raw-erase-signed .................   Passed    0.02 sec
            Start 211: raw-erase-unzip-signed
    211/288 Test #211: raw-erase-unzip-signed ...........***Failed    0.02 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting empty.txt
    Error -117 saving entries to disk result.zip
    
            Start 212: deflate-zip-signed
    212/288 Test #212: deflate-zip-signed ...............   Passed    0.11 sec
            Start 213: deflate-list-signed
    213/288 Test #213: deflate-list-signed ..............   Passed    0.01 sec
            Start 214: deflate-unzip-signed
    214/288 Test #214: deflate-unzip-signed .............***Failed    0.02 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting test.c
    Error -117 saving entries to disk result.zip
    
            Start 215: deflate-append-signed
    215/288 Test #215: deflate-append-signed ............   Passed    0.02 sec
            Start 216: deflate-append-unzip-signed
    216/288 Test #216: deflate-append-unzip-signed ......***Failed    0.03 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting test.c
    Error -117 saving entries to disk result.zip
    
            Start 217: deflate-erase-signed
    217/288 Test #217: deflate-erase-signed .............   Passed    0.02 sec
            Start 218: deflate-erase-unzip-signed
    218/288 Test #218: deflate-erase-unzip-signed .......***Failed    0.02 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting empty.txt
    Error -117 saving entries to disk result.zip
    
            Start 219: bzip2-zip-signed
    219/288 Test #219: bzip2-zip-signed .................   Passed    0.18 sec
            Start 220: bzip2-list-signed
    220/288 Test #220: bzip2-list-signed ................   Passed    0.01 sec
            Start 221: bzip2-unzip-signed
    221/288 Test #221: bzip2-unzip-signed ...............***Failed    0.02 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting test.c
    Error -117 saving entries to disk result.zip
    
            Start 222: bzip2-append-signed
    222/288 Test #222: bzip2-append-signed ..............   Passed    0.02 sec
            Start 223: bzip2-append-unzip-signed
    223/288 Test #223: bzip2-append-unzip-signed ........***Failed    0.02 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting test.c
    Error -117 saving entries to disk result.zip
    
            Start 224: bzip2-erase-signed
    224/288 Test #224: bzip2-erase-signed ...............   Passed    0.01 sec
            Start 225: bzip2-erase-unzip-signed
    225/288 Test #225: bzip2-erase-unzip-signed .........***Failed    0.01 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting empty.txt
    Error -117 saving entries to disk result.zip
    
            Start 226: lzma-zip-signed
    226/288 Test #226: lzma-zip-signed ..................   Passed    0.34 sec
            Start 227: lzma-list-signed
    227/288 Test #227: lzma-list-signed .................   Passed    0.01 sec
            Start 228: lzma-unzip-signed
    228/288 Test #228: lzma-unzip-signed ................***Failed    0.02 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting test.c
    Error -117 saving entries to disk result.zip
    Error -105 closing archive for reading
    
            Start 229: lzma-append-signed
    229/288 Test #229: lzma-append-signed ...............   Passed    0.02 sec
            Start 230: lzma-append-unzip-signed
    230/288 Test #230: lzma-append-unzip-signed .........***Failed    0.02 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting test.c
    Error -117 saving entries to disk result.zip
    Error -105 closing archive for reading
    
            Start 231: lzma-erase-signed
    231/288 Test #231: lzma-erase-signed ................   Passed    0.01 sec
            Start 232: lzma-erase-unzip-signed
    232/288 Test #232: lzma-erase-unzip-signed ..........***Failed    0.03 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting empty.txt
    Error -117 saving entries to disk result.zip
    
            Start 233: xz-zip-signed
    233/288 Test #233: xz-zip-signed ....................   Passed    0.29 sec
            Start 234: xz-list-signed
    234/288 Test #234: xz-list-signed ...................   Passed    0.01 sec
            Start 235: xz-unzip-signed
    235/288 Test #235: xz-unzip-signed ..................***Failed    0.02 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting test.c
    Error -117 saving entries to disk result.zip
    
            Start 236: xz-append-signed
    236/288 Test #236: xz-append-signed .................   Passed    0.02 sec
            Start 237: xz-append-unzip-signed
    237/288 Test #237: xz-append-unzip-signed ...........***Failed    0.03 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting test.c
    Error -117 saving entries to disk result.zip
    
            Start 238: xz-erase-signed
    238/288 Test #238: xz-erase-signed ..................   Passed    0.02 sec
            Start 239: xz-erase-unzip-signed
    239/288 Test #239: xz-erase-unzip-signed ............***Failed    0.02 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting empty.txt
    Error -117 saving entries to disk result.zip
    
            Start 240: zstd-zip-signed
    240/288 Test #240: zstd-zip-signed ..................   Passed    0.12 sec
            Start 241: zstd-list-signed
    241/288 Test #241: zstd-list-signed .................   Passed    0.00 sec
            Start 242: zstd-unzip-signed
    242/288 Test #242: zstd-unzip-signed ................***Failed    0.01 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting test.c
    Error -117 saving entries to disk result.zip
    
            Start 243: zstd-append-signed
    243/288 Test #243: zstd-append-signed ...............   Passed    0.02 sec
            Start 244: zstd-append-unzip-signed
    244/288 Test #244: zstd-append-unzip-signed .........***Failed    0.02 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting test.c
    Error -117 saving entries to disk result.zip
    
            Start 245: zstd-erase-signed
    245/288 Test #245: zstd-erase-signed ................   Passed    0.02 sec
            Start 246: zstd-erase-unzip-signed
    246/288 Test #246: zstd-erase-unzip-signed ..........***Failed    0.03 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting empty.txt
    Error -117 saving entries to disk result.zip
    
            Start 247: deflate-zip-secure
    247/288 Test #247: deflate-zip-secure ...............   Passed    0.05 sec
            Start 248: deflate-list-secure
    248/288 Test #248: deflate-list-secure ..............   Passed    0.01 sec
            Start 249: deflate-unzip-secure
    249/288 Test #249: deflate-unzip-secure .............***Failed    0.03 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -z -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting __cdcd__
    Error -117 saving entries to disk result.zip
    
            Start 250: deflate-append-secure
    250/288 Test #250: deflate-append-secure ............   Passed    0.01 sec
            Start 251: deflate-append-unzip-secure
    251/288 Test #251: deflate-append-unzip-secure ......***Failed    0.03 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -z -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting __cdcd__
    Error -117 saving entries to disk result.zip
    
            Start 252: deflate-erase-secure
    252/288 Test #252: deflate-erase-secure .............   Passed    0.01 sec
            Start 253: deflate-erase-unzip-secure
    253/288 Test #253: deflate-erase-unzip-secure .......***Failed    0.03 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -z -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting __cdcd__
    Error -117 saving entries to disk result.zip
    
            Start 254: bzip2-zip-secure
    254/288 Test #254: bzip2-zip-secure .................   Passed    0.10 sec
            Start 255: bzip2-list-secure
    255/288 Test #255: bzip2-list-secure ................   Passed    0.03 sec
            Start 256: bzip2-unzip-secure
    256/288 Test #256: bzip2-unzip-secure ...............***Failed    0.04 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -z -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting __cdcd__
    Error -117 saving entries to disk result.zip
    
            Start 257: bzip2-append-secure
    257/288 Test #257: bzip2-append-secure ..............   Passed    0.01 sec
            Start 258: bzip2-append-unzip-secure
    258/288 Test #258: bzip2-append-unzip-secure ........***Failed    0.02 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -z -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting __cdcd__
    Error -117 saving entries to disk result.zip
    
            Start 259: bzip2-erase-secure
    259/288 Test #259: bzip2-erase-secure ...............   Passed    0.03 sec
            Start 260: bzip2-erase-unzip-secure
    260/288 Test #260: bzip2-erase-unzip-secure .........***Failed    0.03 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -z -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting __cdcd__
    Error -117 saving entries to disk result.zip
    
            Start 261: lzma-zip-secure
    261/288 Test #261: lzma-zip-secure ..................   Passed    0.20 sec
            Start 262: lzma-list-secure
    262/288 Test #262: lzma-list-secure .................   Passed    0.02 sec
            Start 263: lzma-unzip-secure
    263/288 Test #263: lzma-unzip-secure ................***Failed    0.04 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -z -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting __cdcd__
    Error -117 saving entries to disk result.zip
    Error -105 closing archive for reading
    
            Start 264: lzma-append-secure
    264/288 Test #264: lzma-append-secure ...............   Passed    0.01 sec
            Start 265: lzma-append-unzip-secure
    265/288 Test #265: lzma-append-unzip-secure .........***Failed    0.03 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -z -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting __cdcd__
    Error -117 saving entries to disk result.zip
    Error -105 closing archive for reading
    
            Start 266: lzma-erase-secure
    266/288 Test #266: lzma-erase-secure ................   Passed    0.02 sec
            Start 267: lzma-erase-unzip-secure
    267/288 Test #267: lzma-erase-unzip-secure ..........***Failed    0.04 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -z -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting __cdcd__
    Error -117 saving entries to disk result.zip
    Error -105 closing archive for reading
    
            Start 268: xz-zip-secure
    268/288 Test #268: xz-zip-secure ....................   Passed    0.20 sec
            Start 269: xz-list-secure
    269/288 Test #269: xz-list-secure ...................   Passed    0.03 sec
            Start 270: xz-unzip-secure
    270/288 Test #270: xz-unzip-secure ..................***Failed    0.02 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -z -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting __cdcd__
    Error -117 saving entries to disk result.zip
    
            Start 271: xz-append-secure
    271/288 Test #271: xz-append-secure .................   Passed    0.01 sec
            Start 272: xz-append-unzip-secure
    272/288 Test #272: xz-append-unzip-secure ...........***Failed    0.02 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -z -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting __cdcd__
    Error -117 saving entries to disk result.zip
    
            Start 273: xz-erase-secure
    273/288 Test #273: xz-erase-secure ..................   Passed    0.01 sec
            Start 274: xz-erase-unzip-secure
    274/288 Test #274: xz-erase-unzip-secure ............***Failed    0.02 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -z -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting __cdcd__
    Error -117 saving entries to disk result.zip
    
            Start 275: zstd-zip-secure
    275/288 Test #275: zstd-zip-secure ..................   Passed    0.02 sec
            Start 276: zstd-list-secure
    276/288 Test #276: zstd-list-secure .................   Passed    0.01 sec
            Start 277: zstd-unzip-secure
    277/288 Test #277: zstd-unzip-secure ................***Failed    0.02 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -z -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting __cdcd__
    Error -117 saving entries to disk result.zip
    
            Start 278: zstd-append-secure
    278/288 Test #278: zstd-append-secure ...............   Passed    0.01 sec
            Start 279: zstd-append-unzip-secure
    279/288 Test #279: zstd-append-unzip-secure .........***Failed    0.03 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -z -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting __cdcd__
    Error -117 saving entries to disk result.zip
    
            Start 280: zstd-erase-secure
    280/288 Test #280: zstd-erase-secure ................   Passed    0.01 sec
            Start 281: zstd-erase-unzip-secure
    281/288 Test #281: zstd-erase-unzip-secure ..........***Failed    0.02 sec
    minizip-ng 3.0.2 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -x -o -z -h test.p12 -w test -d out result.zip
    Archive result.zip
    Extracting __cdcd__
    Error -117 saving entries to disk result.zip
    
            Start 282: unzip-tiny
    282/288 Test #282: unzip-tiny .......................   Passed    0.00 sec
            Start 283: unzip-bzip2
    283/288 Test #283: unzip-bzip2 ......................   Passed    0.03 sec
            Start 284: unzip-lzma
    284/288 Test #284: unzip-lzma .......................   Passed    0.01 sec
            Start 285: unzip-pkcrypt
    285/288 Test #285: unzip-pkcrypt ....................   Passed    0.00 sec
            Start 286: unzip-wzaes
    286/288 Test #286: unzip-wzaes ......................   Passed    0.02 sec
            Start 287: gz
    287/288 Test #287: gz ...............................   Passed    0.02 sec
            Start 288: ungz
    288/288 Test #288: ungz .............................   Passed    0.01 sec
    
    89% tests passed, 33 tests failed out of 288
    
    Total Test time (real) =  14.99 sec
    
    The following tests FAILED:
            207 - raw-unzip-signed (Failed)
            209 - raw-append-unzip-signed (Failed)
            211 - raw-erase-unzip-signed (Failed)
            214 - deflate-unzip-signed (Failed)
            216 - deflate-append-unzip-signed (Failed)
            218 - deflate-erase-unzip-signed (Failed)
            221 - bzip2-unzip-signed (Failed)
            223 - bzip2-append-unzip-signed (Failed)
            225 - bzip2-erase-unzip-signed (Failed)
            228 - lzma-unzip-signed (Failed)
            230 - lzma-append-unzip-signed (Failed)
            232 - lzma-erase-unzip-signed (Failed)
            235 - xz-unzip-signed (Failed)
            237 - xz-append-unzip-signed (Failed)
            239 - xz-erase-unzip-signed (Failed)
            242 - zstd-unzip-signed (Failed)
            244 - zstd-append-unzip-signed (Failed)
            246 - zstd-erase-unzip-signed (Failed)
            249 - deflate-unzip-secure (Failed)
            251 - deflate-append-unzip-secure (Failed)
            253 - deflate-erase-unzip-secure (Failed)
            256 - bzip2-unzip-secure (Failed)
            258 - bzip2-append-unzip-secure (Failed)
            260 - bzip2-erase-unzip-secure (Failed)
            263 - lzma-unzip-secure (Failed)
            265 - lzma-append-unzip-secure (Failed)
            267 - lzma-erase-unzip-secure (Failed)
            270 - xz-unzip-secure (Failed)
            272 - xz-append-unzip-secure (Failed)
            274 - xz-erase-unzip-secure (Failed)
            277 - zstd-unzip-secure (Failed)
            279 - zstd-append-unzip-secure (Failed)
            281 - zstd-erase-unzip-secure (Failed)
    Errors while running CTest
    
    opened by kloczek 14
  • minizip adds a Hash field by default

    minizip adds a Hash field by default

    Create a zip file

    $ ./minizip -o test.zip /tmp/lorem.txt 
    minizip-ng 3.0.8 - https://github.com/zlib-ng/minizip-ng
    ---------------------------------------------------
    -o test.zip /tmp/lorem.txt 
    Archive test.zip
    Adding lorem.txt
    

    The central header contains a minizip hash (0x1a51) extra field. Is this default behaviour?

    0145 0004 50 4B 01 02 CENTRAL HEADER #1     02014B50
    0149 0001 3F          Created Zip Spec      3F '6.3'
    014A 0001 03          Created OS            03 'Unix'
    014B 0001 14          Extract Zip Spec      14 '2.0'
    014C 0001 00          Extract OS            00 'MS-DOS'
    014D 0002 08 08       General Purpose Flag  0808
                          [Bits 1-2]            0 'Normal Compression'
                          [Bit  3]              1 'Streamed'
                          [Bit 11]              1 'Language Encoding'
    014F 0002 08 00       Compression Method    0008 'Deflated'
    0151 0004 A5 B2 21 56 Last Mod Time         5621B2A5 'Sun Jan  1 22:21:10 2023'
    0155 0004 FF E7 0E F9 CRC                   F90EE7FF
    0159 0004 0E 01 00 00 Compressed Length     0000010E
    015D 0004 BE 01 00 00 Uncompressed Length   000001BE
    0161 0002 09 00       Filename Length       0009
    0163 0002 28 00       Extra Length          0028
    0165 0002 00 00       Comment Length        0000
    0167 0002 00 00       Disk Start            0000
    0169 0002 00 00       Int File Attributes   0000
                          [Bit 0]               0 'Binary Data'
    016B 0004 80 00 F8 81 Ext File Attributes   81F80080
    016F 0004 00 00 00 00 Local Header Offset   00000000
    0173 0009 6C 6F 72 65 Filename              'lorem.txt'
              6D 2E 74 78
              74
    017C 0002 51 1A       Extra ID #0001        1A51 'Minizip Hash'
    017E 0002 24 00         Length              0024
    0180 0002 17 00         Algorithm           'SHA256'
    0182 0002 20 00         Digest Size         0020
    0184 0020 90 F2 D6 A2   Digest              90 F2 D6 A2 48 21 C0 71 8E 63 2F 7B
              48 21 C0 71                       FA 70 90 75 E7 E9 CC E0 09 DB 4A 14
              8E 63 2F 7B                       1C 04 07 1B 13 CA FE AC
              FA 70 90 75
              E7 E9 CC E0
              09 DB 4A 14
              1C 04 07 1B
              13 CA FE AC
    
    opened by pmqs 0
  • CMake: fix ALIAS target name to be consistent with imported target

    CMake: fix ALIAS target name to be consistent with imported target

    Revert https://github.com/zlib-ng/minizip-ng/commit/9e9d8203e57f51542a1e46ee1ea2903029c88229, it's not consistent with imported target, which is MINIZIP::minizip if MZ_COMPAT is ON else MINIZIP::minizip-ng.

    I don't know if you want to set ALIAS target AND imported target as MINIZIP::minizip unconditionally (MINIZIP::minizip-ng is probably a better choice), but if that's the case, you should use EXPORT_NAME property (indeed as per current CMakeLists, logical target name depends on PROJECT_NAME which depends on MZ_COMPAT, and by default export target name is logical target name) and also avoid to give a conditional name to CMake config file.

    opened by SpaceIm 1
  • CMake: call `project()` as soon as possible after `cmake_minimum_required()`

    CMake: call `project()` as soon as possible after `cmake_minimum_required()`

    Currently, project() is called far too late in CMakeLists, almost at the end of the file. It can lead to many issues when users rely on toochain files (in conan it leads to several issues related to CMake policies). CMake advices to call project() ASAP after cmake_minimum_required().

    opened by SpaceIm 2
  • Decompression cutting file with NUL characters before the end of file

    Decompression cutting file with NUL characters before the end of file

    I have been using minizip to compress and decompress different types of files and they all work fine except whenever there is a NUL character in the content of the file. The error comes when using the function: mz_zip_reader_entry_save_buffer(handle, buff, len); When using this function the length of the file is read correctly but the buffer only contains the first couple of characters and its cut off by the first NUL character in the file and the rest of the file is ignored.

    image

    I am trying to decompress the file in memory. That is why I am trying to save it on a buffer. I have decompressed it onto a file using the function: mz_zip_reader_save_all(reader, destination.c_str()); Using this other function I am able to get the whole contents of the file even past the NUL characters.

    Is there any way to use the mz_zip_reader_entry_save_buffer() or any similar function to decompress a file into a buffer including the NUL characters?

    can't reproduce 
    opened by ru842 10
  • Symlinks Don't Extract on MacOS

    Symlinks Don't Extract on MacOS

    When unzipping an archive that contains symlinks and was created by a separate tool on MacOS, the mz_zip_reader_save_all function extracts the symlinks as files containing the path to the target rather than as symlinks to the target.

    To reproduce this behavior, you can follow these steps:

    1. Create a directory and add a text file to it, say "test.txt"
    2. In that directory, create a symlink to the text file via ln -s test.txt link_to_test
    3. Compress the directory using zip --symlinks -r dir_name dir_name.zip
    4. Use mz_zip_reader to extract the zip file. The resulting directory will not contain symbolic links. However, other tools, such as zip or Archive Utility will extract the symlinks correctly.

    Here's a minimal snippet for step 4:

    void * hdl;
    mz_zip_reader_create(&hdl);
    mz_zip_reader_open_file(hdl, "/path/to/dir_name.zip");
    mz_zip_reader_save_all(hdl, "/path/to/extracted_dir_name");
    

    This behavior was observed in version 3.0.5 on MacOS 12.3. Am I missing a flag on the reader by any chance? It does seem to work properly if the archive is created by an mz_zip_writer with the store_links flag set.

    fixed symbolic links 
    opened by c42v 1
  • idea : miniunz strip-components option

    idea : miniunz strip-components option

    gnu tar extraction has a useful option : --strip-components

    zipfile and targz file from github, by example, have a first leverl with package/version name.

    unzip, miniunz from my "classic legacy" minizip and minizip-ng don't have this useful options.

    feature request 
    opened by gvollant 0
Releases(3.0.8)
Owner
zlib-ng
zlib-ng
A C++ static library offering a clean and simple interface to the 7-zip DLLs.

bit7z A C++ static library offering a clean and simple interface to the 7-zip DLLs Supported Features • Getting Started • Download • Requirements • Bu

Riccardo 326 Jan 1, 2023
miniz: Single C source file zlib-replacement library, originally from code.google.com/p/miniz

Miniz Miniz is a lossless, high performance data compression library in a single source file that implements the zlib (RFC 1950) and Deflate (RFC 1951

Rich Geldreich 1.6k Jan 5, 2023
An embedded-friendly library for decompressing files from zip archives

An 'embedded-friendly' (aka Arduino) library to extract and decompress files from ZIP archives

Larry Bank 33 Dec 30, 2022
zlib replacement with optimizations for "next generation" systems.

zlib-ng zlib data compression library for the next generation systems Maintained by Hans Kristian Rosbach aka Dead2 (zlib-ng àt circlestorm dót org) C

zlib-ng 13 Dec 29, 2022
zlib replacement with optimizations for "next generation" systems.

zlib-ng zlib data compression library for the next generation systems Maintained by Hans Kristian Rosbach aka Dead2 (zlib-ng àt circlestorm dót org) C

zlib-ng 1.2k Dec 31, 2022
PNGFuse is a cross-platform application that allows you to embed and extract full zlib-compressed files within PNG metadata.

PNGFuse PNGFuse is a portable, lightweight, and cross-platform application written in C++ that allows you to embed and extract full zlib-compressed fi

Eta 3 Dec 29, 2021
A C++ header-only ZLib wrapper

A C++ ZLib wrapper This C++ header-only library enables the use of C++ standard iostreams to access ZLib-compressed streams. For input access (decompr

Matei David 242 Jan 5, 2023
gzip (GNU zip) is a compression utility designed to be a replacement for 'compress'

gzip (GNU zip) is a compression utility designed to be a replacement for 'compress'

ACM at UCLA 8 Nov 6, 2022
Runtime Archiver plugin for Unreal Engine. Cross-platform archiving and unarchiving directories and files. Currently supports ZIP format.

Runtime Archiver Archiving and dearchiving directories and files Explore the docs » Marketplace . Releases . Support Chat Features Fast speed Easy arc

Georgy Treshchev 26 Dec 15, 2022
Multi-format archive and compression library

Welcome to libarchive! The libarchive project develops a portable, efficient C library that can read and write streaming archives in a variety of form

null 1.9k Jan 8, 2023
LZFSE compression library and command line tool

LZFSE This is a reference C implementation of the LZFSE compressor introduced in the Compression library with OS X 10.11 and iOS 9. LZFSE is a Lempel-

null 1.7k Jan 4, 2023
Small strings compression library

SMAZ - compression for very small strings ----------------------------------------- Smaz is a simple compression library suitable for compressing ver

Salvatore Sanfilippo 1k Dec 28, 2022
A massively spiffy yet delicately unobtrusive compression library.

ZLIB DATA COMPRESSION LIBRARY zlib 1.2.11 is a general purpose data compression library. All the code is thread safe. The data format used by the z

Mark Adler 4.1k Dec 30, 2022
PhysFS++ is a C++ wrapper for the PhysicsFS library.

PhysFS++ PhysFS++ is a C++ wrapper for the excellent PhysicsFS library by Ryan C. Gordon and others. It is licensed under the zlib license - same as P

Kevin Howell 80 Oct 25, 2022
Gzip header-only C++ library

Gzip C++ lib for gzip compression and decompression. Extracted from mapnik-vector-tile for light-weight modularity. Usage // Include the specific gzip

Mapbox 243 Jan 1, 2023
Simple data packing library (written in C99)

Features Compressed file pack creation Runtime file pack reading Supported operating systems Ubuntu MacOS Windows Build requirements C99 compiler CMak

Nikita Fediuchin 3 Feb 25, 2022
A simple C library implementing the compression algorithm for isosceles triangles.

orvaenting Summary A simple C library implementing the compression algorithm for isosceles triangles. License This project's license is GPL 2 (as of J

Kevin Matthes 0 Apr 1, 2022
Advanced DXTc texture compression and transcoding library

crunch/crnlib v1.04 - Advanced DXTn texture compression library Public Domain - Please see license.txt. Portions of this software make use of public d

null 775 Dec 26, 2022
Fork of the popular zip manipulation library found in the zlib distribution.

minizip-ng 3.0.1 minizip-ng is a zip manipulation library written in C that is supported on Windows, macOS, and Linux. Developed and maintained by Nat

zlib-ng 971 Jan 4, 2023
Przemyslaw Skibinski 579 Jan 8, 2023