]>
git.ipfire.org Git - thirdparty/zstd.git/log
Lzu Tao [Fri, 14 Dec 2018 04:03:04 +0000 (11:03 +0700)]
meson: Remove unused sys import
Nick Terrell [Fri, 14 Dec 2018 00:21:15 +0000 (16:21 -0800)]
Merge pull request #1446 from terrelln/overflow
[libzstd] Fix infinite loop in decompression
Nick Terrell [Wed, 12 Dec 2018 23:26:35 +0000 (15:26 -0800)]
[libzstd] Fix infinite loop in decompression
When we switched `ZSTD_SKIPPABLEHEADERSIZE` to a macro, the places where we do:
MEM_readLE32(ptr) + ZSTD_SKIPPABLEHEADERSIZE
can now overflow `(unsigned)-8` to `0` and we infinite loop. We now check
the frame size and reject sizes that overflow a U32.
Note that this bug never made it into a release, and was only in the dev branch
for a few days.
Credit to OSS-Fuzz
Yann Collet [Thu, 13 Dec 2018 20:04:10 +0000 (12:04 -0800)]
Merge pull request #1448 from lzutao/travis_reformat
travis: Use script instead of Cmd env
Lzu Tao [Thu, 13 Dec 2018 18:38:06 +0000 (01:38 +0700)]
travis: Use script instead of Cmd env
Yann Collet [Thu, 13 Dec 2018 05:09:01 +0000 (21:09 -0800)]
Merge pull request #1444 from facebook/btultra2
btultra2
Yann Collet [Thu, 13 Dec 2018 04:30:09 +0000 (20:30 -0800)]
updated compression results.csv
and fixed nit
Yann Collet [Thu, 13 Dec 2018 04:18:27 +0000 (20:18 -0800)]
Merge branch 'dev' into btultra2
Nick Terrell [Wed, 12 Dec 2018 19:16:54 +0000 (11:16 -0800)]
Merge pull request #1445 from terrelln/regression
[regression] add more methods
Nick Terrell [Tue, 11 Dec 2018 23:57:56 +0000 (15:57 -0800)]
Reset the cctx for documentation/safety
Nick Terrell [Tue, 4 Dec 2018 04:06:26 +0000 (20:06 -0800)]
[regression] add more methods
Yann Collet [Tue, 11 Dec 2018 20:08:21 +0000 (12:08 -0800)]
add clarification for ZSTD_CCtx_setPledgedSrcSize()
as requested in #1391
Yann Collet [Tue, 11 Dec 2018 02:48:15 +0000 (18:48 -0800)]
Merge pull request #1417 from facebook/advancedAPI
Advanced API
Yann Collet [Tue, 11 Dec 2018 02:45:03 +0000 (18:45 -0800)]
fixed btultra2 usage with prefix
notably while using multi-threading
Yann Collet [Tue, 11 Dec 2018 01:42:35 +0000 (17:42 -0800)]
fix assert position within ZSTD_compress2()
Yann Collet [Tue, 11 Dec 2018 01:36:20 +0000 (17:36 -0800)]
clarified experimentalParam
Yann Collet [Tue, 11 Dec 2018 01:33:49 +0000 (17:33 -0800)]
fixed ZSTD_compress2()
as suggested by @terrelln
Yann Collet [Mon, 10 Dec 2018 07:20:51 +0000 (23:20 -0800)]
make test can accept DEBUGLEVEL argument
Yann Collet [Mon, 10 Dec 2018 06:38:05 +0000 (22:38 -0800)]
updated clevel table for large inputs
Yann Collet [Sun, 9 Dec 2018 05:40:08 +0000 (21:40 -0800)]
update clevel table for 256K
Yann Collet [Sat, 8 Dec 2018 18:42:55 +0000 (10:42 -0800)]
update clevel table for 128K
Yann Collet [Sat, 8 Dec 2018 04:12:43 +0000 (20:12 -0800)]
updated clevel table for 16K
to introduce btultra2
Yann Collet [Sat, 8 Dec 2018 00:02:24 +0000 (16:02 -0800)]
paramgrill: add status line
get information on which config is currently tested
so that console get animated during long tests.
Yann Collet [Fri, 7 Dec 2018 22:19:50 +0000 (14:19 -0800)]
added tests for strategy=9 (btultra2)
Yann Collet [Fri, 7 Dec 2018 22:07:54 +0000 (14:07 -0800)]
refactor paramgrill for clarity
restored ability to copy/paste the resulting compression level table into zstd_compress.c .
Yann Collet [Fri, 7 Dec 2018 04:56:19 +0000 (20:56 -0800)]
Merge pull request #1440 from hungptit/dev
Refactor examples to avoid code duplication.
Hung Dang [Fri, 7 Dec 2018 03:42:19 +0000 (22:42 -0500)]
Refactor examples to avoid code duplication.
Yann Collet [Fri, 7 Dec 2018 03:27:37 +0000 (19:27 -0800)]
linked btultra2 as strategy9
and ensure zstdbench detects out-of-bound parameters
Yann Collet [Fri, 7 Dec 2018 01:22:19 +0000 (17:22 -0800)]
updated documentation
introducing ZSTD_btultra2
Yann Collet [Fri, 7 Dec 2018 00:51:17 +0000 (16:51 -0800)]
minor bound refinements
Yann Collet [Fri, 7 Dec 2018 00:16:16 +0000 (16:16 -0800)]
introduced constants ZSTD_STRATEGY_MIN and ZSTD_STRATEGY_MAX
Yann Collet [Thu, 6 Dec 2018 23:57:55 +0000 (15:57 -0800)]
fixed c++ assignment to enum
Yann Collet [Thu, 6 Dec 2018 23:42:33 +0000 (15:42 -0800)]
Merge pull request #1439 from obelisk/buck_readme
Add buck build instructions to README.md
Yann Collet [Thu, 6 Dec 2018 23:00:52 +0000 (15:00 -0800)]
changed ZSTD_c_compressionStrategy into ZSTD_c_strategy
also : fixed paramgrill, and limit conditions
Mitchell Grenier [Thu, 6 Dec 2018 22:46:48 +0000 (14:46 -0800)]
Add buck build instruction to the readme
Yann Collet [Thu, 6 Dec 2018 21:38:09 +0000 (13:38 -0800)]
introduced strategy btultra2
note : not yet applied on any compression level
Yann Collet [Thu, 6 Dec 2018 18:57:19 +0000 (10:57 -0800)]
moved ZSTD_WINDOWLOG_LIMIT_DEFAULT into static-linking-only area
Yann Collet [Thu, 6 Dec 2018 18:14:34 +0000 (10:14 -0800)]
clarified usage of word "job"
only applies in MT / async context now.
Yann Collet [Thu, 6 Dec 2018 01:26:02 +0000 (17:26 -0800)]
changed parameter names from ZSTD_p_* to ZSTD_c_*
for naming consistency
Yann Collet [Thu, 6 Dec 2018 00:23:00 +0000 (16:23 -0800)]
updated API documentation
Yann Collet [Wed, 5 Dec 2018 01:30:58 +0000 (17:30 -0800)]
ZSTD_decompressDCtx() is compatible with sticky parameters
Yann Collet [Wed, 5 Dec 2018 01:06:48 +0000 (17:06 -0800)]
merge dedicated dParam setters
Yann Collet [Wed, 5 Dec 2018 00:59:26 +0000 (16:59 -0800)]
write the switch()case: differently
so that it please both
compilers which warn for dead code after the switch
and
compilers which do not detect that all branches terminate.
Yann Collet [Tue, 4 Dec 2018 23:57:16 +0000 (15:57 -0800)]
fixed silent conversion warning
Yann Collet [Tue, 4 Dec 2018 23:54:01 +0000 (15:54 -0800)]
fixed declaration-after-statement warnings
Yann Collet [Tue, 4 Dec 2018 23:35:37 +0000 (15:35 -0800)]
implemented ZSTD_dParam_getBounds()
and ZSTD_DCtx_setParameter()
Yann Collet [Tue, 4 Dec 2018 18:28:36 +0000 (10:28 -0800)]
advanced decompression function replaces by normal streaming one
advanced parameters compatible with ZSTD_decompressStream().
Yann Collet [Tue, 4 Dec 2018 18:01:50 +0000 (10:01 -0800)]
Merge pull request #1427 from lzutao/minor-fix-meson
Update meson build and add Travis test for it
Yann Collet [Tue, 4 Dec 2018 01:43:34 +0000 (17:43 -0800)]
Merge pull request #1437 from facebook/grep
check availability of --color=never command on grep and egrep
Yann Collet [Mon, 3 Dec 2018 23:46:55 +0000 (15:46 -0800)]
check availability of --color=never command on grep and egrep
before applying them.
Fixes #1436
Yann Collet [Mon, 3 Dec 2018 22:22:38 +0000 (14:22 -0800)]
joined normal streaming API with advanced one
Nick Terrell [Mon, 3 Dec 2018 18:39:12 +0000 (10:39 -0800)]
Merge pull request #1434 from terrelln/regression
[regression] Add dictionary support
Lzu Tao [Mon, 3 Dec 2018 04:02:42 +0000 (11:02 +0700)]
meson: Update usage of InstallSymlink helper
Lzu Tao [Sun, 2 Dec 2018 20:23:09 +0000 (03:23 +0700)]
meson: Update tests timeout to run properly
Lzu Tao [Sun, 2 Dec 2018 17:57:10 +0000 (00:57 +0700)]
meson: Use clang for faster build
Lzu Tao [Sun, 2 Dec 2018 17:36:40 +0000 (00:36 +0700)]
Use -Dlegacy_level build option to control ZSTD_LEGACY_SUPPORT macro in test
Lzu Tao [Sun, 2 Dec 2018 15:48:11 +0000 (22:48 +0700)]
meson helper: Use Python conventional name for naming function [skip ci]
Lzu Tao [Sun, 2 Dec 2018 15:45:46 +0000 (22:45 +0700)]
meson: Fix soversion
Lzu Tao [Sun, 2 Dec 2018 15:33:25 +0000 (22:33 +0700)]
meson: Use -werror build option instead of adding -Werror [skip ci]
Lzu Tao [Sun, 2 Dec 2018 15:31:18 +0000 (22:31 +0700)]
Use argparse instead of manually parsing [skip ci]
Lzu Tao [Sat, 1 Dec 2018 17:18:00 +0000 (00:18 +0700)]
Add missed .1 extension for manpage [skip ci]
Lzu Tao [Sat, 1 Dec 2018 06:07:08 +0000 (13:07 +0700)]
meson: Cleanup installing symlinks
Lzu Tao [Sat, 1 Dec 2018 02:11:26 +0000 (09:11 +0700)]
Update README
Lzu Tao [Fri, 30 Nov 2018 14:31:58 +0000 (21:31 +0700)]
meson: Remove redundant join_paths function
Lzu Tao [Fri, 30 Nov 2018 14:10:06 +0000 (21:10 +0700)]
ci: Use new meson auto_features option
* Install lz4 dep from Ubuntu repo
* Use curl instead of wget
* Use xenial for meson and make meson build first
* Unset Travis preset CC and CXX value for meson to use ccache
* Be more verbose with "set -x"
Lzu Tao [Fri, 30 Nov 2018 14:05:03 +0000 (21:05 +0700)]
meson: Change build options' name
Lzu Tao [Fri, 30 Nov 2018 10:23:23 +0000 (17:23 +0700)]
Add almost all test cases in tests/Makefile
Lzu Tao [Fri, 30 Nov 2018 09:15:33 +0000 (16:15 +0700)]
Add clang cflags
Lzu Tao [Fri, 30 Nov 2018 08:30:45 +0000 (15:30 +0700)]
Initial support for Windows build
Lzu Tao [Fri, 30 Nov 2018 04:01:19 +0000 (11:01 +0700)]
Change tabsize
Lzu Tao [Thu, 29 Nov 2018 10:48:18 +0000 (17:48 +0700)]
Build both shared and static lib on CI
Rename INSTALL_SYSTEM to BUILD_SYSTEM
Lzu Tao [Thu, 29 Nov 2018 06:15:18 +0000 (13:15 +0700)]
Add comment about looking for dependencies
Lzu Tao [Thu, 29 Nov 2018 05:52:35 +0000 (12:52 +0700)]
Rename some meson build options to match autoconf convention
Lzu Tao [Thu, 29 Nov 2018 05:24:43 +0000 (12:24 +0700)]
Enable debugging flag
Lzu Tao [Thu, 29 Nov 2018 04:49:33 +0000 (11:49 +0700)]
Update relevant files after moving meson to build/
Update meson build instructions
Lzu Tao [Thu, 29 Nov 2018 04:45:57 +0000 (11:45 +0700)]
Move contrib/meson to build/meson
Lzu Tao [Thu, 29 Nov 2018 04:05:40 +0000 (11:05 +0700)]
Add enable_lz4 build option and fix lzma dependency
Lzu Tao [Thu, 29 Nov 2018 03:54:29 +0000 (10:54 +0700)]
Add pedantic flag
Lzu Tao [Thu, 29 Nov 2018 03:54:01 +0000 (10:54 +0700)]
No install zstd_manual.html
Lzu Tao [Wed, 28 Nov 2018 18:50:24 +0000 (01:50 +0700)]
Install missed zstdgrep and zstdless
Lzu Tao [Wed, 28 Nov 2018 18:27:20 +0000 (01:27 +0700)]
Install zstdmt.1 manpage [skip ci]
Lzu Tao [Wed, 28 Nov 2018 18:26:41 +0000 (01:26 +0700)]
Rename meson variables
Lzu Tao [Wed, 28 Nov 2018 17:09:24 +0000 (00:09 +0700)]
Add manpage install warning [skip ci]
We link new manpages with gz compressed format of the target manpage.
I have not tested it on Windows. So just place a warning here.
Lzu Tao [Wed, 28 Nov 2018 16:59:42 +0000 (23:59 +0700)]
Fix manpage symlinks [skip ci]
Lzu Tao [Wed, 28 Nov 2018 15:32:37 +0000 (22:32 +0700)]
Apply new InstallSymlink script
Lzu Tao [Wed, 28 Nov 2018 15:31:16 +0000 (22:31 +0700)]
Helper script to install symlink in meson
Lzu Tao [Wed, 28 Nov 2018 14:59:35 +0000 (21:59 +0700)]
No need these helpers
Lzu Tao [Wed, 28 Nov 2018 06:06:18 +0000 (13:06 +0700)]
Init CI test for meson build
Do not use ccache: Build error in gcc-8
Lzu Tao [Wed, 28 Nov 2018 07:26:57 +0000 (14:26 +0700)]
Fix lib soversion and no install cover.h header
Lzu Tao [Wed, 28 Nov 2018 05:16:09 +0000 (12:16 +0700)]
Fix meson tests build
Lzu Tao [Wed, 28 Nov 2018 04:57:53 +0000 (11:57 +0700)]
Bump to 1.3.8 and fix run_command function
The run_command is run from an unspecified directory. Therefore we cannot assume
which directory it is running our command.
Lzu Tao [Wed, 28 Nov 2018 04:49:52 +0000 (11:49 +0700)]
Update legacy support to 5
Lzu Tao [Tue, 27 Nov 2018 19:47:04 +0000 (02:47 +0700)]
Minor fix for meson build
Use files function instead of constructing path with meson.current_source_dir()
Nick Terrell [Sat, 1 Dec 2018 01:16:19 +0000 (17:16 -0800)]
[regression] Add dictionary support
Dictionaries are prebuilt and saved as part of the data object.
The config decides whether or not to use the dictionary if it is
available. Configs that require dictionaries are only run with
data that have dictionaries. The method will skip configs that are
irrelevant, so for example ZSTD_compress() will skip configs with
dictionaries.
I've also trimmed the silesia source to 1MB per file (12 MB total),
and added 500 samples from the github data set with a dictionary.
I've intentionally added an extra line to the `results.csv` to make
the nightly build fail, so that we can see how CircleCI reports it.
Full list of changes:
* Add pre-built dictionaries to the data.
* Add `use_dictionary` and `no_pledged_src_size` flags to the config.
* Add a config using a dictionary for every level.
* Add a config that specifies no pledged source size.
* Support dictionaries and streaming in the `zstdcli` method.
* Add a context-reuse method using `ZSTD_compressCCtx()`.
* Clean up the formatting of the `results.csv` file to align columns.
* Add `--data`, `--config`, and `--method` flags to constrain each
to a particular value. This is useful for debugging a failure
or debugging a particular config/method/data.
Yann Collet [Fri, 30 Nov 2018 23:59:50 +0000 (15:59 -0800)]
preparative for ZSTD_DCtx_setParameter()
Yann Collet [Fri, 30 Nov 2018 19:16:26 +0000 (11:16 -0800)]
created ZSTD_compress2() and ZSTD_compressStream2()
ZSTD_compress_generic() is renamed ZSTD_compressStream2().
Note that, for the time being,
the "stable" API and advanced one use different parameter planes :
setting parameters using the advanced API does not influence ZSTD_compressStream()
and using ZSTD_initCStream() does not influence parameters for ZSTD_compressStream2().
Yann Collet [Fri, 30 Nov 2018 19:21:09 +0000 (11:21 -0800)]
Merge pull request #1433 from obelisk/fixed_buck
Small changes for buck build
Mitchell Grenier [Fri, 30 Nov 2018 13:20:16 +0000 (13:20 +0000)]
Fix buck for lib
Yann Collet [Fri, 30 Nov 2018 00:06:40 +0000 (16:06 -0800)]
Merge pull request #1432 from terrelln/regression
[regression] Add initial regression test framework
Nick Terrell [Tue, 20 Nov 2018 20:37:43 +0000 (12:37 -0800)]
[regression] Add initial regression test framework
The regression tests run nightly or on the `regression`
branch for convenience. The results get uploaded as the
artifacts of the job. If they change, check the diff
printed in the job. If all is well, download the new
results and commit them to the repo.
This code will only run on a UNIX like platform. It
could be made to run on Windows, but I don't think that
it is necessary. It also uses C99.
* data: This module defines the data to run tests on.
It downloads data from a URL into a cache directory,
checks it against a checksum, and unpacks it. It also
provides helpers for accessing the data.
* config: This module defines the configs to run tests
with. A config is a set of API parameters and a set of
CLI flags.
* result: This module is a helper for method that defines
the result type.
* method: This module defines the compression methods
to test. It is what runs the regression test using the
data and the config. It reports the total compressed
size, or an error/skip.
* test: This is the test binary that runs the tests for
every (data, config, method) tuple, and prints the
results to the output file and stderr.
* results.csv: The results that the current commit is
expected to produce.