* Fix an overrun in sparse block detection.
* Fix an off-by-one memory handling issue in ddr_lzo, resulting
in breakage on s390x. (Surprisingly, glibc memory allocator
was graceful on most architectures.)
* Better test coverage, including chains with sparse files.
* Documented (and somewhat cleaner) design of handling sparse
files through chains of plugins.
* Test and support compression+encryption (and reverse
decryption+decompression) chains.
* Improved debug output, including numbering plugins.
- Update to dd_rescue-1.99.19:
* ddr_crypt: Clean hole support with and without skiphole.
(This works cleanly only for CTR and ECB modes.)
* ddr_crypt: Fix backwards copies including holes. Note that
this could result in different files from the forward copies
before (bug). Add test case for the latter.
* Many more testcases for sparse files with plugins: Also use
odd sizes and holes at the beginning and end of the file.
* Also skip over holes with -a when copying in reverse dir.
* Allow setting unsparse and some other flags for ddr_null for
testing.
* Fix lzma compression with hole at the end.
* Warn on lzma buf error (was debug msg only before).
OBS-URL: https://build.opensuse.org/package/show/Base:System/dd_rescue?expand=0&rev=89
* Cleanup libddr_lzma flags and memory handling; support sparse
input. Default preset to 4 now.
* Detect sparse output from unsparse plugins (decompression
and decryption may benefit from this).
* Testcase for (de)compression with sparse files.
* Fix calchmac.py for Python 3.12, so HMAC tests succeed again.
* Rationalize log level handling (control by -q, -v, -E).
* Move cache prefetching fomr plugins to main program.
OBS-URL: https://build.opensuse.org/package/show/Base:System/dd_rescue?expand=0&rev=87
* Plugin libddr_lzma.so: LZMA2/xz de/compression from Dmitrii
Ivanov. Covering the other end of the spectrum of LZO, with
high compression ratios at high CPU cost for compression.
(Decompression is cheap for both.)
* Code review and streamlining for dd_rescue integration by
Kurt Garloff.
OBS-URL: https://build.opensuse.org/package/show/Base:System/dd_rescue?expand=0&rev=85
* Refactoring: Move CPU feature detection to archdep.c.
* libddr_cypt: Support passing in password via pipe and passfd=
* Add testcase for this
* Support sha256 acceleration on x86-64 and armv8.
* Improve detection of armv8 crypto (aes) acceleration (32bit).
OBS-URL: https://build.opensuse.org/package/show/Base:System/dd_rescue?expand=0&rev=83
* Build issue: Detect pread64() and pwrite64() support separately
and provide individual replacement functions.
Thanks to David Geiger for reporting (Mageia).
* Bugfix: printstatus() would not be called with odd offsets,
resulting in missing progress report and missing sync (-y) and
write throttling (-C).
* Optimization: Some unrolling for the hash functions gives up to
10% better performance (on Zen4).
* Optimization: Rationalize prefetching for hash functions and
clear memory after using (avoid cleartext data on the stack).
* Optimization: Save function calls for fault injection and for
graph updates when unneeded.
* Usability: Better handle progress update frequency.
* Build improvement: Add -target linux-aarch64/arm-android28
automatically where needed.
* Drop: ddr-autoconf-no-fortify.diff (included upstream).
OBS-URL: https://build.opensuse.org/package/show/Base:System/dd_rescue?expand=0&rev=81
- Avoid setting _FORTIFY_SOURCE in configure script, it may
conflict with flags passed in otherwise (e.g. rpmbuild).
- Update to dd_rescue-1.99.14:
* Drop patches dd_rescue-u-emptyout-segfault.diff:,
dd_rescue-fuzz-test-more-err.diff:,
dd_rescue-md5-unaligned-armv7.diff:,
dd_rescue-ossl3-evpcipherctx.diff: All integrated upstream.
* Fix detection of LFS function availability for musl.
* Include headers and settings to make it work on musl.
* Replaced basename() with mybasename.h.
* Prefetch lookup table for sha hashing.
* Fix verbose output when falling back to small blocksize.
* Fix clearing of errno (unaligned writes at EOF on musl)
- Final tarball with fixes for Android Makefiles.
OBS-URL: https://build.opensuse.org/request/show/1195603
OBS-URL: https://build.opensuse.org/package/show/Base:System/dd_rescue?expand=0&rev=80
- dd_rescue-md5-unaligned-armv7.diff: gcc-12 does make unaligned
accesses on armv7 work sometimes, which breaks a configure test
and then makes the make check fail with SIGBUS when using hash
after lzo compression. Hardcode knowledge about armv7.
- Drop %setup (not needed if using %autosetup, thanks Valentin!)
- Mention [bsc#1219882], as suggested by Valentin Lefebvre.
- Fix openssl version detection for 3.0.x.
- dd_rescue-ossl3-evpcipherctx.diff: There's an additional field
in the (private) struct _evp_cipher_ctx_st in openssl-3 since
3.0.6, which makes a difference on 32bit. (On 64bit, the effect
is hidden by the compiler's alignment rules.)
- Specify libopenssl-devel as BuildRequirements. This will select
openssl-3 on new distributions.
This fixes [bsc#1219882].
OBS-URL: https://build.opensuse.org/request/show/1154455
OBS-URL: https://build.opensuse.org/package/show/Base:System/dd_rescue?expand=0&rev=76
- temporarily remove not-really-detached-signature
- Update to 1.99.13:
* Drop fuzz-lzo-* patches, as they have been merged upstream.
* Allow overriding strip binary (not used in this build).
* Make -fanalyzer more happy: abort() and assert()ions to ensure
we always react to failed memory allocations.
* ddr_hash: Support reading/writing checksums from stdin/out "-".
* Fix aliasing issue with XORN function (in aes.h), spotted by
gcc-13: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108695
Drop workaround from Martin Liška again.
* Higher optimization level for aes.c driver is beneficial for
key setup speed.
OBS-URL: https://build.opensuse.org/request/show/1068136
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/dd_rescue?expand=0&rev=57
- Update to 1.99.13:
* Drop fuzz-lzo-* patches, as they have been merged upstream.
* Allow overriding strip binary (not used in this build).
* Make -fanalyzer more happy: abort() and assert()ions to ensure
we always react to failed memory allocations.
* ddr_hash: Support reading/writing checksums from stdin/out "-".
* Fix aliasing issue with XORN function (in aes.h), spotted by
gcc-13: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108695
Drop workaround from Martin Liška again.
* Higher optimization level for aes.c driver is beneficial for
key setup speed.
OBS-URL: https://build.opensuse.org/package/show/Base:System/dd_rescue?expand=0&rev=72
- Update to 1.99.13:
* Drop fuzz-lzo-* patches, as they have been merged upstream.
* Allow overriding strip binary (not used in this build).
* Make -fanalyzer more happy: abort() and assert()ions to ensure
we always react to failed memory allocations.
* ddr_hash: Support reading/writing checksums from stdin/out "-".
* Fix aliasing issue with XORN function (in aes.h), spotted by
gcc-13: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108695
Drop workaround from Martin Liška again.
* Higher optimization level for aes.c driver is beneficial for
key setup speed.
OBS-URL: https://build.opensuse.org/request/show/1067593
OBS-URL: https://build.opensuse.org/package/show/Base:System/dd_rescue?expand=0&rev=69
- Update to dd_rescue-1.99.12:
* Works with openssl-3.0 now (using EVP_Cipher_Init to set IV).
* openssl-1.1 performs significantly better so we keep building
against it if available.
* nosalthdr option for libddr_crypt for compatibility with
openssl-3, no longer writing header when salt is passed.
* ARMv7 crypto support successfully compiles with clang now.
- Drop no-python2.patch (included in dd_rescue-1.99.12).
OBS-URL: https://build.opensuse.org/request/show/991298
OBS-URL: https://build.opensuse.org/package/show/Base:System/dd_rescue?expand=0&rev=66
- Update to dd_rescue-1.99.11:
* Drop (backported) checksum_file-clear-errno.diff.
* Minor scheduling improvements for x86_64 and ARM asm.
* Work around compiler weirdness, passing two in/out parameters
in the same register (when they are provably the same),
causing x2 breakage on armv7.
* 256bit VAES support on x86-64 (0.23 cycles/byte on Zen3!).
* Needed to compile aesni twice for this, once with avx.
* Full asm versions for (non-x2) CTR and CBC on arm64
(achieving 0.40 cycles/byte on Cortex X-1).
* Avoid test failures with incompressible tweak in fuzz_lzo.
* test_aes improvements: Options, help, IV comparison, memcpy.
* Full crypto test coverage 0 -- 130 bytes len.
* Code safety against len==0 en/decryption.
OBS-URL: https://build.opensuse.org/request/show/889534
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/dd_rescue?expand=0&rev=50
- Update to dd_rescue-1.99.11:
* Drop (backported) checksum_file-clear-errno.diff.
* Minor scheduling improvements for x86_64 and ARM asm.
* Work around compiler weirdness, passing two in/out parameters
in the same register (when they are provably the same),
causing x2 breakage on armv7.
* 256bit VAES support on x86-64 (0.23 cycles/byte on Zen3!).
* Needed to compile aesni twice for this, once with avx.
* Full asm versions for (non-x2) CTR and CBC on arm64
(achieving 0.40 cycles/byte on Cortex X-1).
* Avoid test failures with incompressible tweak in fuzz_lzo.
* test_aes improvements: Options, help, IV comparison, memcpy.
* Full crypto test coverage 0 -- 130 bytes len.
* Code safety against len==0 en/decryption.
OBS-URL: https://build.opensuse.org/request/show/889414
OBS-URL: https://build.opensuse.org/package/show/Base:System/dd_rescue?expand=0&rev=60
- checksum_file-clear-errno.diff: Avoid stale errno to be picked
up and report an error without any error actually occuring.
(This lead to occasional build fails on armv7 on Ubuntu 20.04
and Fedora 32/33, nowhere else.)
- Update to dd_rescue-1.99.10:
* Improve memory clobbers: Ensure we specify full array lengths
used as input to asm (boo#1181402).
* Improve ARM64 crypto by better insn scheduling in CTR calc,
avoiding dependencies and local vars (+40% performance!).
* Apply all ARM64 improvements also to ARMv8 crypto on ARM32.
* Fix warning int formatting on unaligned crypto.
* Address warnings on outdated autoconf usage.
- Update to dd_rescue-1.99.9:
* Includes aliasing fixes from boo#1181402.
* Additional mem clobbers for asm statements (boo#1181402).
* LTO disablement still needed (boo#1176219) on arm due to
differences in compiler flags (-march) per object.
* Fix dependency generation on PPC (preprocessing intrinsics).
* Support xattr decls in sys/xattr.h in addition to attr/xattr.h.
* More stringent check of mem alloc return values.
* Free all memory in error path before exiting (cosmetic).
* Don't need global variable in probe function.
* drop ddr_1998-alg-caseindep.diff, ddr_1998-check-nofail-noxattr.diff,
ddr_1998-ossl11-warn.diff, ddr_1998-sysrandom.diff,
ddr_1998-testhole.diff: patches all merged (they were backports)
- drop fix-aliasing-aarch64.patch: obsolete (fixed differently in new version)
OBS-URL: https://build.opensuse.org/request/show/878072
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/dd_rescue?expand=0&rev=49
- Update to dd_rescue-1.99.10:
* Improve memory clobbers: Ensure we specify full array lengths
used as input to asm (boo#1181402).
* Improve ARM64 crypto by better insn scheduling in CTR calc,
avoiding dependencies and local vars (+40% performance!).
* Apply all ARM64 improvements also to ARMv8 crypto on ARM32.
* Fix warning int formatting on unaligned crypto.
* Address warnings on outdated autoconf usage.
OBS-URL: https://build.opensuse.org/request/show/877645
OBS-URL: https://build.opensuse.org/package/show/Base:System/dd_rescue?expand=0&rev=55
- Update to dd_rescue-1.99.9:
* Includes aliasing fixes from boo#1181402.
* Additional mem clobbers for asm statements (boo#1181402).
* LTO disablement still needed (boo#1176219) on arm due to
differences in compiler flags (-march) per object.
* Fix dependency generation on PPC (preprocessing intrinsics).
* Support xattr decls in sys/xattr.h in addition to attr/xattr.h.
* More stringent check of mem alloc return values.
* Free all memory in error path before exiting (cosmetic).
* Don't need global variable in probe function.
* ddr_1998_* patches all merged (they were backports).
OBS-URL: https://build.opensuse.org/request/show/875891
OBS-URL: https://build.opensuse.org/package/show/Base:System/dd_rescue?expand=0&rev=53