Jonathan Dieter [Tue, 4 Apr 2023 20:14:49 +0000 (21:14 +0100)]
Ensure memory is freed when zrealloc is called with size 0
zrealloc is supposed to handle freeing the old pointer when called, but
when called with size 0, it was not always working as expected. This
commit fixes the bug. Thanks to Agostino Sarubbo of Gentoo for providing
a bug report with a reproducible test case.
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Tue, 4 Apr 2023 20:11:12 +0000 (21:11 +0100)]
Handle read_data errors correctly
The read_data function returns the number of bytes written, not a boolean,
so fix the error checking so we exit if fewer than expected bytes were
read. Thanks to Agostino Sarubbo of Gentoo for providing a bug report with
a reproducible test case.
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Tue, 4 Apr 2023 20:08:50 +0000 (21:08 +0100)]
Fix read off-by-one bug in compressed int function
A malformed compressed integer would cause unzck to read one byte past the
end of the allocated memory. This commit fixes this bug. Thanks to
Agostino Sarubbo of Gentoo for providing a bug report with a reproducible
test case.
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 25 Feb 2023 14:53:47 +0000 (14:53 +0000)]
Bump to 1.3.0
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 25 Feb 2023 14:49:31 +0000 (14:49 +0000)]
Merge pull request #92 from kraj/main
Dont let clang optimize away a meson check
Jonathan Dieter [Sat, 25 Feb 2023 14:44:40 +0000 (14:44 +0000)]
Merge pull request #91 from zchunk/no_write
Add ZCK_NO_WRITE option to disable writing to a file
Khem Raj [Wed, 22 Feb 2023 22:55:07 +0000 (14:55 -0800)]
meson: Use global function in argp check
clang is optimizing away parse_opt() since its marked static and not
used in main(), make life a bit harder for clang :)
removing static now emits the global symbols to be resolved during link
and when libargp is missing the error is thrown rightly
riscv64-yoe-linux-musl-ld: /tmp/a-5ba039.o: in function `.Lpcrel_hi0':
a.c:(.text+0x44): undefined reference to `argp_state_help'
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Jonathan Dieter [Sat, 18 Feb 2023 20:54:28 +0000 (20:54 +0000)]
Add ZCK_NO_WRITE option to disable writing to a file
There are situations where we need to recreate the zchunk header for an
uncompressed file without actually writing out the zchunk file. This
commit allows setting an `ioption`, `ZCK_NO_WRITE`, that will go through
the full process of creating the zchunk file without actually writing it
to disk, leaving you with a complete zchunk header in the end.
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 18 Feb 2023 19:06:45 +0000 (19:06 +0000)]
Bump version to 1.2.4
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 18 Feb 2023 14:45:21 +0000 (14:45 +0000)]
Update tests to handle zstd 1.5.4
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Mon, 6 Feb 2023 22:57:08 +0000 (22:57 +0000)]
Merge pull request #87 from zchunk/update-readme
Clarify what the primary benefit of zchunk is
Jonathan Dieter [Mon, 6 Feb 2023 22:53:01 +0000 (22:53 +0000)]
Update .pre-commit-config.yaml
This fixes some GitHub Action linting issues that we're seeing.
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Mon, 6 Feb 2023 22:36:06 +0000 (22:36 +0000)]
Clarify what the primary benefit of zchunk is
zstd now offers rsync-friendly output, so mentioning that zchunk files are
efficient over rsync misses the primary benefit zchunk has, namely that
zchunk files can be downloaded efficiently from normal web servers that
support range requests (which is basically all of them, except for some
rather strange proxies).
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Fri, 16 Sep 2022 20:35:16 +0000 (21:35 +0100)]
Bump version to 1.2.3
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Fri, 16 Sep 2022 20:34:59 +0000 (21:34 +0100)]
Remove meson deprecation warning
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Fri, 16 Sep 2022 20:21:49 +0000 (21:21 +0100)]
Merge pull request #85 from JohanMabille/windows_static_build
Fixed meson for static build on windows
Johan Mabille [Fri, 16 Sep 2022 08:13:27 +0000 (10:13 +0200)]
Added Windows static build to the CI
Jonathan Dieter [Thu, 15 Sep 2022 21:09:44 +0000 (22:09 +0100)]
Fix `alpine-edge` build failures
The Alpine Edge container's curl-dev package is built against openssl 3,
so we can't use the openssl1.1-compat package anymore.
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Johan Mabille [Thu, 15 Sep 2022 08:18:35 +0000 (10:18 +0200)]
Fixed meson for static build on windows
Jonathan Dieter [Sat, 11 Jun 2022 16:09:10 +0000 (17:09 +0100)]
Fix missing newline
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 11 Jun 2022 16:01:35 +0000 (17:01 +0100)]
Merge pull request #84 from fossabot/add-license-scan-badge
Add license scan report and status
fossabot [Fri, 10 Jun 2022 07:01:02 +0000 (00:01 -0700)]
Add license scan report and status
Signed off by: fossabot <badges@fossa.com>
Jonathan Dieter [Fri, 6 May 2022 22:09:54 +0000 (23:09 +0100)]
Merge pull request #80 from jameshilliard/fix-printf-format
test/zck_cmp_uncomp: fix printf format types
Jonathan Dieter [Thu, 5 May 2022 20:29:45 +0000 (21:29 +0100)]
Merge pull request #82 from jameshilliard/optional-docs
meson: add option to build without docs
James Hilliard [Wed, 4 May 2022 22:45:14 +0000 (16:45 -0600)]
test/zck_cmp_uncomp: fix printf format types
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
James Hilliard [Wed, 4 May 2022 22:53:40 +0000 (16:53 -0600)]
meson: add option to build without docs
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Jonathan Dieter [Thu, 5 May 2022 19:02:23 +0000 (20:02 +0100)]
Merge pull request #79 from jameshilliard/write-data
zck: declare write_data as static
Jonathan Dieter [Thu, 5 May 2022 19:00:23 +0000 (20:00 +0100)]
Merge pull request #81 from jameshilliard/optional-tests
meson: make tests optional
Jonathan Dieter [Thu, 5 May 2022 18:56:51 +0000 (19:56 +0100)]
Merge pull request #83 from jameshilliard/update-argp-wrap
argp-standalone.wrap: update to version 1.5.0
James Hilliard [Wed, 4 May 2022 23:01:15 +0000 (17:01 -0600)]
argp-standalone.wrap: update to version 1.5.0
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
James Hilliard [Wed, 4 May 2022 22:49:29 +0000 (16:49 -0600)]
meson: make tests optional
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
James Hilliard [Wed, 4 May 2022 22:32:48 +0000 (16:32 -0600)]
zck: declare write_data as static
This needs to be declared static to avoid a symbol conflict:
io.c:(.text+0xe8): multiple definition of `write_data'; src/zck.p/zck.c.o:zck.c:(.text+0x1f4): first defined here
Fixes:
- http://autobuild.buildroot.net/results/225/
22590a7038a40da3700d56c1f82f7dc74225702a
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Jonathan Dieter [Mon, 2 May 2022 18:24:31 +0000 (19:24 +0100)]
Merge pull request #78 from jameshilliard/argp-wrap
meson: fix argp-standalone wrap and find_library
James Hilliard [Thu, 21 Apr 2022 20:24:01 +0000 (14:24 -0600)]
meson: fix argp-standalone wrap and find_library
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Jonathan Dieter [Mon, 18 Apr 2022 16:38:54 +0000 (17:38 +0100)]
Bump to 1.2.2
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Mon, 18 Apr 2022 16:37:33 +0000 (17:37 +0100)]
Merge branch 'coverity'
Jonathan Dieter [Mon, 18 Apr 2022 16:37:19 +0000 (17:37 +0100)]
Various fixes to make Coverity happy
The single high severity issue was only triggerable if we were unable to
allocate memory and involved a memory leak. The other issues all revolve
around issues like making sure we check return values of functions we call.
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 16 Apr 2022 19:45:46 +0000 (20:45 +0100)]
Merge pull request #74 from ppentchev/pp-zck-eol
Turn off EOL handling for the *.zck test files.
Jonathan Dieter [Sat, 16 Apr 2022 19:44:47 +0000 (20:44 +0100)]
Merge pull request #73 from ppentchev/pp-zstd-1.4.10
Let the tests also pass with libzstd-1.4.10.
Peter Pentchev [Fri, 15 Apr 2022 07:48:37 +0000 (10:48 +0300)]
Turn off EOL handling for the *.zck test files.
Peter Pentchev [Fri, 15 Apr 2022 07:44:41 +0000 (10:44 +0300)]
Let the tests also pass with libzstd-1.4.10.
Jonathan Dieter [Sat, 12 Mar 2022 16:51:28 +0000 (16:51 +0000)]
Bump to 1.2.1
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 12 Mar 2022 16:49:48 +0000 (16:49 +0000)]
Merge branch 'fix_size_limit'
Jonathan Dieter [Sat, 12 Mar 2022 16:48:28 +0000 (16:48 +0000)]
Fix memory leak
In the index, we were leaking the uncompressed digest, so this commit fixes
that.
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 12 Mar 2022 14:27:19 +0000 (14:27 +0000)]
Fix size limit in zck.c
Up to now zck.c reads the whole file into memory and then sends it to
zck_write to actually compress. This is highly inefficient, but was done
to simplify dealing with a string separator. This commit fixes this by
reading the file in chunks, and, if using a string separator, keeps track
of the matching bytes from chunk to chunk.
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sun, 20 Feb 2022 17:07:24 +0000 (17:07 +0000)]
Merge pull request #70 from zchunk/1.2.0
Release zchunk 1.2.0 with the following changes:
* Now builds for Windows
* Can set `--uncompressed` flag when creating zchunk files to also store uncompressed digests
* `zck_read_header` now indicates whether there's a dictionary and what flags are enabled in the zchunk file
* Minimum meson version required to build zchunk is now 0.53
* Switched to use GitHub actions for automated testing
* Added the following automated test environments:
* `centos-8-stream`
* `centos-9-stream`
* `ubuntu-lts`
* `windows`, both using Mamba and meson-wrap
* `macos`
Jonathan Dieter [Sun, 20 Feb 2022 16:54:46 +0000 (16:54 +0000)]
Release 1.2.0
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sun, 20 Feb 2022 16:48:05 +0000 (16:48 +0000)]
Remove unnecessary Jenkinsfiles
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 5 Feb 2022 17:02:13 +0000 (17:02 +0000)]
Add support for detached headers
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 5 Feb 2022 16:09:31 +0000 (16:09 +0000)]
Add extra data to zck_read_header
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 5 Feb 2022 16:08:45 +0000 (16:08 +0000)]
Make clear that compressed chunk checksum can be 0s
Also, fix a small bug
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Thu, 27 Jan 2022 21:05:18 +0000 (21:05 +0000)]
Don't set full-file checksums when using uncompressed sources
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 5 Feb 2022 16:26:08 +0000 (16:26 +0000)]
Fix types when printing
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Mon, 17 Jan 2022 21:41:44 +0000 (21:41 +0000)]
Merge pull request #65 from wolfv/print_only_length_chars
Print only length characters
Jonathan Dieter [Mon, 17 Jan 2022 20:39:23 +0000 (20:39 +0000)]
Merge pull request #68 from zchunk/fix-meson-0.53
Fix meson build problems in Ubuntu
Jonathan Dieter [Mon, 17 Jan 2022 20:35:22 +0000 (20:35 +0000)]
Add CentOS 8 and CentOS 9 tests
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Mon, 17 Jan 2022 20:11:55 +0000 (20:11 +0000)]
Fix build for meson 0.53
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Mon, 17 Jan 2022 20:06:27 +0000 (20:06 +0000)]
Add tests for Ubuntu LTS
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Wolf Vollprecht [Wed, 12 Jan 2022 14:18:12 +0000 (15:18 +0100)]
print only length characters
Jonathan Dieter [Mon, 10 Jan 2022 21:28:05 +0000 (21:28 +0000)]
Merge pull request #63 from wolfv/pre-commit
pre-commit config & github linter CI
Jonathan Dieter [Mon, 10 Jan 2022 21:26:59 +0000 (21:26 +0000)]
Merge pull request #64 from zchunk/fix-wrap
Add test for meson-wrap
Wolf Vollprecht [Mon, 10 Jan 2022 07:02:47 +0000 (08:02 +0100)]
install pre-commit from pip
Jonathan Dieter [Sun, 9 Jan 2022 22:05:34 +0000 (22:05 +0000)]
Add `libzck_dep` so other projects can use this as a subproject
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sun, 9 Jan 2022 21:06:00 +0000 (21:06 +0000)]
Pass zcklib into `pkg_mod` as first argument to simplify things
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sun, 9 Jan 2022 20:55:21 +0000 (20:55 +0000)]
Simplify use of disabler
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sun, 9 Jan 2022 20:25:09 +0000 (20:25 +0000)]
Attempt to fix zstd wrap dependency detection
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sun, 9 Jan 2022 20:15:54 +0000 (20:15 +0000)]
zstd doesn't build in msvc, so use gcc when building with wrapped zstd
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sun, 9 Jan 2022 20:12:14 +0000 (20:12 +0000)]
Make libcurl optional
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sun, 9 Jan 2022 19:49:28 +0000 (19:49 +0000)]
Use meson features to simplify dependency checking
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sun, 9 Jan 2022 12:57:00 +0000 (12:57 +0000)]
Add test for meson-wrap
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Wolf Vollprecht [Sun, 9 Jan 2022 12:19:26 +0000 (13:19 +0100)]
add pre-commit lint environment
Jonathan Dieter [Sat, 8 Jan 2022 23:28:09 +0000 (23:28 +0000)]
Change workflow name
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 8 Jan 2022 23:21:14 +0000 (23:21 +0000)]
Merge pull request #62 from zchunk/github-actions-autotest
Update README.md to point to new CI location
Jonathan Dieter [Sat, 8 Jan 2022 23:19:42 +0000 (23:19 +0000)]
Update README.md to point to new CI location
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 8 Jan 2022 23:15:13 +0000 (23:15 +0000)]
Merge pull request #61 from zchunk/github-actions-autotest
Switch to GitHub actions for container CI
Jonathan Dieter [Sat, 8 Jan 2022 23:04:28 +0000 (23:04 +0000)]
Split different os's into different jobs and add missing containers
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 8 Jan 2022 22:33:08 +0000 (22:33 +0000)]
Switch to using GitHub actions for container CI
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 8 Jan 2022 22:03:58 +0000 (22:03 +0000)]
Merge pull request #60 from zchunk/fix-argp-alpine
Verify that include directory exists before trying to include it
Jonathan Dieter [Sat, 8 Jan 2022 21:57:24 +0000 (21:57 +0000)]
Verify that include directory exists before trying to include it
Note that this also bumps the minimum meson version to 0.53.0
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 8 Jan 2022 21:32:34 +0000 (21:32 +0000)]
Merge pull request #54 from wolfv/win
Support for Windows
Wolf Vollprecht [Sat, 8 Jan 2022 16:10:52 +0000 (17:10 +0100)]
check that malloc succeeds and use safe strcpy/strcat
Wolf Vollprecht [Sat, 8 Jan 2022 15:39:30 +0000 (16:39 +0100)]
fix file end newlines with pre-commit
Wolf Vollprecht [Sat, 8 Jan 2022 14:25:40 +0000 (15:25 +0100)]
unify order of ZCK_PUBLIC_API
Wolf Vollprecht [Sat, 8 Jan 2022 14:04:47 +0000 (15:04 +0100)]
fix another newline
Wolf Vollprecht [Sat, 8 Jan 2022 11:35:07 +0000 (12:35 +0100)]
no libgen on win
Wolf Vollprecht [Sat, 8 Jan 2022 11:25:00 +0000 (12:25 +0100)]
add newlines, fix up zck_dl, other review changes
Wolf Vollprecht [Fri, 7 Jan 2022 09:06:19 +0000 (10:06 +0100)]
use LOG_ERROR as logging shorthand in utils and tests
Wolf Vollprecht [Thu, 6 Jan 2022 19:32:48 +0000 (20:32 +0100)]
fix win
Wolf Vollprecht [Thu, 6 Jan 2022 17:32:22 +0000 (18:32 +0100)]
support older meson, fix macos
Wolf Vollprecht [Thu, 6 Jan 2022 16:43:42 +0000 (17:43 +0100)]
escape angle brackets on Windows
Wolf Vollprecht [Thu, 6 Jan 2022 15:35:01 +0000 (16:35 +0100)]
add .gitattributes to force LF line endings on Windows for test files
Wolf Vollprecht [Thu, 6 Jan 2022 13:58:50 +0000 (14:58 +0100)]
fix copy_chunks
Wolf Vollprecht [Thu, 6 Jan 2022 09:24:39 +0000 (10:24 +0100)]
fix shacheck for windows
Wolf Vollprecht [Thu, 6 Jan 2022 08:06:31 +0000 (09:06 +0100)]
start running tests on win
Wolf Vollprecht [Thu, 6 Jan 2022 08:04:49 +0000 (09:04 +0100)]
add fcntl.h header for win
Wolf Vollprecht [Thu, 6 Jan 2022 08:03:03 +0000 (09:03 +0100)]
fix up get_tmp_fd for windows
Wolf Vollprecht [Wed, 5 Jan 2022 20:50:40 +0000 (21:50 +0100)]
fix tests
Wolf Vollprecht [Wed, 5 Jan 2022 17:09:24 +0000 (18:09 +0100)]
make tests build on Windows
Wolf Vollprecht [Tue, 4 Jan 2022 17:59:17 +0000 (18:59 +0100)]
Run CI on Windows
Wolf Vollprecht [Wed, 15 Dec 2021 15:12:19 +0000 (16:12 +0100)]
build dll on Windows