]>
git.ipfire.org Git - thirdparty/zlib-ng.git/log
Nathan Moinvaziri [Tue, 12 May 2020 14:42:49 +0000 (10:42 -0400)]
Fixed no tab formatting in CVE-2003-0107.c.
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
Nathan Moinvaziri [Tue, 12 May 2020 13:24:01 +0000 (09:24 -0400)]
Group check_include_file together in CMakeLists.txt.
Nathan Moinvaziri [Tue, 12 May 2020 13:21:38 +0000 (09:21 -0400)]
Fixed whitespace and tabbing in cmake files.
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.
Nathan Moinvaziri [Sun, 10 May 2020 03:37:31 +0000 (23:37 -0400)]
Remove extra lines between functions and their comments.
Nathan Moinvaziri [Sun, 10 May 2020 03:51:50 +0000 (23:51 -0400)]
Fixed casting warnings and non-standard initializer warning in example project.
Nathan Moinvaziri [Wed, 27 May 2020 16:21:16 +0000 (09:21 -0700)]
Fixed target not being linked properly to zlib system libraries.
Nathan Moinvaziri [Wed, 27 May 2020 16:04:19 +0000 (09:04 -0700)]
Fixed wrong cmake variable used in zlib dual link ci instance.
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.
Nathan Moinvaziri [Thu, 28 May 2020 18:15:59 +0000 (11:15 -0700)]
Use a constant to load adler-32 initial hash value.
Nathan Moinvaziri [Fri, 29 May 2020 18:16:43 +0000 (11:16 -0700)]
Cache chocolatey packages on Windows for cmake GitHub Actions workflow.
Nathan Moinvaziri [Mon, 25 May 2020 22:00:54 +0000 (15:00 -0700)]
Fixed missing window_padding added to window alloc size in deflateCopy.
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.
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.
Nathan Moinvaziri [Fri, 15 May 2020 17:25:48 +0000 (13:25 -0400)]
Fixed formatting for readability in switchlevels.
Nathan Moinvaziri [Fri, 15 May 2020 17:22:49 +0000 (13:22 -0400)]
Set binary mode for stdin and stdout in switchlevels.
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.
Nathan Moinvaziri [Tue, 19 May 2020 15:40:43 +0000 (08:40 -0700)]
Added features list to README.md.
Nathan Moinvaziri [Thu, 7 May 2020 14:36:32 +0000 (07:36 -0700)]
Remove support for DYNAMIC_CRC_TABLE which was broken.
Nathan Moinvaziri [Tue, 12 May 2020 02:05:24 +0000 (22:05 -0400)]
Rename archdetect files to detect-arch to match detect-sanitizer.
Nathan Moinvaziri [Mon, 11 May 2020 23:25:01 +0000 (19:25 -0400)]
Move compiler sanitizer checking to separate cmake file.
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.
Nathan Moinvaziri [Fri, 1 May 2020 04:05:05 +0000 (21:05 -0700)]
Simplify generic hash function using knuth's multiplicative hash.
Nathan Moinvaziri [Wed, 6 May 2020 23:55:05 +0000 (16:55 -0700)]
Use 64-bit bit buffer when emitting codes.
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.
Nathan Moinvaziri [Thu, 21 May 2020 17:56:54 +0000 (10:56 -0700)]
Remove additional byte comparison check in compare258 SSE4 and AVX2 functions.
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.
Nathan Moinvaziri [Sat, 9 May 2020 01:57:07 +0000 (20:57 -0500)]
Converted compare258 to static and convert longest_match to template.
Nathan Moinvaziri [Thu, 7 May 2020 14:54:37 +0000 (07:54 -0700)]
Added support for AVX2 intrinsics to compare258.
Nathan Moinvaziri [Wed, 18 Mar 2020 03:58:31 +0000 (20:58 -0700)]
Combine longest_match implementations and 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.
Nathan Moinvaziri [Thu, 7 May 2020 15:13:14 +0000 (08:13 -0700)]
Removed fallback for __builtin_ctzl since it is no longer used.
Nathan Moinvaziri [Thu, 7 May 2020 15:09:03 +0000 (08:09 -0700)]
Modified longest_match variants to use associated compare258 functions.
Nathan Moinvaziri [Thu, 7 May 2020 15:23:00 +0000 (08:23 -0700)]
Modified deflate_quick to use compare258_unaligned_sse4.
Nathan Moinvaziri [Tue, 25 Feb 2020 22:36:56 +0000 (14:36 -0800)]
Abstracted out architecture specific implementations of 258 byte comparison to compare258.
Nathan Moinvaziri [Sat, 2 May 2020 18:39:58 +0000 (11:39 -0700)]
Remove unused cmake-prefix variable.
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.
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.
Hans Kristian Rosbach [Tue, 5 May 2020 09:19:37 +0000 (11:19 +0200)]
Remove several NOT_TWEAK_COMPILER checks and their legacy code.
Nathan Moinvaziri [Mon, 4 May 2020 20:27:13 +0000 (13:27 -0700)]
Added additional gzio tests for improved code coverage.
Nathan Moinvaziri [Sat, 2 May 2020 03:01:43 +0000 (20:01 -0700)]
Added CI test for dual linking zlib-ng with system zlib.
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.
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.
Mika Lindqvist [Sat, 25 Apr 2020 09:38:41 +0000 (12:38 +0300)]
Fix ARM64 build with Visual C++.
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.
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.
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.
Nathan Moinvaziri [Tue, 25 Feb 2020 13:29:43 +0000 (05:29 -0800)]
Added unit test for incomplete read when calling deflate_quick().
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.
Nathan Moinvaziri [Thu, 30 Apr 2020 17:09:44 +0000 (10:09 -0700)]
Reorder CMake BASEARCH variables alphabetically.
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.
Nathan Moinvaziri [Thu, 26 Mar 2020 14:05:00 +0000 (10:05 -0400)]
Replaced insert_string with quick_insert_string if length is 1.
Nathan Moinvaziri [Wed, 18 Mar 2020 13:25:51 +0000 (09:25 -0400)]
Use quick_insert_string from functable in deflate_quick.
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.
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
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.
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.
Nathan Moinvaziri [Tue, 25 Feb 2020 12:49:05 +0000 (04:49 -0800)]
Added unit test for segmentation fault with deflate_quick().
Leo Neat [Wed, 18 Mar 2020 17:21:14 +0000 (10:21 -0700)]
Adding CIFuzz
Nathan Moinvaziri [Sun, 29 Mar 2020 19:16:34 +0000 (12:16 -0700)]
Make GZBUFSIZE and BUFLEN configurable.
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.
Nathan Moinvaziri [Sun, 29 Mar 2020 19:03:58 +0000 (12:03 -0700)]
Fixed signed/unsigned mismatch in deflate_medium in MSVC.
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
Hans Kristian Rosbach [Fri, 1 Nov 2019 10:47:50 +0000 (11:47 +0100)]
Add comment regarding long match distance bit costs.
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.
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.
Nathan Moinvaziri [Wed, 12 Feb 2020 23:46:51 +0000 (15:46 -0800)]
Rename CMake argument from NO to OFF for readability.
Nathan Moinvaziri [Wed, 12 Feb 2020 17:07:06 +0000 (09:07 -0800)]
Fixed coverage tests when INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR is defined.
Nathan Moinvaziri [Wed, 12 Feb 2020 01:53:28 +0000 (17:53 -0800)]
Fixed wrong command used in infcover unit test.
Pavel P [Mon, 16 Mar 2020 00:03:04 +0000 (06:03 +0600)]
Remove cvs keywords
Nathan Moinvaziri [Tue, 25 Feb 2020 14:20:54 +0000 (06:20 -0800)]
Remove duplicate calculations in deflate_quick().
Nathan Moinvaziri [Wed, 26 Feb 2020 20:11:29 +0000 (12:11 -0800)]
Add nmake to GitHub Actions CI.
Nathan Moinvaziri [Sat, 8 Feb 2020 15:34:28 +0000 (07:34 -0800)]
Change minigzip and minigzip64 to compile against zlibstatic to match configure script and performance.
Nathan Moinvaziri [Thu, 20 Feb 2020 02:52:32 +0000 (18:52 -0800)]
Add flag to minigzip to keep the input files, same as gzip's -k flag.
Nathan Moinvaziri [Wed, 12 Feb 2020 21:39:13 +0000 (13:39 -0800)]
Disable alignment sanitizer with -fno-sanitize when unaligned reads supported. #496
Nathan Moinvaziri [Fri, 6 Mar 2020 23:51:03 +0000 (15:51 -0800)]
Fixed compressBound calculation for quick deflate strategy. Worse case is 9 bits per literal plus the size of headers and footers for block and gzip format. Works out to the size of the input plus additional 13.67%.
Nathan Moinvaziri [Thu, 5 Mar 2020 02:27:10 +0000 (18:27 -0800)]
Clean up zng_tr_tally code.
Nathan Moinvaziri [Mon, 10 Feb 2020 15:12:37 +0000 (07:12 -0800)]
Fixed possible unsigned integer overflow in send_bits when calculating the new bits valid it bit buffer.
Nathan Moinvaziri [Mon, 9 Mar 2020 16:48:59 +0000 (09:48 -0700)]
Fixed incorrect compiler used for GitHub Actions configure instances.
Removed unused asan environment variables.
Nathan Moinvaziri [Fri, 14 Feb 2020 03:30:06 +0000 (19:30 -0800)]
Remove old INDEX file as contents already specified in README.md.
Hans Kristian Rosbach [Thu, 13 Feb 2020 14:40:26 +0000 (15:40 +0100)]
Add testing with compiler flags -O1 and -g3, let MSAN run with -g3
Hans Kristian Rosbach [Wed, 12 Feb 2020 20:41:35 +0000 (21:41 +0100)]
Make sure we use unique codecov flags for each test run
Hans Kristian Rosbach [Sat, 8 Feb 2020 23:18:01 +0000 (00:18 +0100)]
Import default codecfactor.io .shellcheckrc file.
Disable codefactor complaints about using $? for retval checking (SC2181).
Hans Kristian Rosbach [Sat, 8 Feb 2020 21:37:43 +0000 (22:37 +0100)]
Attempt to run codecov again if it fails.
Hans Kristian Rosbach [Sat, 8 Feb 2020 15:23:13 +0000 (16:23 +0100)]
Don't enable debug when building with code coverage.
Don't disable optimization when building with code coverage.
Make sure GCC links with gcov, like the docs says you should.
Hans Kristian Rosbach [Sat, 8 Feb 2020 15:22:14 +0000 (16:22 +0100)]
Fix codecov for pull requests.
Fail build if codecov fails.
Mika Lindqvist [Mon, 10 Feb 2020 17:17:31 +0000 (19:17 +0200)]
Add cpuidex.
Nathan Moinvaziri [Sun, 9 Feb 2020 03:35:20 +0000 (19:35 -0800)]
Fixed GitHub Actions warning about old version of macOS being used.
Nathan Moinvaziri [Fri, 7 Feb 2020 23:01:10 +0000 (15:01 -0800)]
Fixed missing compressed_len count in deflate_quick when ZLIB_DEBUG defined. Put most likely condition in send_bits first.
Nathan Moinvaziri [Sun, 2 Feb 2020 22:15:11 +0000 (14:15 -0800)]
Renamed bit buffer local variables consistently.
Nathan Moinvaziri [Sun, 2 Feb 2020 20:58:18 +0000 (12:58 -0800)]
Replace quick_send_bits with send_bits now that bi_buf is 32-bit.
Nathan Moinvaziri [Sun, 2 Feb 2020 17:46:00 +0000 (09:46 -0800)]
Change deflate_state's bi_buf from 16-bit to 32-bit.
Nathan Moinvaziri [Fri, 7 Feb 2020 20:49:36 +0000 (12:49 -0800)]
Fixed configure CI not working after adding macOS config. #518
Nathan Moinvaziri [Fri, 7 Feb 2020 20:06:55 +0000 (12:06 -0800)]
Added codecov badge to README.md.
Nathan Moinvaziri [Thu, 12 Dec 2019 17:51:14 +0000 (09:51 -0800)]
Added infcover code coverage test executable to cmake test.
Modified infcover.c to work with zlib-ng.
Fixed compiler warnings in infcover.c.
Mika Lindqvist [Wed, 22 Jan 2020 20:58:35 +0000 (22:58 +0200)]
Add initial AVX2 support.
Nathan Moinvaziri [Mon, 6 Jan 2020 01:58:24 +0000 (17:58 -0800)]
Enable CI options explicitly so forked repositories don't fail CI. #487
Nathan Moinvaziri [Tue, 28 Jan 2020 06:10:49 +0000 (22:10 -0800)]
Support aligned alloc/free functions for Windows and define them only if MZ_ZALLOC is not defined.
Nathan Moinvaziri [Sun, 2 Feb 2020 16:29:11 +0000 (08:29 -0800)]
Fixed compiler warning when using BITS macro.