]>
git.ipfire.org Git - thirdparty/zstd.git/log
W. Felix Handte [Tue, 17 Oct 2017 20:02:39 +0000 (16:02 -0400)]
Add `check` Target to Makefile
Yann Collet [Sat, 14 Oct 2017 08:29:42 +0000 (01:29 -0700)]
Merge pull request #889 from terrelln/bug-fix
Fix invalid use of dictionary offcode table
Nick Terrell [Fri, 13 Oct 2017 21:09:17 +0000 (14:09 -0700)]
Add DEBUGLOG() that prints FSE encoding types
Nick Terrell [Fri, 13 Oct 2017 19:47:00 +0000 (12:47 -0700)]
Fix invalid use of dictionary offcode table
Fixes #888.
Yann Collet [Fri, 13 Oct 2017 09:36:40 +0000 (02:36 -0700)]
Merge branch 'dev' of github.com:facebook/zstd into dev
Yann Collet [Fri, 13 Oct 2017 09:36:16 +0000 (02:36 -0700)]
minor code formatting
added a trace during sequence encoding
Yann Collet [Mon, 9 Oct 2017 23:50:09 +0000 (16:50 -0700)]
Merge pull request #885 from terrelln/dev
[doc] Add images for release notes
Nick Terrell [Mon, 9 Oct 2017 23:44:31 +0000 (16:44 -0700)]
[doc] Add images for release notes
Yann Collet [Sat, 7 Oct 2017 22:19:52 +0000 (15:19 -0700)]
fixed a small error in decodeCorpus
a compressed block must be strictly smaller than its decompressed size.
Yann Collet [Fri, 6 Oct 2017 03:21:59 +0000 (20:21 -0700)]
playtests: do not use cat on large files
some target have limitation making cat incompatible with large files
(namely debian hurd-i386)
Yann Collet [Wed, 4 Oct 2017 20:39:30 +0000 (13:39 -0700)]
Merge pull request #882 from terrelln/list
[zstdcli] Add window size to verbose list
Nick Terrell [Wed, 4 Oct 2017 19:23:23 +0000 (12:23 -0700)]
[zstdcli] Add window size to verbose list
```
> zstd --list -v file1 file2 file3
*** zstd command line interface 64-bits v1.3.2, by Yann Collet ***
Window Size: 512.00 KB (524288 B)
Compressed Size: 0.02 KB (19 B)
Check: XXH64
Window Size: 8192.00 KB (
8388608 B)
Compressed Size: 0.02 KB (19 B)
Check: XXH64
Window Size: 512.00 KB (524288 B)
Compressed Size: 0.01 KB (15 B)
Check: None
```
Yann Collet [Tue, 3 Oct 2017 21:49:07 +0000 (14:49 -0700)]
Merge pull request #881 from terrelln/dev
Ensure dictionary Huff table can encode any symbol
Nick Terrell [Tue, 3 Oct 2017 20:22:13 +0000 (13:22 -0700)]
Ensure dictionary Huff table can encode any symbol
* Ensure that the dictionary Huffman CTable has maxSymbolValue 255.
* Fix a stack buffer overflow during compression dictionary loading.
Yann Collet [Tue, 3 Oct 2017 00:28:57 +0000 (17:28 -0700)]
fixed minor conversion warnings for printf
in debug mode
Yann Collet [Mon, 2 Oct 2017 23:34:26 +0000 (16:34 -0700)]
Merge branch 'dev' of github.com:facebook/zstd into dev
Yann Collet [Mon, 2 Oct 2017 23:34:14 +0000 (16:34 -0700)]
Merge branch 'srcSize' into dev
Yann Collet [Mon, 2 Oct 2017 23:27:25 +0000 (16:27 -0700)]
bumped version number
and updated NEWS in anticipation for release
Yann Collet [Mon, 2 Oct 2017 22:02:05 +0000 (15:02 -0700)]
Merge pull request #876 from facebook/srcSize
CLI Fix : srcSize written in frame headers when compressing multiple files
Yann Collet [Mon, 2 Oct 2017 21:51:47 +0000 (14:51 -0700)]
Merge pull request #879 from terrelln/block-size
[libzstd] Set CLEVEL_CUSTOM correctly
Nick Terrell [Mon, 2 Oct 2017 20:43:30 +0000 (13:43 -0700)]
[libzstd] Set CLEVEL_CUSTOM correctly
In `ZSTD_compressBegin_advanced()`, `ZSTD_parameters` are used to set the
compression parameters, but the level didn't get set to `CLEVEL_CUSTOM`, so
`ZSTD_compressBlock()` used the wrong parameters when checking the source
size.
Yann Collet [Mon, 2 Oct 2017 19:29:25 +0000 (12:29 -0700)]
removed isRegularFile parameter
no longer useful : size of src is determined for each file.
Yann Collet [Mon, 2 Oct 2017 18:39:05 +0000 (11:39 -0700)]
interruption handler and variable are static
Yann Collet [Mon, 2 Oct 2017 09:07:17 +0000 (02:07 -0700)]
/contrib: fixed license header
removed last reference to PATENTS file
Yann Collet [Mon, 2 Oct 2017 09:02:16 +0000 (02:02 -0700)]
removed the statement for all versions of Visual Studio
Yann Collet [Mon, 2 Oct 2017 08:12:40 +0000 (01:12 -0700)]
same error in Visual Studio 2012 ...
Yann Collet [Mon, 2 Oct 2017 07:45:28 +0000 (00:45 -0700)]
The issue also impacts Visual Studio 2010
Yann Collet [Mon, 2 Oct 2017 07:19:47 +0000 (00:19 -0700)]
added (void)sig to avoid compilers complaining that sig is not used.
Yann Collet [Mon, 2 Oct 2017 07:02:24 +0000 (00:02 -0700)]
conditionnally removed invocation that generates a buggy warning with Visual Studio 2008
Yann Collet [Sun, 1 Oct 2017 22:33:57 +0000 (15:33 -0700)]
Merge branch 'dev' of github.com:facebook/zstd into dev
Yann Collet [Sun, 1 Oct 2017 22:32:48 +0000 (15:32 -0700)]
blindfix for Visual : minor casting issue
should not happen since SIGIGN is provided by <signal.h>,
so it should work "ouf of the box"
Yann Collet [Sun, 1 Oct 2017 21:59:38 +0000 (14:59 -0700)]
Merge pull request #877 from facebook/compressBound
added ZSTD_COMPRESSBOUND() as a macro
Yann Collet [Sun, 1 Oct 2017 19:10:26 +0000 (12:10 -0700)]
cli: add Ctrl-C support, requested by @mike155 in #854
Now, pressing Ctrl-C during compression or decompression
will erase operation artefact (unfinished destination file)
before leaving execution.
Yann Collet [Sun, 1 Oct 2017 18:32:38 +0000 (11:32 -0700)]
added comment on ZSTD_COMPRESSBOUND()
as requested by @terrelln
Yann Collet [Sun, 1 Oct 2017 18:24:02 +0000 (11:24 -0700)]
Merge branch 'dev' into compressBound
Yann Collet [Sat, 30 Sep 2017 22:34:44 +0000 (15:34 -0700)]
macro compatible with scenario where windowSize = 1024 (minimum)
Yann Collet [Sat, 30 Sep 2017 22:02:40 +0000 (15:02 -0700)]
ZSTD_adjustCParams_internal : minor optimization
Yann Collet [Sat, 30 Sep 2017 21:52:54 +0000 (14:52 -0700)]
Merge pull request #878 from terrelln/adjust
Don't `size -= 1` in ZSTD_adjustCParams()
Nick Terrell [Sat, 30 Sep 2017 21:17:32 +0000 (14:17 -0700)]
Don't `size -= 1` in ZSTD_adjustCParams()
The window size could end up too small if the source size is 2^n + 1.
Credit to OSS-Fuzz
Yann Collet [Sat, 30 Sep 2017 18:08:50 +0000 (11:08 -0700)]
fix proper naming on FSE_createCTable() arguments in fse.h
Yann Collet [Sat, 30 Sep 2017 06:17:41 +0000 (23:17 -0700)]
added ZSTD_COMPRESSBOUND() as a macro
ZSTD_compressBound() works fine, but is only useful for dynamic allocation.
For static allocation, only a macro can provide the amount during compilation time.
Yann Collet [Sat, 30 Sep 2017 05:32:54 +0000 (22:32 -0700)]
Merge pull request #860 from felixhandte/zstd-lz4-support-tests
Add Default LZ4 Support When Available
Yann Collet [Sat, 30 Sep 2017 05:14:37 +0000 (22:14 -0700)]
cli: fixed wrong initialization in MT mode
It's not good to mix old and new API
ZSTD_resetCStream() doesn't just set pledgedSrcSize :
it also sets the CCtx for a single thread compression.
Problem is, when 2+ threads are defined in cctx->requestedParams,
ZSTD_compress_generic() will want to start MT compression,
since initialization is supposed to have already happened (thanks to ZSTD_resetCStream())
except that the underlying ZSTDMT_CCtx* object is not created,
resulting in a segfault.
This is an invalid construction
(correct one is to use ZSTD_CCtx_setPledgedSrcSize()).
I haven't found a nice way to mitigate this impact if someone makes the same mistake.
At some point, removing the old API to keep only the new API within fileio.c will limit these risks.
Yann Collet [Sat, 30 Sep 2017 03:12:25 +0000 (20:12 -0700)]
Merge pull request #875 from facebook/zstdcat
decode more data before triggering error
Yann Collet [Sat, 30 Sep 2017 02:40:27 +0000 (19:40 -0700)]
minor fix : no longer use fake srcSize during resource creation
srcSize is read and provided at each file, not at resource creation.
This used to be useful with older API, because it could not re-adapt parameters between sessions.
At some point, it will be better to remove the old code, and only keep the new_api.
It works fine by now.
Yann Collet [Sat, 30 Sep 2017 01:05:18 +0000 (18:05 -0700)]
fix : srcSize written in frame header when multiple files compressed
This information used to be disabled when nbFiles>1.
It was badly initialized later in the code, resulting in an error.
Yann Collet [Sat, 30 Sep 2017 00:26:46 +0000 (17:26 -0700)]
Merge pull request #873 from facebook/shorterTests
Leaner tests
Yann Collet [Fri, 29 Sep 2017 23:27:47 +0000 (16:27 -0700)]
erase existence of a buffer when it's sent out of the pool
In some complex scenario,
the buffer would be freed because it's too large,
another buffer would be allocated, but fail,
trigger an error,
and the general buffer pool would then be freed,
where the definition of the already freed buffer would be found
(beyond total index, but still), and freed again, resulting in double-free error.
Yann Collet [Fri, 29 Sep 2017 22:54:09 +0000 (15:54 -0700)]
decode more data before triggering error
fixes #874 :
when a frame is not properly terminated by a "last block" signal,
zstd -d used to detect it immediately and error out.
This version will decode and flush the last block, and only then issue an error.
Yann Collet [Fri, 29 Sep 2017 06:01:31 +0000 (23:01 -0700)]
zstdmt : fixed : buffer dst0 wasn't properly set to null after usage
now it's possible to unconditionnally invoke ZSTD_releaseAllJobRessources()
wether previous compression was completed correctly or not.
Yann Collet [Fri, 29 Sep 2017 03:44:22 +0000 (20:44 -0700)]
removed ZSTDMT_waitForAllJobsCompleted() from ZSTDMT_freeCCtx()
as per @terrelln comment
Yann Collet [Fri, 29 Sep 2017 01:34:38 +0000 (18:34 -0700)]
make test : removed zstreamtest unit tests for variants
slightly reduced time to create dictionary
at beginning of unit tests
Yann Collet [Fri, 29 Sep 2017 01:27:22 +0000 (18:27 -0700)]
zstreamtest : run unit tests only during "normal" session
not during --mt, --newapi and --opaque
this avoids running them 4x during `make test`
Yann Collet [Fri, 29 Sep 2017 01:14:28 +0000 (18:14 -0700)]
adjustCParams : restored previous behavior
unknowns srcSize presumed small if there is a dictionary (dictSize>0)
and presumed large otherwise.
W. Felix Handte [Thu, 28 Sep 2017 23:34:39 +0000 (19:34 -0400)]
Update documentation to reflect other format support
W. Felix Handte [Thu, 28 Sep 2017 23:18:15 +0000 (19:18 -0400)]
Add CLI Program Name Detection for LZ4
W. Felix Handte [Fri, 22 Sep 2017 00:30:43 +0000 (17:30 -0700)]
Add basic tests for the lz4 integration
Yann Collet [Thu, 28 Sep 2017 20:49:12 +0000 (13:49 -0700)]
zstdmt : reduced maximum nb of threads
to avoid memory address space issues on 32-bits systems
(see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=876416#17)
Yann Collet [Thu, 28 Sep 2017 19:19:28 +0000 (12:19 -0700)]
Merge branch 'dev' into shorterTests
fixed conflicts
Yann Collet [Thu, 28 Sep 2017 18:48:45 +0000 (11:48 -0700)]
zstreamtest --newapi : reduced maximum allocated memory
Yann Collet [Thu, 28 Sep 2017 18:46:19 +0000 (11:46 -0700)]
zstdmt : move on when not enough memory for a new input buffer
just continue operations without input forward progress,
instead of an error that stops current compression session.
Yann Collet [Thu, 28 Sep 2017 09:33:41 +0000 (02:33 -0700)]
fixed minor Visual conversion warning
Yann Collet [Thu, 28 Sep 2017 09:23:44 +0000 (02:23 -0700)]
zstdmt : better behavior when freeing a context right after a memory allocation error
wait for all jobs to be completed, so that freeing can happen safely
Yann Collet [Thu, 28 Sep 2017 09:14:48 +0000 (02:14 -0700)]
minor : rewrite unit tests using CHECK_Z macro
Yann Collet [Thu, 28 Sep 2017 08:42:06 +0000 (01:42 -0700)]
fixed maximum windowLog for zstreamtest --newapi
for compatibility with low memory VM
Yann Collet [Thu, 28 Sep 2017 08:25:40 +0000 (01:25 -0700)]
ensure adjustCParams adjust hLog and cLog even without srcSize
It would previously exit when srcSize is unknown.
But in the case of custom parameters,
hLog and cLog can still be too large in comparison with windowLog.
Reduces maximum memory allocated during zstreamtest --newapi
Yann Collet [Thu, 28 Sep 2017 07:32:16 +0000 (00:32 -0700)]
Merge pull request #863 from facebook/newFormats
magicless frames (#591)
Yann Collet [Thu, 28 Sep 2017 02:12:18 +0000 (19:12 -0700)]
Merge pull request #872 from terrelln/fuzz-minor
[fuzz] Small changes for oss-fuzz integration
Nick Terrell [Thu, 28 Sep 2017 01:23:06 +0000 (18:23 -0700)]
[fuzz] Small changes for oss-fuzz integration
Yann Collet [Thu, 28 Sep 2017 01:00:15 +0000 (18:00 -0700)]
reduced memory usage of zstreamtest --newapi
to run on memory-constrained VM
Yann Collet [Thu, 28 Sep 2017 00:27:38 +0000 (17:27 -0700)]
reduced zstreamtest --mt memory load
adjust compression level, hence memory usage, depending on nb threads
in order to run correctly on memory-starved VM.
Yann Collet [Wed, 27 Sep 2017 23:39:40 +0000 (16:39 -0700)]
Merge branch 'dev' into newFormats
Fixed conflicts in zstdmt_compress.c
Yann Collet [Wed, 27 Sep 2017 23:35:08 +0000 (16:35 -0700)]
Merge pull request #869 from terrelln/dev
[libzstd] pthread function prefixed with ZSTD_
Yann Collet [Wed, 27 Sep 2017 23:34:29 +0000 (16:34 -0700)]
Merge pull request #866 from facebook/list
improved --list display
Yann Collet [Wed, 27 Sep 2017 23:34:15 +0000 (16:34 -0700)]
Merge pull request #871 from terrelln/opt
[libzstd][opt] Simplify repcode logic
Yann Collet [Wed, 27 Sep 2017 22:48:06 +0000 (15:48 -0700)]
separated --long tests between short and long tests
A fast subset of these tests is now played in short test mode
Yann Collet [Wed, 27 Sep 2017 22:38:27 +0000 (15:38 -0700)]
reduced memory requirements for --long tests
in new --long test section
Nick Terrell [Wed, 27 Sep 2017 22:29:07 +0000 (15:29 -0700)]
[libzstd][opt] Simplify repcode logic
Yann Collet [Wed, 27 Sep 2017 22:20:08 +0000 (15:20 -0700)]
improved make clean in tests/fuzz
Yann Collet [Wed, 27 Sep 2017 22:16:27 +0000 (15:16 -0700)]
shorter make test to avoid time out on travis CI
Timed tests (fuzzer) are reduced
Long tests are shortened (less data generated)
Yann Collet [Wed, 27 Sep 2017 20:58:12 +0000 (13:58 -0700)]
Merge pull request #870 from facebook/cpptest
Change c++ test to use CXX and CXXFLAGS environment variables
Yann Collet [Wed, 27 Sep 2017 20:51:05 +0000 (13:51 -0700)]
removed ZSTD_decompressBegin() from ZSTD_initDCtx_internal()
It does not feel "right" from a dependency perspective.
ZSTD_initDCtx_internal() is triggered once, on DCtx creation,
while ZSTD_decompressBegin() is invoked at the beginning of each new frame,
and is also a user-facing prototype.
Downside : a DCtx must be init before first usage !
This was always the intention by the way, and is documented as such.
This stage is automatically done within ZSTD_decompress() and variants,
and also within ZSTD_decompressStream().
Only ZSTD_decompressContinue() is impacted,
it must be preceded by a ZSTD_decompressBegin(), as detailed in doc.
A test has been fixed, to no longer rely on undocumented assumption that ZSTD_decompressBegin() is invoked during init.
Yann Collet [Wed, 27 Sep 2017 19:24:13 +0000 (12:24 -0700)]
switched name to cxxtest
Yann Collet [Wed, 27 Sep 2017 19:22:22 +0000 (12:22 -0700)]
fixed ZSTD_format_e value validation
Yann Collet [Wed, 27 Sep 2017 19:09:52 +0000 (12:09 -0700)]
Change c++ test to use CXX and CXXFLAGS environment variables
Fix OS-X warning on compiling .c files with clang++
Also changed test name from gpptest to cpptest, since it's no longer g++ specific
Nick Terrell [Wed, 27 Sep 2017 18:16:24 +0000 (11:16 -0700)]
[libzstd] pthread function prefixed with ZSTD_
* `sed -i 's/pthread_/ZSTD_pthread_/g' lib/{,common,compress,decompress,dictBuilder}/*.[hc]`
* Fix up `lib/common/threading.[hc]`
* `sed -i s/PTHREAD_MUTEX_LOCK/ZSTD_PTHREAD_MUTEX_LOCK/g lib/compress/zstdmt_compress.c`
Yann Collet [Wed, 27 Sep 2017 18:19:21 +0000 (11:19 -0700)]
updated ZSTD_format_e value validation
also updated manual
Yann Collet [Wed, 27 Sep 2017 17:35:56 +0000 (10:35 -0700)]
changed error code when pos<=size condition is not respected
Now pointing towards src_size or dst_size,
instead of error_GENERIC.
Yann Collet [Wed, 27 Sep 2017 17:29:31 +0000 (10:29 -0700)]
removed unsupported formats
Yann Collet [Wed, 27 Sep 2017 08:01:11 +0000 (01:01 -0700)]
fixed zstreamtest decoding error
same error (wrong output buffer size) was present
on --mt and --new_api tests.
Yann Collet [Wed, 27 Sep 2017 07:39:41 +0000 (00:39 -0700)]
fixed a bug in zstreamtest
decoder output buffer would receive a wrong size.
In previous version, ZSTD_decompressStream() would blindly trust the caller that pos <= size.
In this version, this condition is actively checked,
and the function returns an error code if this condition is not respected.
This check could also be done with an assert(),
but since this is a user-facing interface, it seems better to keep this check at runtime.
Yann Collet [Wed, 27 Sep 2017 01:26:09 +0000 (18:26 -0700)]
fixed DCtx initialization error
now relying on initialization of dctx->format first
Yann Collet [Wed, 27 Sep 2017 00:57:38 +0000 (17:57 -0700)]
silence minor gcc warning -Wempty-body
also silence fuzz test artefacts
Yann Collet [Tue, 26 Sep 2017 23:26:29 +0000 (16:26 -0700)]
Merge pull request #864 from terrelln/long
Increase maximum window size
Yann Collet [Tue, 26 Sep 2017 22:36:57 +0000 (15:36 -0700)]
switch assert() position
Yann Collet [Tue, 26 Sep 2017 22:36:14 +0000 (15:36 -0700)]
created ZSTD_startingInputLength()
as suggested by @terrelln
Yann Collet [Tue, 26 Sep 2017 22:06:30 +0000 (15:06 -0700)]
minor fixes following @terrelln comments
Yann Collet [Tue, 26 Sep 2017 21:57:24 +0000 (14:57 -0700)]
Merge pull request #867 from terrelln/fast-fuzz
[fuzz] Speed up round trip tests
Yann Collet [Tue, 26 Sep 2017 21:31:06 +0000 (14:31 -0700)]
fixed constant errors for gcc in c99 mode
C standard does not consider a `static const int` as a constant.
This is a problem for initializer, and ZSTD_STATIC_ASSERT().
Replaced by macro values
Yann Collet [Tue, 26 Sep 2017 21:22:39 +0000 (14:22 -0700)]
Merge branch 'dev' into newFormats