Hello community,
here is the log from the commit of package dd_rescue for openSUSE:Factory checked in at 2018-05-16 11:21:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dd_rescue (Old)
and /work/SRC/openSUSE:Factory/.dd_rescue.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dd_rescue"
Wed May 16 11:21:20 2018 rev:39 rq:606793 version:1.99.8
Changes:
--------
--- /work/SRC/openSUSE:Factory/dd_rescue/dd_rescue.changes 2018-04-19 15:21:04.735535099 +0200
+++ /work/SRC/openSUSE:Factory/.dd_rescue.new/dd_rescue.changes 2018-05-16 11:21:22.920386554 +0200
@@ -1,0 +2,9 @@
+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.
+
+-------------------------------------------------------------------
New:
----
ddr_1998-ossl11-warn.diff
ddr_1998-sysrandom.diff
ddr_1998-testhole.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dd_rescue.spec ++++++
--- /var/tmp/diff_new_pack.uHvk0x/_old 2018-05-16 11:21:25.408296209 +0200
+++ /var/tmp/diff_new_pack.uHvk0x/_new 2018-05-16 11:21:25.412296063 +0200
@@ -20,7 +20,7 @@
Version: 1.99.8
Release: 0
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
Url: http://www.garloff.de/kurt/linux/ddrescue/
Source0: http://garloff.de/kurt/linux/ddrescue/%{name}-%{version}.tar.bz2
@@ -29,6 +29,9 @@
Source99: %{name}.changes
Patch1: ddr_1998-alg-caseindep.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: libattr-devel
%if 0%{?is_opensuse}
@@ -117,6 +120,9 @@
%setup -q
%patch1 -p1
%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
# Remove build time references so build-compare can do its work
FAKE_BUILDTIME=$(LC_ALL=C date -u -r %{SOURCE99} '+%%H:%%M')
FAKE_BUILDDATE=$(LC_ALL=C date -u -r %{SOURCE99} '+%%b %%e %%Y')
@@ -137,7 +143,7 @@
ln -sf %{_bindir}/dd_rescue %{buildroot}/bin
%check
-make %{?_smp_mflags} check
+make %{?_smp_mflags} RPM_OPT_FLAGS="%{optflags}" check
%files
%defattr(-,root,root,-)
++++++ ddr_1998-ossl11-warn.diff ++++++
commit fb27151be814b0bfbe05f81754f754c7ff8b14d7
Author: Kurt Garloff
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); \
++++++ ddr_1998-sysrandom.diff ++++++
commit f31f00876bd7a1b6a64580138d5208f01dfa81ab
Author: Kurt Garloff
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
#endif
+#ifdef HAVE_SYS_RANDOM_H
+#include
+#endif
static void msleep(unsigned int msecs)
{
++++++ ddr_1998-testhole.diff ++++++
commit 7f2ff6434586083747bc5d046e0207886025e684
Author: Kurt Garloff
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