dd_rescue/dd_rescue-ossl3-evpcipherctx.diff
Kurt Garloff 6a54235536 - Update to dd_rescue-1.99.20:
* 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
2025-01-26 08:05:31 +00:00

27 lines
1020 B
Diff

commit ce925927fdcc5e41f1a8975f31405f913a6583d1
Author: Kurt Garloff <kurt@garloff.de>
Date: Wed Feb 28 22:49:18 2024 +0100
Adjust struct _evp_cipher_ctx_st to openssl-3.0.6+.
This is only done if the version is indeed >= 3.0.6.
It's only relevant on 32bit, as the alignment rules on 64bit
do hide this difference.
Signed-off-by: Kurt Garloff <kurt@garloff.de>
diff --git a/aes_ossl11.c b/aes_ossl11.c
index 2fa4468..e450f4e 100644
--- a/aes_ossl11.c
+++ b/aes_ossl11.c
@@ -45,6 +45,9 @@ struct _evp_cipher_ctx_st {
/* FIXME: Should this even exist? It appears unused */
void *app_data; /* application stuff */
int key_len; /* May change for variable length cipher */
+#if OPENSSL_VERSION_MAJOR >= 3 && (OPENSSL_VERSION_MINOR > 0 || OPENSSL_VERSION_PATCH >= 6)
+ int iv_len; /* IV length */
+#endif
unsigned long flags; /* Various flags */
void *cipher_data; /* per EVP data */
int final_used;