]> git.ipfire.org Git - thirdparty/zlib-ng.git/log
thirdparty/zlib-ng.git
5 years agoFixed arithmetic overflow when emitting deflate header bits.
Nathan Moinvaziri [Mon, 1 Jun 2020 04:46:03 +0000 (21:46 -0700)] 
Fixed arithmetic overflow when emitting deflate header bits.

    Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value.
      Results might not be an expected value.

5 years agoClean up windows defines, use _WIN32
Pavel P [Mon, 20 Apr 2020 10:19:30 +0000 (16:19 +0600)] 
Clean up windows defines, use _WIN32

 + replaced WIN32 with _WIN32
 + removed unused WINDOWS/_WINDOWS defines
 + no need to test for __MINGW__, as _WIN32 is also defined

5 years agoFix specification of warnings for intel compilers
Gabriel A. Devenyi [Fri, 29 May 2020 17:11:32 +0000 (13:11 -0400)] 
Fix specification of warnings for intel compilers

5 years agoMake deflate_quick algorithm available to all architectures. #205
Nathan Moinvaziri [Sun, 24 May 2020 15:42:38 +0000 (08:42 -0700)] 
Make deflate_quick algorithm available to all architectures. #205

5 years agoAdded GitHub Actions workflow to test against libpng.
Nathan Moinvaziri [Sat, 6 Jun 2020 16:44:58 +0000 (09:44 -0700)] 
Added GitHub Actions workflow to test against libpng.

5 years agoAdd a workflow for clang and gcc static analysis
Gabriel A. Devenyi [Mon, 25 May 2020 03:53:57 +0000 (23:53 -0400)] 
Add a workflow for clang and gcc static analysis

5 years agoRun compression level tests without open mode.
Nathan Moinvaziri [Fri, 29 May 2020 20:58:11 +0000 (13:58 -0700)] 
Run compression level tests without open mode.
Remove duplicate minigzip cmake tests.

5 years agoAdded help message to switchlevels.
Nathan Moinvaziri [Thu, 4 Jun 2020 17:58:37 +0000 (10:58 -0700)] 
Added help message to switchlevels.

5 years agoAdded help message to minigzip.
Nathan Moinvaziri [Thu, 4 Jun 2020 17:58:26 +0000 (10:58 -0700)] 
Added help message to minigzip.

5 years agoAdd optimized slide_hash for POWER processors
Matheus Castanho [Wed, 27 May 2020 13:06:09 +0000 (10:06 -0300)] 
Add optimized slide_hash for POWER processors

This commit introduces a new slide_hash function that
uses VSX vector instructions to slide 8 hash elements at a time,
instead of just one as the standard code does.

5 years agoPreparation for POWER optimizations
Matheus Castanho [Mon, 25 May 2020 21:10:29 +0000 (18:10 -0300)] 
Preparation for POWER optimizations

Add the scaffolding for future optimizations for POWER processors. Now
the build is capable of correctly detecting multiple processor
sub-architectures (ppc, ppc64 and ppc64le) and also if features
needed for the optimizations are available during build and runtime.

With these changes, adding a new optimized function for POWER should be
as simple as adding a new file under arch/power/, appending build
instructions to the build files and editing functable.c accordingly.

The UNALIGNED_OK flag is now also added by default for powerpc64le
targets.

5 years agoUse char* instead of caddr_t.
Mika Lindqvist [Thu, 4 Jun 2020 12:45:05 +0000 (15:45 +0300)] 
Use char* instead of caddr_t.

5 years agoFixed multi-line assembly macro in UPDATE_HASH for MSVC when using ClangCl.
Nathan Moinvaziri [Sun, 31 May 2020 16:51:28 +0000 (09:51 -0700)] 
Fixed multi-line assembly macro in UPDATE_HASH for MSVC when using ClangCl.
https://docs.microsoft.com/en-us/cpp/assembler/inline/defining-asm-blocks-as-c-macros

    insert_string_tpl.h(44,5): error : cannot use more than one symbol in memory operand
    insert_string_sse.c(28,13): message : expanded from macro 'UPDATE_HASH'

5 years agoRemove toofar checks now that we always hash 4 bytes, and the minimum
Hans Kristian Rosbach [Mon, 25 May 2020 15:17:45 +0000 (17:17 +0200)] 
Remove toofar checks now that we always hash 4 bytes, and the minimum
match length is thus also 4. (MIN_MATCH is still 3 for other reasons)

5 years agoRemove IPos typedef which also helps to reduce casting warnings.
Nathan Moinvaziri [Wed, 27 May 2020 00:04:59 +0000 (17:04 -0700)] 
Remove IPos typedef which also helps to reduce casting warnings.

5 years agoAdd friendly name to checkout action in GitHub Actions workflows.
Nathan Moinvaziri [Fri, 29 May 2020 18:20:08 +0000 (11:20 -0700)] 
Add friendly name to checkout action in GitHub Actions workflows.

5 years agoRemove verbose out from pip and choco during cmake workflow.
Nathan Moinvaziri [Fri, 29 May 2020 16:42:34 +0000 (09:42 -0700)] 
Remove verbose out from pip and choco during cmake workflow.

5 years agoFixed casting warnings in trees.c with count being int and freq being uint16_t.
Nathan Moinvaziri [Wed, 27 May 2020 00:21:13 +0000 (17:21 -0700)] 
Fixed casting warnings in trees.c with count being int and freq being uint16_t.
Changed to use uint16_t for all counting variable types.

  trees.c(431,45): warning C4244: '+=': conversion from 'int' to 'uint16_t', possible loss of data
  trees.c(431,45): warning C4244: '+=': conversion from 'int' to 'uint16_t', possible loss of data

5 years agoFixed casting warnings in calls to put_short and put_short_msb.
Nathan Moinvaziri [Wed, 27 May 2020 00:19:17 +0000 (17:19 -0700)] 
Fixed casting warnings in calls to put_short and put_short_msb.

  deflate.c(845,32): warning C4244: 'function': conversion from 'unsigned int' to 'uint16_t', possible loss of data
  deflate.c(894,50): warning C4244: 'function': conversion from 'unsigned int' to 'uint16_t', possible loss of data

5 years agoReuse wsize variable in slide_hash_avx2.
Nathan Moinvaziri [Wed, 27 May 2020 00:14:37 +0000 (17:14 -0700)] 
Reuse wsize variable in slide_hash_avx2.

5 years agoFixed casting warnings about copying len into pending buf, replaced with calls to...
Nathan Moinvaziri [Wed, 27 May 2020 00:10:17 +0000 (17:10 -0700)] 
Fixed casting warnings about copying len into pending buf, replaced with calls to put_short.

  deflate.c(1413,45): warning C4244: '=': conversion from 'unsigned int' to 'unsigned char', possible loss of data
  deflate.c(1414,50): warning C4244: '=': conversion from 'unsigned int' to 'unsigned char', possible loss of data
  deflate.c(1415,46): warning C4244: '=': conversion from 'unsigned int' to 'unsigned char', possible loss of data
  deflate.c(1416,51): warning C4244: '=': conversion from 'unsigned int' to 'unsigned char', possible loss of data

5 years agoFixed dist casting warnings in zng_tr_tally_dist.
Nathan Moinvaziri [Mon, 25 May 2020 22:26:37 +0000 (15:26 -0700)] 
Fixed dist casting warnings in zng_tr_tally_dist.

    deflate_p.h(42,37): warning C4244: '=': conversion from 'unsigned int' to 'unsigned char', possible loss of data
    deflate_p.h(43,42): warning C4244: '=': conversion from 'unsigned int' to 'unsigned char', possible loss of data

5 years agoRename github actions fuzz workflow to be consistent with the rest of the workflows.
Nathan Moinvaziri [Mon, 25 May 2020 04:32:30 +0000 (21:32 -0700)] 
Rename github actions fuzz workflow to be consistent with the rest of the workflows.

5 years agoFixed warning about bi_flush being defined but not used. #592
Nathan Moinvaziri [Mon, 25 May 2020 04:30:52 +0000 (21:30 -0700)] 
Fixed warning about bi_flush being defined but not used. #592

    trees_emit.h:75:13: warning: ‘bi_flush’ defined but not used

5 years agoSeparate makefile object list on each line for less merge conflicts in the future.
Nathan Moinvaziri [Sun, 24 May 2020 16:16:42 +0000 (09:16 -0700)] 
Separate makefile object list on each line for less merge conflicts in the future.

5 years agoFixed intrinsics spelling typo in CMake comments.
Nathan Moinvaziri [Sat, 23 May 2020 14:42:05 +0000 (07:42 -0700)] 
Fixed intrinsics spelling typo in CMake comments.

5 years agoFixed signedness warning in calls to __cpuid and cpuidex.
Nathan Moinvaziri [Sat, 23 May 2020 14:32:41 +0000 (07:32 -0700)] 
Fixed signedness warning in calls to __cpuid and cpuidex.

x86.c(29,22): warning C4057: 'function': 'int *' differs in indirection to slightly different base types from 'unsigned int [4]'
x86.c(43,24): warning C4057: 'function': 'int *' differs in indirection to slightly different base types from 'unsigned int [4]'

5 years agoRemove duplicate zlib license from source comments.
Nathan Moinvaziri [Wed, 20 May 2020 17:35:50 +0000 (10:35 -0700)] 
Remove duplicate zlib license from source comments.

5 years agoFixed unused variable compiler warning in checksum_fuzzer.
Nathan Moinvaziri [Tue, 19 May 2020 22:35:33 +0000 (15:35 -0700)] 
Fixed unused variable compiler warning in checksum_fuzzer.

checksum_fuzzer.c:23:14: warning: variable ‘combine1’ set but not used [-Wunused-but-set-variable]
     uint32_t combine1, combine2;

5 years agoMove contents tables to INDEX.md.
Nathan Moinvaziri [Tue, 19 May 2020 21:56:00 +0000 (14:56 -0700)] 
Move contents tables to INDEX.md.

5 years agoAdded GitHub Actions CI NMake badge to README.md.
Nathan Moinvaziri [Mon, 18 May 2020 15:13:34 +0000 (08:13 -0700)] 
Added GitHub Actions CI NMake badge to README.md.

5 years agoFixed const correctness when assigning stream next_in.
Nathan Moinvaziri [Mon, 18 May 2020 15:08:34 +0000 (08:08 -0700)] 
Fixed const correctness when assigning stream next_in.

5 years agoFixed no tab formatting in CVE-2003-0107.c.
Nathan Moinvaziri [Tue, 12 May 2020 14:42:49 +0000 (10:42 -0400)] 
Fixed no tab formatting in CVE-2003-0107.c.

5 years agoFixed casting warning from bi_reverse in maketrees.
Nathan Moinvaziri [Tue, 12 May 2020 13:27:03 +0000 (09:27 -0400)] 
Fixed casting warning from bi_reverse in maketrees.

maketrees.c(93,58): warning C4244: '=': conversion from 'unsigned int' to 'uint16_
t', possible loss of data

5 years agoGroup check_include_file together in CMakeLists.txt.
Nathan Moinvaziri [Tue, 12 May 2020 13:24:01 +0000 (09:24 -0400)] 
Group check_include_file together in CMakeLists.txt.

5 years agoFixed whitespace and tabbing in cmake files.
Nathan Moinvaziri [Tue, 12 May 2020 13:21:38 +0000 (09:21 -0400)] 
Fixed whitespace and tabbing in cmake files.

5 years agoChange quick_insert_string memory access to be similar to insert_string.
Nathan Moinvaziri [Sun, 10 May 2020 03:41:18 +0000 (23:41 -0400)] 
Change quick_insert_string memory access to be similar to insert_string.

5 years agoRemove extra lines between functions and their comments.
Nathan Moinvaziri [Sun, 10 May 2020 03:37:31 +0000 (23:37 -0400)] 
Remove extra lines between functions and their comments.

5 years agoFixed casting warnings and non-standard initializer warning in example project.
Nathan Moinvaziri [Sun, 10 May 2020 03:51:50 +0000 (23:51 -0400)] 
Fixed casting warnings and non-standard initializer warning in example project.

5 years agoFixed target not being linked properly to zlib system libraries.
Nathan Moinvaziri [Wed, 27 May 2020 16:21:16 +0000 (09:21 -0700)] 
Fixed target not being linked properly to zlib system libraries.

5 years agoFixed wrong cmake variable used in zlib dual link ci instance.
Nathan Moinvaziri [Wed, 27 May 2020 16:04:19 +0000 (09:04 -0700)] 
Fixed wrong cmake variable used in zlib dual link ci instance.

5 years agoAdded ability to set window bits for switchlevels.
Nathan Moinvaziri [Fri, 29 May 2020 16:15:20 +0000 (09:15 -0700)] 
Added ability to set window bits for switchlevels.
Initialize deflateInit with first level which is necessary for deflate_quick testing where initial window size is set to 8k.

5 years agoUse a constant to load adler-32 initial hash value.
Nathan Moinvaziri [Thu, 28 May 2020 18:15:59 +0000 (11:15 -0700)] 
Use a constant to load adler-32 initial hash value.

5 years agoCache chocolatey packages on Windows for cmake GitHub Actions workflow.
Nathan Moinvaziri [Fri, 29 May 2020 18:16:43 +0000 (11:16 -0700)] 
Cache chocolatey packages on Windows for cmake GitHub Actions workflow.

5 years agoFixed missing window_padding added to window alloc size in deflateCopy.
Nathan Moinvaziri [Mon, 25 May 2020 22:00:54 +0000 (15:00 -0700)] 
Fixed missing window_padding added to window alloc size in deflateCopy.

5 years agoFixed zero length stored block left open when using Z_SYNC_FLUSH. Moved toggling...
Nathan Moinvaziri [Sat, 16 May 2020 22:37:27 +0000 (18:37 -0400)] 
Fixed zero length stored block left open when using Z_SYNC_FLUSH. Moved toggling of block_open back to deflate_quick since zero length stored block doesn't emit end of block code.

5 years agoCheck distance in deflate_quick using MAX_DIST(s).
Nathan Moinvaziri [Thu, 14 May 2020 04:03:38 +0000 (00:03 -0400)] 
Check distance in deflate_quick using MAX_DIST(s).
Added check_match to validate matches when using deflate_quick in debug mode.

5 years agoFixed formatting for readability in switchlevels.
Nathan Moinvaziri [Fri, 15 May 2020 17:25:48 +0000 (13:25 -0400)] 
Fixed formatting for readability in switchlevels.

5 years agoSet binary mode for stdin and stdout in switchlevels.
Nathan Moinvaziri [Fri, 15 May 2020 17:22:49 +0000 (13:22 -0400)] 
Set binary mode for stdin and stdout in switchlevels.

5 years agoRename match_p.h to match_tpl.h since it has been converted to a template header...
Nathan Moinvaziri [Sun, 24 May 2020 17:01:05 +0000 (10:01 -0700)] 
Rename match_p.h to match_tpl.h since it has been converted to a template header file.

5 years agoAdded features list to README.md.
Nathan Moinvaziri [Tue, 19 May 2020 15:40:43 +0000 (08:40 -0700)] 
Added features list to README.md.

5 years agoRemove support for DYNAMIC_CRC_TABLE which was broken.
Nathan Moinvaziri [Thu, 7 May 2020 14:36:32 +0000 (07:36 -0700)] 
Remove support for DYNAMIC_CRC_TABLE which was broken.

5 years agoRename archdetect files to detect-arch to match detect-sanitizer.
Nathan Moinvaziri [Tue, 12 May 2020 02:05:24 +0000 (22:05 -0400)] 
Rename archdetect files to detect-arch to match detect-sanitizer.

5 years agoMove compiler sanitizer checking to separate cmake file.
Nathan Moinvaziri [Mon, 11 May 2020 23:25:01 +0000 (19:25 -0400)] 
Move compiler sanitizer checking to separate cmake file.

5 years agoFixed compiler warning about inline already being defined when including zutil.h...
Nathan Moinvaziri [Sat, 23 May 2020 03:19:02 +0000 (20:19 -0700)] 
Fixed compiler warning about inline already being defined when including zutil.h in C++ app.

5 years agoSimplify generic hash function using knuth's multiplicative hash.
Nathan Moinvaziri [Fri, 1 May 2020 04:05:05 +0000 (21:05 -0700)] 
Simplify generic hash function using knuth's multiplicative hash.

5 years agoUse 64-bit bit buffer when emitting codes.
Nathan Moinvaziri [Wed, 6 May 2020 23:55:05 +0000 (16:55 -0700)] 
Use 64-bit bit buffer when emitting codes.

5 years agoUnroll more in compare258_c for performance improvement.
Nathan Moinvaziri [Sat, 23 May 2020 03:06:21 +0000 (20:06 -0700)] 
Unroll more in compare258_c for performance improvement.
Unify length count variable across all compare256 variants.
Early return without break for possible performance improvements.

5 years agoRemove additional byte comparison check in compare258 SSE4 and AVX2 functions.
Nathan Moinvaziri [Thu, 21 May 2020 17:56:54 +0000 (10:56 -0700)] 
Remove additional byte comparison check in compare258 SSE4 and AVX2 functions.

5 years agoSplit compare258 into compare256 for longest_match and compare258 for deflate_quick.
Nathan Moinvaziri [Sat, 9 May 2020 04:19:43 +0000 (00:19 -0400)] 
Split compare258 into compare256 for longest_match and compare258 for deflate_quick.

5 years agoConverted compare258 to static and convert longest_match to template.
Nathan Moinvaziri [Sat, 9 May 2020 01:57:07 +0000 (20:57 -0500)] 
Converted compare258 to static and convert longest_match to template.

5 years agoAdded support for AVX2 intrinsics to compare258.
Nathan Moinvaziri [Thu, 7 May 2020 14:54:37 +0000 (07:54 -0700)] 
Added support for AVX2 intrinsics to compare258.

5 years agoCombine longest_match implementations and use compare258 functable stub.
Nathan Moinvaziri [Wed, 18 Mar 2020 03:58:31 +0000 (20:58 -0700)] 
Combine longest_match implementations and use compare258 functable stub.

5 years agoChanged deflate_quick to use compare258 functable stub.
Nathan Moinvaziri [Thu, 7 May 2020 15:25:06 +0000 (08:25 -0700)] 
Changed deflate_quick to use compare258 functable stub.

5 years agoRemoved fallback for __builtin_ctzl since it is no longer used.
Nathan Moinvaziri [Thu, 7 May 2020 15:13:14 +0000 (08:13 -0700)] 
Removed fallback for __builtin_ctzl since it is no longer used.

5 years agoModified longest_match variants to use associated compare258 functions.
Nathan Moinvaziri [Thu, 7 May 2020 15:09:03 +0000 (08:09 -0700)] 
Modified longest_match variants to use associated compare258 functions.

5 years agoModified deflate_quick to use compare258_unaligned_sse4.
Nathan Moinvaziri [Thu, 7 May 2020 15:23:00 +0000 (08:23 -0700)] 
Modified deflate_quick to use compare258_unaligned_sse4.

5 years agoAbstracted out architecture specific implementations of 258 byte comparison to compar...
Nathan Moinvaziri [Tue, 25 Feb 2020 22:36:56 +0000 (14:36 -0800)] 
Abstracted out architecture specific implementations of 258 byte comparison to compare258.

5 years agoRemove unused cmake-prefix variable.
Nathan Moinvaziri [Sat, 2 May 2020 18:39:58 +0000 (11:39 -0700)] 
Remove unused cmake-prefix variable.

5 years agoAlways use the GHA latest images and remove OS version number from CI names.
Nathan Moinvaziri [Sat, 2 May 2020 18:39:27 +0000 (11:39 -0700)] 
Always use the GHA latest images and remove OS version number from CI names.

5 years agoChange two NOT_TWEAK_COMPILER to check for MIN-MATCH!=3 instead.
Hans Kristian Rosbach [Tue, 5 May 2020 10:05:46 +0000 (12:05 +0200)] 
Change two NOT_TWEAK_COMPILER to check for MIN-MATCH!=3 instead.

5 years agoRemove several NOT_TWEAK_COMPILER checks and their legacy code.
Hans Kristian Rosbach [Tue, 5 May 2020 09:19:37 +0000 (11:19 +0200)] 
Remove several NOT_TWEAK_COMPILER checks and their legacy code.

5 years agoAdded additional gzio tests for improved code coverage.
Nathan Moinvaziri [Mon, 4 May 2020 20:27:13 +0000 (13:27 -0700)] 
Added additional gzio tests for improved code coverage.

5 years agoAdded CI test for dual linking zlib-ng with system zlib.
Nathan Moinvaziri [Sat, 2 May 2020 03:01:43 +0000 (20:01 -0700)] 
Added CI test for dual linking zlib-ng with system zlib.

5 years agoSplit tree emitting code into its own source header to be included by both trees...
Nathan Moinvaziri [Sat, 2 May 2020 04:04:21 +0000 (21:04 -0700)] 
Split tree emitting code into its own source header to be included by both trees.c and deflate_quick.c so that their functions can be statically linked for performance reasons.

5 years agoUnify emitting of literals and match dist/lengths. Removed deflate quick static table...
Nathan Moinvaziri [Thu, 5 Mar 2020 06:04:02 +0000 (22:04 -0800)] 
Unify emitting of literals and match dist/lengths. Removed deflate quick static tables, allowing for 32k window.

5 years agoFix ARM64 build with Visual C++.
Mika Lindqvist [Sat, 25 Apr 2020 09:38:41 +0000 (12:38 +0300)] 
Fix ARM64 build with Visual C++.

5 years agoAdded CMake and CI configuration for INFLATE_STRICT and INFLATE_ALLOW_INVALID_DISTANC...
Nathan Moinvaziri [Wed, 18 Mar 2020 02:14:59 +0000 (22:14 -0400)] 
Added CMake and CI configuration for INFLATE_STRICT and INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR.

5 years agoStandardize fill_window implementations and abstract out slide_hash_neon for ARM.
Nathan Moinvaziri [Mon, 10 Feb 2020 03:59:01 +0000 (19:59 -0800)] 
Standardize fill_window implementations and abstract out slide_hash_neon for ARM.

5 years agoAllow deflate_quick() to continue processing input data after flushing pending buffer.
Nathan Moinvaziri [Tue, 25 Feb 2020 13:38:33 +0000 (05:38 -0800)] 
Allow deflate_quick() to continue processing input data after flushing pending buffer.

5 years agoAdded unit test for incomplete read when calling deflate_quick().
Nathan Moinvaziri [Tue, 25 Feb 2020 13:29:43 +0000 (05:29 -0800)] 
Added unit test for incomplete read when calling deflate_quick().

5 years agoAdded X86 AVX2, SSE2, SSE4, and PCLMULQDQ cmake options and CI configurations.
Nathan Moinvaziri [Thu, 30 Apr 2020 17:14:32 +0000 (10:14 -0700)] 
Added X86 AVX2, SSE2, SSE4, and PCLMULQDQ cmake options and CI configurations.

5 years agoReorder CMake BASEARCH variables alphabetically.
Nathan Moinvaziri [Thu, 30 Apr 2020 17:09:44 +0000 (10:09 -0700)] 
Reorder CMake BASEARCH variables alphabetically.

5 years agoRemoved TRIGGER_LEVEL byte masking from INSERT_STRING and UPDATE_HASH due to poor...
Nathan Moinvaziri [Tue, 21 Apr 2020 17:29:37 +0000 (10:29 -0700)] 
Removed TRIGGER_LEVEL byte masking from INSERT_STRING and UPDATE_HASH due to poor performance on levels 6 and 9 especially with optimized versions of UPDATE_HASH.

From commit d306c75d3bb36cba73aec9b3b3ca378e31d1799e:

.. we hash 4 bytes, instead of 3, for certain levels. This shortens the hash chains, and also improves the quality
of each hash entry.

5 years agoReplaced insert_string with quick_insert_string if length is 1.
Nathan Moinvaziri [Thu, 26 Mar 2020 14:05:00 +0000 (10:05 -0400)] 
Replaced insert_string with quick_insert_string if length is 1.

5 years agoUse quick_insert_string from functable in deflate_quick.
Nathan Moinvaziri [Wed, 18 Mar 2020 13:25:51 +0000 (09:25 -0400)] 
Use quick_insert_string from functable in deflate_quick.

5 years agoStandardize insert_string functionality across architectures. Added unaligned conditi...
Nathan Moinvaziri [Sat, 18 Jan 2020 03:04:20 +0000 (19:04 -0800)] 
Standardize insert_string functionality across architectures. Added unaligned conditionally compiled code for insert_string and quick_insert_string. Unify sse42 crc32 assembly between insert_string and quick_insert_string. Modified quick_insert_string to work across architectures.

5 years agoFixed library not being named correctly on Windows when using ZLIB_COMPAT. #533
Nathan Moinvaziri [Fri, 14 Feb 2020 00:10:07 +0000 (16:10 -0800)] 
Fixed library not being named correctly on Windows when using ZLIB_COMPAT. #533

5 years agoAdded cmake unit tests to verify gzip can decompress minigzip output and to verify...
Nathan Moinvaziri [Thu, 20 Feb 2020 02:19:53 +0000 (18:19 -0800)] 
Added cmake unit tests to verify gzip can decompress minigzip output and to verify minigzip can decompress gzip output.

5 years agoFixed segmentation fault in deflate_quick() when switching levels using deflateParam...
Nathan Moinvaziri [Tue, 25 Feb 2020 13:01:30 +0000 (05:01 -0800)] 
Fixed segmentation fault in deflate_quick() when switching levels using deflateParam. deflateInit would be initialized with a window size greater than 8K then deflateParams called to switch to level 1 without updating to w_size and the fault would occur because deflate_quick was not checking w_size bounds on dist when accessing quick_dist_codes.

5 years agoAdded unit test for segmentation fault with deflate_quick().
Nathan Moinvaziri [Tue, 25 Feb 2020 12:49:05 +0000 (04:49 -0800)] 
Added unit test for segmentation fault with deflate_quick().

5 years agoAdding CIFuzz
Leo Neat [Wed, 18 Mar 2020 17:21:14 +0000 (10:21 -0700)] 
Adding CIFuzz

5 years agoMake GZBUFSIZE and BUFLEN configurable.
Nathan Moinvaziri [Sun, 29 Mar 2020 19:16:34 +0000 (12:16 -0700)] 
Make GZBUFSIZE and BUFLEN configurable.

5 years agoFixed crc and simd march flags not be applied to CFLAGS in configure script for aarch64.
Nathan Moinvaziri [Sun, 22 Mar 2020 21:33:36 +0000 (17:33 -0400)] 
Fixed crc and simd march flags not be applied to CFLAGS in configure script for aarch64.

5 years agoFixed signed/unsigned mismatch in deflate_medium in MSVC.
Nathan Moinvaziri [Sun, 29 Mar 2020 19:03:58 +0000 (12:03 -0700)] 
Fixed signed/unsigned mismatch in deflate_medium in MSVC.

5 years agoAvoid unnecessary include of windows.h from zbuild.h
Pavel P [Tue, 24 Mar 2020 03:25:08 +0000 (09:25 +0600)] 
Avoid unnecessary include of windows.h from zbuild.h

zbuild.h is included from every .c file of zlib-ng, which forces every translation unit to parse all windows system includes only to be able to typedef ssize_t. This change removes windows.h include from zbuild.h and ssize_t is instead defined in-line with equivalent defines from windows.h

5 years agoAdd comment regarding long match distance bit costs.
Hans Kristian Rosbach [Fri, 1 Nov 2019 10:47:50 +0000 (11:47 +0100)] 
Add comment regarding long match distance bit costs.

5 years agoReduce size of 'match' struct to 8 bytes, this allows us to fit two
Hans Kristian Rosbach [Fri, 1 Nov 2019 10:42:59 +0000 (11:42 +0100)] 
Reduce size of 'match' struct to 8 bytes, this allows us to fit two
structs into a single cacheline, resulting in a measurable speedup
in deflate_medium.

5 years agoClean up usage of bflush make more similar for each deflate strategy.
Hans Kristian Rosbach [Fri, 1 Nov 2019 10:39:46 +0000 (11:39 +0100)] 
Clean up usage of bflush make more similar for each deflate strategy.

5 years agoRename CMake argument from NO to OFF for readability.
Nathan Moinvaziri [Wed, 12 Feb 2020 23:46:51 +0000 (15:46 -0800)] 
Rename CMake argument from NO to OFF for readability.