]>
git.ipfire.org Git - thirdparty/zstd.git/log
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 [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 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 [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
Nick Terrell [Wed, 27 Sep 2017 22:29:07 +0000 (15:29 -0700)]
[libzstd][opt] Simplify repcode logic
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
Nick Terrell [Tue, 26 Sep 2017 21:03:43 +0000 (14:03 -0700)]
[fuzz] Speed up round trip tests
* Enforce smaller maximum values for parameters
* Adjust parameters to the source size
The memory usage is reduced by about 5x, which makes the fuzzers run at
least twice as fast, even more so with ASAN/MSAN enabled.
Nick Terrell [Fri, 22 Sep 2017 21:04:39 +0000 (14:04 -0700)]
Increase maximum window size
* Maximum window size in 32-bit mode is 1GB, since allocations for 2GB fail
on my Mac.
* Maximum window size in 64-bit mode is 2GB, since that is the largest
power of 2 that works with the overflow prevention.
* Allow `--long=windowLog` to set the window log, along with
`--zstd=wlog=#`. These options also set the window size during
decompression, but don't override `--memory=#` if it is set.
* Present a helpful error message when the window size is too large during
decompression.
* The long range matcher defaults to a hash log 7 less than the window log,
which keeps it at 20 for window log 27.
* Keep the default long range matcher window size and the default maximum
window size at 27 for the API and CLI.
* Add tests that use the maximum window size and hash size for compression
and decompression.
Yann Collet [Tue, 26 Sep 2017 20:53:50 +0000 (13:53 -0700)]
fixed minor conversion warnings for g++ on Linux
U64 is not considered equivalent to unsigned long long
Yann Collet [Tue, 26 Sep 2017 18:21:36 +0000 (11:21 -0700)]
write summary for --list on multiple files
Yann Collet [Tue, 26 Sep 2017 00:11:35 +0000 (17:11 -0700)]
Merge pull request #861 from terrelln/zip
[fuzz][CI] Set up regression tests
Yann Collet [Tue, 26 Sep 2017 00:02:40 +0000 (17:02 -0700)]
Merge pull request #862 from terrelln/static
[zstd] Backport kernel patch from @ColinIanKing
Yann Collet [Mon, 25 Sep 2017 23:21:17 +0000 (16:21 -0700)]
added ZSTD_DCtx_reset()
Yann Collet [Mon, 25 Sep 2017 23:34:29 +0000 (16:34 -0700)]
Merge pull request #855 from terrelln/maxoff
[libzstd] Increase MaxOff
Nick Terrell [Mon, 25 Sep 2017 23:12:46 +0000 (16:12 -0700)]
[zstd] Backport kernel patch from @ColinIanKing
* Make the U32 table in `FSE_normalizeCount()` static.
* Patch from https://lkml.kernel.org/r/
20170922145946 .14316-1-colin.king@canonical.com.
* Clang makes non-static tables static anyways. gcc however, does [weird things](https://godbolt.org/g/fvTcED).
* Benchmarks showed no difference in speed.
Yann Collet [Mon, 25 Sep 2017 22:44:48 +0000 (15:44 -0700)]
added ZSTD_decompress_generic_simpleArgs()
Yann Collet [Mon, 25 Sep 2017 22:41:48 +0000 (15:41 -0700)]
added ZSTD_decompress_generic()
same as ZSTD_decompressStream(),
just for a similar feeling as the compression side, which uses ZSTD_compress_generic()
Nick Terrell [Mon, 25 Sep 2017 22:00:50 +0000 (15:00 -0700)]
[fuzz] Determine flags based on compiler version
Nick Terrell [Mon, 25 Sep 2017 20:33:12 +0000 (13:33 -0700)]
[fuzz][CI] Add regression tests to the CI
Nick Terrell [Mon, 25 Sep 2017 20:32:50 +0000 (13:32 -0700)]
[fuzz] Mention the corpora in the README
Nick Terrell [Mon, 25 Sep 2017 20:29:50 +0000 (13:29 -0700)]
[fuzz] Add regressiontest targets
Yann Collet [Mon, 25 Sep 2017 22:25:07 +0000 (15:25 -0700)]
introduced constant ZSTD_frameIdSize
within zstd_internal.h
This is the size of magic number.
Avoids using `4` directly in source code, which is a bit less meaningful.
Yann Collet [Mon, 25 Sep 2017 22:12:09 +0000 (15:12 -0700)]
implemented magic-less frame decoder
Yann Collet [Mon, 25 Sep 2017 21:26:26 +0000 (14:26 -0700)]
added capability to generate magic-less frames
decoder not implemented yet
Nick Terrell [Mon, 18 Sep 2017 23:54:53 +0000 (16:54 -0700)]
[libzstd] Increase MaxOff
Nick Terrell [Mon, 25 Sep 2017 20:28:45 +0000 (13:28 -0700)]
[fuzz] Make simple_round_trip compile cleanly
Nick Terrell [Mon, 25 Sep 2017 20:28:18 +0000 (13:28 -0700)]
[fuzz] Fix fuzz.py env flags parsing
Nick Terrell [Mon, 25 Sep 2017 18:27:33 +0000 (11:27 -0700)]
[fuzz] fuzz.py can minimize and zip corpora
* "minimize" minimizes the corpora into an output directory.
* "zip" zips up the minimized corpora, which are ready to deploy.
Yann Collet [Sun, 24 Sep 2017 23:47:02 +0000 (16:47 -0700)]
minor function rename
ZSTD_estimateCStreamSize_advanced_usingCParams -> ZSTD_estimateCStreamSize_usingCParams
_usingX is clear.
_advanced feels redundant
Yann Collet [Sun, 24 Sep 2017 22:57:29 +0000 (15:57 -0700)]
added prototypes for advanced parameters for decompression API
required to decode custom formats
Yann Collet [Sun, 24 Sep 2017 21:33:37 +0000 (14:33 -0700)]
Merge branch 'dev' into newFormats
Yann Collet [Fri, 22 Sep 2017 16:01:39 +0000 (09:01 -0700)]
Merge pull request #859 from terrelln/31
Prepare for ZSTD_WINDOWLOG_MAX == 31
Yann Collet [Fri, 22 Sep 2017 00:24:43 +0000 (17:24 -0700)]
Merge pull request #858 from facebook/controlSize
added control of frame content size at end of decompression
Nick Terrell [Thu, 21 Sep 2017 23:18:34 +0000 (16:18 -0700)]
Prepare for ZSTD_WINDOWLOG_MAX == 31
Yann Collet [Thu, 21 Sep 2017 23:21:10 +0000 (16:21 -0700)]
added control from frame content size at end of decompression
adding check at end of single-pass ZSTD_decompressFrame().
Check within ZSTD_decompressContinue() was already added in a previous patch :
b3f33ccfb3b4fcc73df82126fd5ecfb751268fc6
Yann Collet [Thu, 21 Sep 2017 23:08:06 +0000 (16:08 -0700)]
Merge branch 'dev' into newFormats
Yann Collet [Thu, 21 Sep 2017 23:07:29 +0000 (16:07 -0700)]
created ZSTD_format declaration
Yann Collet [Tue, 19 Sep 2017 21:59:21 +0000 (14:59 -0700)]
Merge pull request #850 from terrelln/fse-optimal
[fse] Fix FSE_optimalTableLog() for srcSize==1
Yann Collet [Tue, 19 Sep 2017 21:25:10 +0000 (14:25 -0700)]
Merge pull request #849 from terrelln/30
[bitstream] Allow adding 31 bits at a time
Yann Collet [Tue, 19 Sep 2017 21:22:08 +0000 (14:22 -0700)]
Merge pull request #857 from terrelln/bad-assert
Fix minor fuzz test failures
Nick Terrell [Sat, 16 Sep 2017 00:44:09 +0000 (17:44 -0700)]
[bitstream] Allow adding 31 bits at a time
Nick Terrell [Tue, 19 Sep 2017 20:49:37 +0000 (13:49 -0700)]
[ldm] Fix corner case where minMatch < 8
There is a potential read buffer overflow when minMatch < 8.
fix-fuzz-failure
Nick Terrell [Tue, 19 Sep 2017 20:46:07 +0000 (13:46 -0700)]
[libzstd] Fix bad window size assert
The window size is not validated or used in the one-pass API, so there
shouldn't be an assert based on it.
fix-fuzz-failure
Yann Collet [Mon, 18 Sep 2017 22:50:14 +0000 (15:50 -0700)]
Merge branch 'dev' of github.com:facebook/zstd into dev
Yann Collet [Mon, 18 Sep 2017 22:49:59 +0000 (15:49 -0700)]
added streaming_memory_usage example
Yann Collet [Mon, 18 Sep 2017 22:21:23 +0000 (15:21 -0700)]
Merge pull request #853 from terrelln/blog
[zstdcli] Fix LDM advanced options parsing
Yann Collet [Mon, 18 Sep 2017 22:10:02 +0000 (15:10 -0700)]
Merge pull request #852 from facebook/fix851
fix #851 : sudo zstd -t file.zst changes /dev/null permissions
Nick Terrell [Mon, 18 Sep 2017 21:36:17 +0000 (14:36 -0700)]
[zstdcli] Fix LDM advanced options parsing
Yann Collet [Mon, 18 Sep 2017 21:48:23 +0000 (14:48 -0700)]
Merge branch 'dev' of github.com:facebook/zstd into dev
Yann Collet [Mon, 18 Sep 2017 21:47:34 +0000 (14:47 -0700)]
fix ZSTD_sizeof_CCtx() / ZSTD_sizeof_CStream()
previous result was over-estimated
by counting streaming buffers twice
Nick Terrell [Sat, 16 Sep 2017 02:00:39 +0000 (19:00 -0700)]
[fse] Fix FSE_optimalTableLog() for srcSize==1
Yann Collet [Mon, 18 Sep 2017 20:48:31 +0000 (13:48 -0700)]
Merge pull request #848 from terrelln/fparams
[block] Don't use fParams in ZSTD_decompressBlock()
Yann Collet [Mon, 18 Sep 2017 20:41:54 +0000 (13:41 -0700)]
fix #851 : sudo zstd -t file.zst changes /dev/null permissions
reported by @mike155
Yann Collet [Sun, 17 Sep 2017 06:40:14 +0000 (23:40 -0700)]
minor : added assert in bt
Yann Collet [Sat, 16 Sep 2017 06:26:23 +0000 (23:26 -0700)]
Merge pull request #846 from facebook/splitDict
Split dict
Nick Terrell [Sat, 16 Sep 2017 00:22:38 +0000 (17:22 -0700)]
[block] Don't use fParams in ZSTD_decompressBlock()
Yann Collet [Fri, 15 Sep 2017 23:23:50 +0000 (16:23 -0700)]
add comment on using -B# to split input file for dictionary training
Yann Collet [Fri, 15 Sep 2017 22:31:31 +0000 (15:31 -0700)]
ensures that sampleSizes table is large enough
as recommended by @terrelln
Yann Collet [Fri, 15 Sep 2017 19:09:00 +0000 (12:09 -0700)]
Merge pull request #847 from terrelln/fuzzer
[fuzzer] Fuzz long range matching & new API
Yann Collet [Fri, 15 Sep 2017 18:55:13 +0000 (11:55 -0700)]
fixed 64-to-32 conversion warnings
Yann Collet [Fri, 15 Sep 2017 17:16:26 +0000 (10:16 -0700)]
fixed minor conversion warning
Yann Collet [Thu, 14 Sep 2017 23:45:10 +0000 (16:45 -0700)]
added ability to split input files for dictionary training
using command -B#
This is the same behavior as benchmark module,
which can also split input into arbitrary size blocks, using -B#.
Yann Collet [Thu, 14 Sep 2017 22:12:57 +0000 (15:12 -0700)]
minor comment refactor
Nick Terrell [Thu, 14 Sep 2017 21:41:49 +0000 (14:41 -0700)]
[fuzzer] Fuzz long range matching & new API
Yann Collet [Thu, 14 Sep 2017 18:40:25 +0000 (11:40 -0700)]
Merge pull request #844 from terrelln/fuzzer
Fuzzer
Nick Terrell [Thu, 14 Sep 2017 02:08:35 +0000 (19:08 -0700)]
[fuzzer] Fix bugs in fuzz.py
Nick Terrell [Thu, 14 Sep 2017 01:41:32 +0000 (18:41 -0700)]
[fuzzer] Fix FUZZ_seed()
Nick Terrell [Thu, 14 Sep 2017 01:18:35 +0000 (18:18 -0700)]
[fuzzer] Update README.md
Nick Terrell [Thu, 14 Sep 2017 00:45:21 +0000 (17:45 -0700)]
[fuzz] Add fuzzing helper script
Nick Terrell [Thu, 14 Sep 2017 00:44:41 +0000 (17:44 -0700)]
Add block fuzzers
Nick Terrell [Thu, 14 Sep 2017 00:44:30 +0000 (17:44 -0700)]
[fuzzer] Handle single empty directory
Yann Collet [Thu, 14 Sep 2017 00:26:55 +0000 (17:26 -0700)]
Merge pull request #842 from stellamplau/decodeCorpus-maxSize
Add flag to limit max decompressed size in decodeCorpus
Yann Collet [Wed, 13 Sep 2017 23:35:29 +0000 (16:35 -0700)]
fixed too strong alignment assert in ZSTD_initStaticCCtx()
64-bits fields are only 32-bits aligned on 32-bits CPU
Nick Terrell [Wed, 13 Sep 2017 03:21:41 +0000 (20:21 -0700)]
Update fuzzer Makefile
Nick Terrell [Wed, 13 Sep 2017 03:20:27 +0000 (20:20 -0700)]
Update fuzzer sources
Stella Lau [Wed, 13 Sep 2017 23:01:16 +0000 (16:01 -0700)]
Fix implicit conversion error