Stefano Babic [Thu, 16 Sep 2021 10:24:45 +0000 (12:24 +0200)]
zck_log: allow a callback for logging
When zck is used as library, the caller has already its own LOG system.
It is nice to redirect zck's log into the main logger. ZCK can already
write into a fd specified by the user, but this add complexity in case
it cannot be mapped, for example if LOG should be sent to network or is
managed in a different way. iNot only, information like loglevel are
lost.
Signed-off-by: Stefano Babic <sbabic@denx.de>
Jonathan Dieter [Wed, 22 Sep 2021 20:03:56 +0000 (21:03 +0100)]
curl-dev requires openssl1.1-compat-dev for the moment
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Wed, 22 Sep 2021 18:03:57 +0000 (19:03 +0100)]
Merge pull request #50 from zchunk/cleanup
Allow specification of `--compressed-format` in `zck`
Jonathan Dieter [Sat, 18 Sep 2021 16:53:50 +0000 (17:53 +0100)]
Add support for specifying compression-format in zck
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 18 Sep 2021 16:53:29 +0000 (17:53 +0100)]
When unknown flags are set, show values of unrecognized flags
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 18 Sep 2021 16:04:47 +0000 (17:04 +0100)]
Simplify public function
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 18 Sep 2021 15:41:47 +0000 (16:41 +0100)]
Remove unneeded digest_size_uncompressed attribute
The uncompressed digest size is the same as the compressed, so no reason
to need an extra attribute
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 18 Sep 2021 15:28:18 +0000 (16:28 +0100)]
Revert "Add a way to disable check of chunk min size"
This reverts commit
e3fdd8210610ebe21a44a226888b519672e18986.
Jonathan Dieter [Thu, 2 Sep 2021 19:49:49 +0000 (20:49 +0100)]
Merge pull request #45 from sbabic/devel
Introduce checksum for uncompressed data in the zchunk header
Jonathan Dieter [Thu, 2 Sep 2021 19:48:53 +0000 (20:48 +0100)]
Merge pull request #22 from zchunk/uncompressed_source
Add uncompressed source flag to zchunk_format.txt
Stefano Babic [Tue, 31 Aug 2021 15:02:14 +0000 (17:02 +0200)]
buzhash: change fingerprint to track OOM
Function returns false if an error (OOM from calloc) occurs, and the
output is stored via pointer passed by caller.
Signed-off-by: Stefano Babic <sbabic@denx.de>
Stefano Babic [Tue, 31 Aug 2021 12:43:12 +0000 (14:43 +0200)]
Drop assert in zrealloc and raise runtime error
Most assert in code are useful because they signal a real bug. However,
if allocation on the heap fails, it is a runtime error because system
gets rid of memory. This is more important on embedded systems,
and the caller process cannot exit but it should be informed with return
code and it will decide how to work on.
This drop the assert clause and add error code handling when zrealloc is
called. Because realloc does not touch the original pointer if fails, it
frees memory to avoid leaks.
Signed-off-by: Stefano Babic <sbabic@denx.de>
Stefano Babic [Sat, 28 Aug 2021 14:18:54 +0000 (16:18 +0200)]
Add a way to disable check of chunk min size
The check for chunk size is done on the compressed data.
This forbids to create the same chunk set in case data is not compressed
and comparison is done using the hashes of original data and not of
compressed chunk.
Signed-off-by: Stefano Babic <sbabic@denx.de>
Stefano Babic [Thu, 19 Aug 2021 16:11:02 +0000 (18:11 +0200)]
Add a uthash to uncompressed digest
Signed-off-by: Stefano Babic <sbabic@denx.de>
Stefano Babic [Tue, 17 Aug 2021 11:21:43 +0000 (13:21 +0200)]
Drop assert in zmalloc and raise runtime error
Most assert in code are useful because they signal a real bug. However,
if allocation on the heap fails, it is a runtime error because system
gets rid of memory. This is more important on embedded systems,
and the caller process cannot exit but it should be informed with return
code and it will decide how to work on.
This drop the assert clause and add error code handling when zmalloc is
called.
Signed-off-by: Stefano Babic <sbabic@denx.de>
Stefano Babic [Mon, 16 Aug 2021 10:38:59 +0000 (12:38 +0200)]
zck_read_header: fix header with uncompressed
If checksum for uncompressed chunk is added to index, resize the header
to take into account that two sha will be printed.
Signed-off-by: Stefano Babic <sbabic@denx.de>
Stefano Babic [Fri, 16 Jul 2021 07:40:35 +0000 (09:40 +0200)]
Add size of uncompressed chunk to index
Size of uncompressed chunk can be used to compare original and detect if
a chunk is required without having to convert it first to a zck file.
Signed-off-by: Stefano Babic <sbabic@denx.de>
Jonathan Dieter [Mon, 25 Nov 2019 17:45:31 +0000 (17:45 +0000)]
Add some clarification as to which sections are flag-dependent
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 23 Nov 2019 17:15:53 +0000 (17:15 +0000)]
Add uncompressed source flag to zchunk_format.txt
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Wed, 25 Aug 2021 19:22:04 +0000 (20:22 +0100)]
Merge pull request #46 from ppentchev/pp-cppcheck
Fix three problems reported by the cppcheck tool.
Peter Pentchev [Sun, 22 Aug 2021 11:51:49 +0000 (14:51 +0300)]
Only declare a variable if it will be used.
Spotted by: cppcheck
Peter Pentchev [Sun, 22 Aug 2021 11:52:18 +0000 (14:52 +0300)]
Check the correct value in a test.
Spotted by: cppcheck
Peter Pentchev [Sun, 22 Aug 2021 11:51:11 +0000 (14:51 +0300)]
Properly detect a read error.
Spotted by: cppcheck
Jonathan Dieter [Mon, 14 Jun 2021 17:50:03 +0000 (18:50 +0100)]
Bump to 1.1.16
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Mon, 14 Jun 2021 17:46:59 +0000 (18:46 +0100)]
Merge pull request #44 from fd00/cygwin
Fix build on cygwin
Daisuke Fujimura (fd0) [Sun, 13 Jun 2021 06:10:09 +0000 (15:10 +0900)]
Fix build on cygwin
Jonathan Dieter [Tue, 1 Jun 2021 19:36:49 +0000 (20:36 +0100)]
Bump to 1.1.15
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Tue, 1 Jun 2021 19:35:20 +0000 (20:35 +0100)]
Fix major bug when compressing with dictionary (and add more tests)
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Thu, 20 May 2021 20:18:16 +0000 (21:18 +0100)]
Bump to 1.1.14
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Thu, 20 May 2021 20:17:15 +0000 (21:17 +0100)]
Fix build on s390x
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Thu, 20 May 2021 19:50:48 +0000 (20:50 +0100)]
Bump to 1.1.13
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Thu, 20 May 2021 19:43:59 +0000 (20:43 +0100)]
Make builds consistent across architectures for zstd-1.5.0
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 15 May 2021 17:18:10 +0000 (18:18 +0100)]
Update to 1.1.12
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 15 May 2021 17:17:01 +0000 (18:17 +0100)]
Fix tests for zstd => 1.5.0
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 1 May 2021 17:26:14 +0000 (18:26 +0100)]
Bump to 1.1.11
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 1 May 2021 17:16:06 +0000 (18:16 +0100)]
Fix type mismatch
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 1 May 2021 17:03:58 +0000 (18:03 +0100)]
Bump version to 1.1.10
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 1 May 2021 16:57:15 +0000 (17:57 +0100)]
Clarify warning messages when corrupted chunks are discovered locally
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 1 May 2021 16:56:16 +0000 (17:56 +0100)]
Handle certain rare web servers that don't start with \r\n
After testing the server in https://github.com/zchunk/zchunk/issues/40, I
found that it doesn't start with "\r\n", so let's make that part optional
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 1 May 2021 16:17:40 +0000 (17:17 +0100)]
Merge pull request #39 from susnux/master
meson: Fix argp detection, prevent Werror=return-type
Ferdinand Thiessen [Mon, 26 Apr 2021 22:28:09 +0000 (00:28 +0200)]
meson: Fix argp detection, prevent Werror=return-type
Jonathan Dieter [Tue, 20 Apr 2021 20:59:06 +0000 (21:59 +0100)]
Merge pull request #38 from zchunk/zck_gen_zdict_docs
Add documentation for generating zdicts
Jonathan Dieter [Mon, 19 Apr 2021 20:19:49 +0000 (21:19 +0100)]
Clean up phrasing to hopefully make it more clear that zdicts are optional
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Mon, 19 Apr 2021 19:44:57 +0000 (20:44 +0100)]
Add documentation for generating zdicts
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Mon, 19 Apr 2021 19:48:19 +0000 (20:48 +0100)]
Update copyright dates
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Thu, 11 Mar 2021 22:08:13 +0000 (22:08 +0000)]
Merge pull request #36 from kontura/memleak
Fix memory leak of zck->prep_digest
Aleš Matěj [Thu, 11 Mar 2021 09:19:06 +0000 (10:19 +0100)]
Fix memory leak of zck->prep_digest
Jonathan Dieter [Wed, 30 Dec 2020 22:47:08 +0000 (22:47 +0000)]
Update to 1.1.9
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Wed, 30 Dec 2020 22:44:08 +0000 (22:44 +0000)]
Handle zstd 1.4.7+
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Wed, 30 Dec 2020 22:43:22 +0000 (22:43 +0000)]
Merge pull request #35 from nima2007/darwin1
macOS: Use correct endian.h & use argp-standalone
Nima Vasseghi [Tue, 29 Dec 2020 02:01:49 +0000 (18:01 -0800)]
macOS: Use correct endian.h & use argp-standalone
Jonathan Dieter [Tue, 8 Dec 2020 20:34:35 +0000 (20:34 +0000)]
New release
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sun, 6 Dec 2020 19:16:18 +0000 (19:16 +0000)]
Merge pull request #33 from davidbrochart/fix_regex
Add REG_ENHANCED to regcomp for OSX
David Brochart [Sat, 5 Dec 2020 15:41:28 +0000 (16:41 +0100)]
Add REG_ENHANCED to regcomp for OSX
Jonathan Dieter [Sat, 26 Sep 2020 23:27:08 +0000 (00:27 +0100)]
Bump to 1.1.7
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 26 Sep 2020 23:23:05 +0000 (00:23 +0100)]
Update documentation
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 26 Sep 2020 23:08:57 +0000 (00:08 +0100)]
Add support for FreeBSD
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sun, 31 May 2020 21:27:50 +0000 (22:27 +0100)]
Merge pull request #26 from ppentchev/pp-unzck-ext
unzck: require a *.zck extension
Jonathan Dieter [Sun, 31 May 2020 21:22:31 +0000 (22:22 +0100)]
Merge pull request #28 from ppentchev/pp-manpages
Add manual page stubs for the command-line utilities.
Peter Pentchev [Sun, 31 May 2020 21:08:05 +0000 (00:08 +0300)]
Add manual page stubs for the command-line utilities.
Peter Pentchev [Sun, 31 May 2020 20:38:35 +0000 (23:38 +0300)]
unzck: require a *.zck extension
Blindly removing the last four characters from a filename may lead to
unexpected results if somebody has created a zchunk archive with
a non-standard name.
Jonathan Dieter [Sat, 14 Mar 2020 23:03:28 +0000 (23:03 +0000)]
Bump to 1.1.6
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 14 Mar 2020 22:51:44 +0000 (22:51 +0000)]
Don't clear cache because alpine is really strange
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 14 Mar 2020 21:56:54 +0000 (21:56 +0000)]
Simplify Jenkinsfile since we're no longer doing parallel builds
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 14 Mar 2020 21:54:25 +0000 (21:54 +0000)]
Fix Jenkinsfile
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 14 Mar 2020 21:53:20 +0000 (21:53 +0000)]
Add autotest case for Alpine Linux because it uses musl
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 14 Mar 2020 21:52:46 +0000 (21:52 +0000)]
Add support for building with argp-standalone library
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 14 Mar 2020 20:31:17 +0000 (20:31 +0000)]
Merge pull request #23 from texierp/fixes/musl
topic: musl fixes
Pierre-Jean Texier [Thu, 23 Jan 2020 21:42:40 +0000 (22:42 +0100)]
unzck: fix build with musl libc
On musl libc "stdout" is a preprocessor macro whose expansion leads to
compilation errors.
Fixes:
| In file included from ../git/src/unzck.c:31:
| ../git/src/unzck.c: In function 'parse_opt':
| ../git/src/unzck.c:78:24: error: expected identifier before '(' token
| 78 | arguments->stdout = true;
| | ^~~~~~
| ../git/src/unzck.c: In function 'main':
| ../git/src/unzck.c:141:20: error: expected identifier before '(' token
| 141 | if(!(arguments.stdout)) {
| | ^~~~~~
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
Pierre-Jean Texier [Thu, 23 Jan 2020 18:14:40 +0000 (19:14 +0100)]
zck.h: fix build on musl
The ssize_t type requires the <sys/types.h> header. This fixes build with musl
libc:
include/zck.h:68:1: error: unknown type name 'ssize_t'; did you mean 'size_t'?
68 | ssize_t zck_read(zckCtx *zck, char *dst, size_t dst_size)
| ^~~~~~~
| size_t
include/zck.h:81:1: error: unknown type name 'ssize_t'; did you mean 'size_t'?
81 | ssize_t zck_write(zckCtx *zck, const char *src, const size_t src_size)
| ^~~~~~~
| size_t
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
Jonathan Dieter [Sat, 18 Jan 2020 21:32:09 +0000 (21:32 +0000)]
Bump to 1.1.5
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 18 Jan 2020 21:21:53 +0000 (21:21 +0000)]
Handle write errors correctly
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Mon, 25 Nov 2019 17:45:31 +0000 (17:45 +0000)]
Add some clarification as to which sections are flag-dependent
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 23 Nov 2019 17:15:53 +0000 (17:15 +0000)]
Add uncompressed source flag to zchunk_format.txt
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 16 Nov 2019 20:15:05 +0000 (20:15 +0000)]
Problems with testing on CentOS 8, so switch back to 7
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Wed, 13 Nov 2019 17:19:40 +0000 (17:19 +0000)]
Bump to 1.1.4
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Tue, 12 Nov 2019 20:48:44 +0000 (20:48 +0000)]
Simplify regex for detecting part header info
It turns out that the content-type is sometimes excluded, so I've just
simplified the whole regex.
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Wed, 7 Aug 2019 21:30:14 +0000 (22:30 +0100)]
Bump to 1.1.3
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Wed, 7 Aug 2019 21:28:50 +0000 (22:28 +0100)]
Fix coverity warnings
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Tue, 16 Jul 2019 18:30:42 +0000 (19:30 +0100)]
Buster has libzstd, so we don't need backports
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sun, 19 May 2019 17:02:01 +0000 (18:02 +0100)]
Bump to 1.1.2
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sun, 19 May 2019 16:58:33 +0000 (17:58 +0100)]
Merge pull request #18 from F-i-f/open-create-permissions
Open files with permissions 0666 and let umask(2) do its job.
Jonathan Dieter [Sun, 19 May 2019 16:52:44 +0000 (17:52 +0100)]
Merge pull request #17 from F-i-f/multipart-boundary-quotes
Multipart boundary field can be quoted.
Philippe Troin [Sun, 19 May 2019 05:08:11 +0000 (22:08 -0700)]
Open files with permissions 0666 and let umask(2) do its job.
When creating files, zchunk did not obey the users's umask(2) setting.
Philippe Troin [Sun, 19 May 2019 04:12:48 +0000 (21:12 -0700)]
Multipart boundary field can be quoted.
Reference: https://tools.ietf.org/html/rfc2046#section-5.1.1
According to RFC 2046, the boundary parameter in the Content-Type
header can optionally be quoted with double quotes.
Fix zchunk's boundary parsing so that double quotes are stripped when
found.
Jonathan Dieter [Sat, 11 May 2019 21:23:45 +0000 (22:23 +0100)]
Update README.md with links to some documentation
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Mon, 15 Apr 2019 11:31:12 +0000 (12:31 +0100)]
Bump to 1.1.1
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Mon, 15 Apr 2019 11:29:52 +0000 (12:29 +0100)]
Fix compilation for GCC 4.4.7
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 23 Mar 2019 22:22:50 +0000 (22:22 +0000)]
Bump to 1.1.0
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Fri, 22 Mar 2019 22:13:16 +0000 (22:13 +0000)]
Speed up zchunk index operations
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 16 Mar 2019 22:56:34 +0000 (22:56 +0000)]
Bump to 1.0.4
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 16 Mar 2019 22:53:16 +0000 (22:53 +0000)]
Lighttpd uses non-hex boundaries and reverses content-type and
content-range. The patch allows zchunk to work with lighttpd.
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Thu, 24 Jan 2019 20:43:19 +0000 (20:43 +0000)]
Bump to 1.0.3
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Thu, 24 Jan 2019 20:40:48 +0000 (20:40 +0000)]
Fix off by one error
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Thu, 24 Jan 2019 19:44:06 +0000 (19:44 +0000)]
Fix memory leak and off-by-one allocation error
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Sat, 29 Dec 2018 12:25:44 +0000 (12:25 +0000)]
Fix some small bugs found by Coverity
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Fri, 28 Dec 2018 22:15:27 +0000 (22:15 +0000)]
Bump to 1.0.2
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Fri, 28 Dec 2018 22:13:41 +0000 (22:13 +0000)]
Fix bug when comparing chunks and add test case.
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Fri, 28 Dec 2018 14:15:42 +0000 (14:15 +0000)]
Bump to 1.0.1
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
Jonathan Dieter [Fri, 28 Dec 2018 14:08:32 +0000 (14:08 +0000)]
Clean up hash when cleaning index
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>