Accepting request 606793 from Base:System
OBS-URL: https://build.opensuse.org/request/show/606793 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/dd_rescue?expand=0&rev=39
This commit is contained in:
commit
7492b416a7
@ -1,3 +1,12 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat May 12 12:06:29 CEST 2018 - kurt@garloff.de
|
||||||
|
|
||||||
|
- ddr_1998-sysrandom.diff: Use getrandom() decl from sys/random.h.
|
||||||
|
- ddr_1998-testhole.diff: Ensure we have a hole before testing hole
|
||||||
|
encryption (fixes bsc#1092758).
|
||||||
|
- ddr_1998-ossl11-warn.diff: Avoid warn from memcpy to openssl-1.1
|
||||||
|
to EVPCTX* internals.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Apr 17 15:46:16 CEST 2018 - kurt@garloff.de
|
Tue Apr 17 15:46:16 CEST 2018 - kurt@garloff.de
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ Name: dd_rescue
|
|||||||
Version: 1.99.8
|
Version: 1.99.8
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Data copying in the presence of I/O Errors
|
Summary: Data copying in the presence of I/O Errors
|
||||||
License: GPL-2.0 or GPL-3.0
|
License: GPL-2.0-only OR GPL-3.0-only
|
||||||
Group: System/Base
|
Group: System/Base
|
||||||
Url: http://www.garloff.de/kurt/linux/ddrescue/
|
Url: http://www.garloff.de/kurt/linux/ddrescue/
|
||||||
Source0: http://garloff.de/kurt/linux/ddrescue/%{name}-%{version}.tar.bz2
|
Source0: http://garloff.de/kurt/linux/ddrescue/%{name}-%{version}.tar.bz2
|
||||||
@ -29,6 +29,9 @@ Source2: %{name}.keyring
|
|||||||
Source99: %{name}.changes
|
Source99: %{name}.changes
|
||||||
Patch1: ddr_1998-alg-caseindep.diff
|
Patch1: ddr_1998-alg-caseindep.diff
|
||||||
Patch2: ddr_1998-check-nofail-noxattr.diff
|
Patch2: ddr_1998-check-nofail-noxattr.diff
|
||||||
|
Patch3: ddr_1998-sysrandom.diff
|
||||||
|
Patch4: ddr_1998-testhole.diff
|
||||||
|
Patch5: ddr_1998-ossl11-warn.diff
|
||||||
BuildRequires: autoconf
|
BuildRequires: autoconf
|
||||||
BuildRequires: libattr-devel
|
BuildRequires: libattr-devel
|
||||||
%if 0%{?is_opensuse}
|
%if 0%{?is_opensuse}
|
||||||
@ -117,6 +120,9 @@ data to the decompressor; the plugin is still young and might expose bugs.
|
|||||||
%setup -q
|
%setup -q
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
|
%patch3 -p1
|
||||||
|
%patch4 -p1
|
||||||
|
%patch5 -p1
|
||||||
# Remove build time references so build-compare can do its work
|
# Remove build time references so build-compare can do its work
|
||||||
FAKE_BUILDTIME=$(LC_ALL=C date -u -r %{SOURCE99} '+%%H:%%M')
|
FAKE_BUILDTIME=$(LC_ALL=C date -u -r %{SOURCE99} '+%%H:%%M')
|
||||||
FAKE_BUILDDATE=$(LC_ALL=C date -u -r %{SOURCE99} '+%%b %%e %%Y')
|
FAKE_BUILDDATE=$(LC_ALL=C date -u -r %{SOURCE99} '+%%b %%e %%Y')
|
||||||
@ -137,7 +143,7 @@ mkdir %{buildroot}/bin
|
|||||||
ln -sf %{_bindir}/dd_rescue %{buildroot}/bin
|
ln -sf %{_bindir}/dd_rescue %{buildroot}/bin
|
||||||
|
|
||||||
%check
|
%check
|
||||||
make %{?_smp_mflags} check
|
make %{?_smp_mflags} RPM_OPT_FLAGS="%{optflags}" check
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
|
62
ddr_1998-ossl11-warn.diff
Normal file
62
ddr_1998-ossl11-warn.diff
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
commit fb27151be814b0bfbe05f81754f754c7ff8b14d7
|
||||||
|
Author: Kurt Garloff <kurt@garloff.de>
|
||||||
|
Date: Sat May 12 09:57:23 2018 +0000
|
||||||
|
|
||||||
|
Avoid compiler warnings.
|
||||||
|
|
||||||
|
diff --git a/aes_ossl11.c b/aes_ossl11.c
|
||||||
|
index b10f157..66cfbd4 100644
|
||||||
|
--- a/aes_ossl11.c
|
||||||
|
+++ b/aes_ossl11.c
|
||||||
|
@@ -101,8 +101,8 @@ int AES_OSSL_##BITCHAIN##_Encrypt(const unsigned char* ctx, unsigned int rounds,
|
||||||
|
EVP_CIPHER_CTX **evpctx = (EVP_CIPHER_CTX**)ctx; \
|
||||||
|
EVP_CIPHER_CTX_set_padding(evpctx[0], DOPAD? pad: 0); \
|
||||||
|
if (IV) { \
|
||||||
|
- memcpy(EVP_CIPHER_CTX_original_iv(evpctx[0]), iv, 16); \
|
||||||
|
- memcpy(EVP_CIPHER_CTX_iv_noconst(evpctx[0]), iv, 16); \
|
||||||
|
+ memcpy((void*)EVP_CIPHER_CTX_original_iv(evpctx[0]), iv, 16); \
|
||||||
|
+ memcpy((void*)EVP_CIPHER_CTX_iv_noconst(evpctx[0]), iv, 16); \
|
||||||
|
} \
|
||||||
|
if (DOPAD && !pad && (len&15)) { \
|
||||||
|
ores = EVP_EncryptUpdate(evpctx[0], out, &olen, in, len-(len&15)); \
|
||||||
|
@@ -143,8 +143,8 @@ int AES_OSSL_##BITCHAIN##_Decrypt(const unsigned char* ctx, unsigned int rounds,
|
||||||
|
EVP_CIPHER_CTX **evpctx = (EVP_CIPHER_CTX**)ctx; \
|
||||||
|
EVP_CIPHER_CTX_set_padding(evpctx[0], DOPAD && pad != PAD_ASNEEDED?pad:0); \
|
||||||
|
if (IV) { \
|
||||||
|
- memcpy(EVP_CIPHER_CTX_original_iv(evpctx[0]), iv, 16); \
|
||||||
|
- memcpy(EVP_CIPHER_CTX_iv_noconst(evpctx[0]), iv, 16); \
|
||||||
|
+ memcpy((void*)EVP_CIPHER_CTX_original_iv(evpctx[0]), iv, 16); \
|
||||||
|
+ memcpy((void*)EVP_CIPHER_CTX_iv_noconst(evpctx[0]), iv, 16); \
|
||||||
|
} \
|
||||||
|
if (DOPAD && pad == PAD_ASNEEDED) { \
|
||||||
|
int olen1; \
|
||||||
|
@@ -310,10 +310,10 @@ int AES_OSSL_##BITCHAIN##_EncryptX2(const unsigned char* ctx, unsigned int roun
|
||||||
|
EVP_CIPHER_CTX_set_padding(evpctx[0], pad); \
|
||||||
|
EVP_CIPHER_CTX_set_padding(evpctx[1], 0); \
|
||||||
|
if (IV) { \
|
||||||
|
- memcpy(EVP_CIPHER_CTX_original_iv(evpctx[0]), iv, 16); \
|
||||||
|
- memcpy(EVP_CIPHER_CTX_iv_noconst(evpctx[0]), iv, 16); \
|
||||||
|
- memcpy(EVP_CIPHER_CTX_original_iv(evpctx[1]), iv, 16); \
|
||||||
|
- memcpy(EVP_CIPHER_CTX_iv_noconst(evpctx[1]), iv, 16); \
|
||||||
|
+ memcpy((void*)EVP_CIPHER_CTX_original_iv(evpctx[0]), iv, 16); \
|
||||||
|
+ memcpy((void*)EVP_CIPHER_CTX_iv_noconst(evpctx[0]), iv, 16); \
|
||||||
|
+ memcpy((void*)EVP_CIPHER_CTX_original_iv(evpctx[1]), iv, 16); \
|
||||||
|
+ memcpy((void*)EVP_CIPHER_CTX_iv_noconst(evpctx[1]), iv, 16); \
|
||||||
|
} \
|
||||||
|
if (!pad && (len&15)) { \
|
||||||
|
ores = EVP_EncryptUpdate(evpctx[0], out, &olen, in, len-(len&15)); \
|
||||||
|
@@ -353,10 +353,10 @@ int AES_OSSL_##BITCHAIN##_DecryptX2(const unsigned char* ctx, unsigned int roun
|
||||||
|
EVP_CIPHER_CTX_set_padding(evpctx[1], 0); \
|
||||||
|
EVP_CIPHER_CTX_set_padding(evpctx[0], pad==PAD_ASNEEDED? 0: pad); \
|
||||||
|
if (IV) { \
|
||||||
|
- memcpy(EVP_CIPHER_CTX_original_iv(evpctx[1]), iv, 16); \
|
||||||
|
- memcpy(EVP_CIPHER_CTX_iv_noconst(evpctx[1]), iv, 16); \
|
||||||
|
- memcpy(EVP_CIPHER_CTX_original_iv(evpctx[0]), iv, 16); \
|
||||||
|
- memcpy(EVP_CIPHER_CTX_iv_noconst(evpctx[0]), iv, 16); \
|
||||||
|
+ memcpy((void*)EVP_CIPHER_CTX_original_iv(evpctx[1]), iv, 16); \
|
||||||
|
+ memcpy((void*)EVP_CIPHER_CTX_iv_noconst(evpctx[1]), iv, 16); \
|
||||||
|
+ memcpy((void*)EVP_CIPHER_CTX_original_iv(evpctx[0]), iv, 16); \
|
||||||
|
+ memcpy((void*)EVP_CIPHER_CTX_iv_noconst(evpctx[0]), iv, 16); \
|
||||||
|
} \
|
||||||
|
ores = EVP_DecryptUpdate(evpctx[1], out, &olen, in, rlen); \
|
||||||
|
assert(ores); \
|
33
ddr_1998-sysrandom.diff
Normal file
33
ddr_1998-sysrandom.diff
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
commit f31f00876bd7a1b6a64580138d5208f01dfa81ab
|
||||||
|
Author: Kurt Garloff <kurt@garloff.de>
|
||||||
|
Date: Sat May 12 09:34:22 2018 +0000
|
||||||
|
|
||||||
|
Use sys/random.h for getrandom() decl if present.
|
||||||
|
|
||||||
|
diff --git a/configure.in b/configure.in
|
||||||
|
index af1ef75..d9b6950 100644
|
||||||
|
--- a/configure.in
|
||||||
|
+++ b/configure.in
|
||||||
|
@@ -6,7 +6,7 @@ AC_C_INLINE
|
||||||
|
AC_HEADER_STDC
|
||||||
|
#AC_PROG_INSTALL
|
||||||
|
#CFLAGS="$CFLAGS -DHAVE_CONFIG_H"
|
||||||
|
-AC_CHECK_HEADERS([fallocate.h dlfcn.h unistd.h attr/xattr.h sys/acl.h sys/ioctl.h endian.h linux/fs.h linux/fiemap.h stdint.h lzo/lzo1x.h openssl/evp.h linux/random.h malloc.h sched.h sys/statvfs.h])
|
||||||
|
+AC_CHECK_HEADERS([fallocate.h dlfcn.h unistd.h attr/xattr.h sys/acl.h sys/ioctl.h endian.h linux/fs.h linux/fiemap.h stdint.h lzo/lzo1x.h openssl/evp.h linux/random.h sys/random.h malloc.h sched.h sys/statvfs.h])
|
||||||
|
AC_CHECK_FUNCS([ffs ffsl basename fallocate64 splice getopt_long open64 pread pread64 lseek64 stat64 posix_fadvise posix_fadvise64 __builtin_prefetch htobe64 feof_unlocked getline getentropy getrandom posix_memalign valloc sched_yield fstatvfs __builtin_cpu_supports])
|
||||||
|
AC_CHECK_LIB(dl,dlsym)
|
||||||
|
AC_CHECK_LIB(fallocate,linux_fallocate64)
|
||||||
|
diff --git a/random.c b/random.c
|
||||||
|
index e558bed..9b2304c 100644
|
||||||
|
--- a/random.c
|
||||||
|
+++ b/random.c
|
||||||
|
@@ -22,6 +22,9 @@ typedef unsigned int __u32;
|
||||||
|
#ifdef HAVE_LINUX_RANDOM_H
|
||||||
|
#include <linux/random.h>
|
||||||
|
#endif
|
||||||
|
+#ifdef HAVE_SYS_RANDOM_H
|
||||||
|
+#include <sys/random.h>
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
static void msleep(unsigned int msecs)
|
||||||
|
{
|
31
ddr_1998-testhole.diff
Normal file
31
ddr_1998-testhole.diff
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
commit 7f2ff6434586083747bc5d046e0207886025e684
|
||||||
|
Author: Kurt Garloff <kurt@garloff.de>
|
||||||
|
Date: Sat May 12 09:54:45 2018 +0000
|
||||||
|
|
||||||
|
Fix test case by ensuring there is a hole ...
|
||||||
|
|
||||||
|
diff --git a/test_crypt.sh b/test_crypt.sh
|
||||||
|
index 47f1fc9..62cf853 100755
|
||||||
|
--- a/test_crypt.sh
|
||||||
|
+++ b/test_crypt.sh
|
||||||
|
@@ -52,13 +52,20 @@ rm dd_rescue2
|
||||||
|
|
||||||
|
# Holes (all), skiphole
|
||||||
|
echo "*** Holes ***"
|
||||||
|
+# Produce file that consists of dd_rescue + hole + dd_rescue
|
||||||
|
./dd_rescue -qpt dd_rescue dd_rescue3
|
||||||
|
./dd_rescue -qS 512k dd_rescue dd_rescue3
|
||||||
|
+# Ensure there is a hole even if dd_rescue is long
|
||||||
|
+./dd_rescue -qS 384k -m 128k /dev/zero dd_rescue3
|
||||||
|
+# Test without and with skiphole
|
||||||
|
enc_dec_compare_keys dd_rescue3 AES192-CTR keygen:ivgen "" "" "-qpt"
|
||||||
|
enc_dec_compare_keys dd_rescue3 AES192-CTR keygen:ivgen skiphole "" "-qpt"
|
||||||
|
+# Store 384k-512k in cmp3
|
||||||
|
./dd_rescue -qt -s 384k -m 128k -S 0 dd_rescue3.cmp dd_rescue3.cmp3
|
||||||
|
+# Should be 128k of zeroes
|
||||||
|
./dd_rescue -qm 128k /dev/zero dd_rescue3.cmp2
|
||||||
|
cmp dd_rescue3.cmp2 dd_rescue3.cmp3 || exit 4
|
||||||
|
+# Repeat test with reverse
|
||||||
|
enc_dec_compare_keys dd_rescue3 AES192-CTR keygen:ivgen "" "" "-qptr"
|
||||||
|
enc_dec_compare_keys dd_rescue3 AES192-CTR keygen:ivgen skiphole "" "-qptr"
|
||||||
|
./dd_rescue -qt -s 384k -m 128k -S 0 dd_rescue3.cmp dd_rescue3.cmp3
|
Loading…
x
Reference in New Issue
Block a user