Hello community,

here is the log from the commit of package dd_rescue for openSUSE:Factory 
checked in at 2018-04-19 15:21:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dd_rescue (Old)
 and      /work/SRC/openSUSE:Factory/.dd_rescue.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "dd_rescue"

Thu Apr 19 15:21:03 2018 rev:38 rq:597867 version:1.99.8

Changes:
--------
--- /work/SRC/openSUSE:Factory/dd_rescue/dd_rescue.changes      2017-12-08 
12:54:25.556103766 +0100
+++ /work/SRC/openSUSE:Factory/.dd_rescue.new/dd_rescue.changes 2018-04-19 
15:21:04.735535099 +0200
@@ -1,0 +2,8 @@
+Tue Apr 17 15:46:16 CEST 2018 - k...@garloff.de
+
+- ddr_1998-alg-caseindep.diff:
+  * Use case-independent matching for algorithm names (hash, crypt).
+- ddr_1998-check-nofail-noxattr.diff:
+  * Make testsuite succeed for builds w/o xattr support. 
+
+-------------------------------------------------------------------

New:
----
  ddr_1998-alg-caseindep.diff
  ddr_1998-check-nofail-noxattr.diff

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ dd_rescue.spec ++++++
--- /var/tmp/diff_new_pack.abQJCS/_old  2018-04-19 15:21:05.379509202 +0200
+++ /var/tmp/diff_new_pack.abQJCS/_new  2018-04-19 15:21:05.379509202 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package dd_rescue
 #
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -27,6 +27,8 @@
 Source1:        
http://garloff.de/kurt/linux/ddrescue/%{name}-%{version}.tar.bz2.asc
 Source2:        %{name}.keyring
 Source99:       %{name}.changes
+Patch1:         ddr_1998-alg-caseindep.diff
+Patch2:         ddr_1998-check-nofail-noxattr.diff
 BuildRequires:  autoconf
 BuildRequires:  libattr-devel
 %if 0%{?is_opensuse}
@@ -113,7 +115,8 @@
 
 %prep
 %setup -q
-
+%patch1 -p1
+%patch2 -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')



++++++ ddr_1998-alg-caseindep.diff ++++++
commit 604e57678ed50ee88ea20d82c98bf7ba53db76c1
Author: Kurt Garloff <k...@garloff.de>
Date:   Thu Feb 8 10:41:25 2018 +0100

    Case insensitivity for crypt algos, help, debug.
    
    This makes it a bit easier to specify things correctly.

diff --git a/aes.c b/aes.c
index 33906b0..2784006 100644
--- a/aes.c
+++ b/aes.c
@@ -449,7 +449,7 @@ ciph_desc_t *findalg(ciph_desc_t* list, const char* nm, 
const char probe)
 {
        ciph_desc_t* alg = list;
        while (alg->name) {
-               if (!strcmp(alg->name, nm)) {
+               if (!strcasecmp(alg->name, nm)) {
                        if (!probe || !alg->probe)
                                return alg;
                        return (alg->probe()? NULL: alg);
diff --git a/libddr_crypt.c b/libddr_crypt.c
index 0d2e77f..1d9d4a0 100644
--- a/libddr_crypt.c
+++ b/libddr_crypt.c
@@ -158,7 +158,7 @@ int set_alg(crypt_state* state, const char* algnm)
                        FPLOG(FATAL, "Don't understand option (alg?) %s\n", 
algnm);
                return -1;
        }
-       if (!strcmp(algnm, "help")) {
+       if (!strcasecmp(algnm, "help")) {
                FPLOG(INFO, "Crypto algorithms:", NULL);
                ciph_desc_t *alg;
                for (alg = state->engine; alg->name != NULL; ++alg)
@@ -218,28 +218,28 @@ int crypt_plug_init(void **stat, char* param, int seq, 
const opt_t *opt)
                        param = next;
                        continue;
                }
-               if (!strcmp(param, "help")) {
+               if (!strcasecmp(param, "help")) {
                        FPLOG(INFO, "%s", crypt_help);
                        return -1;
-               } else if (!strcmp(param, "debug"))
+               } else if (!strcasecmp(param, "debug"))
                        state->debug = 1;
                else if (!strcmp(param, "encrypt") || !strcmp(param, "enc"))
                        state->enc = 1;
                else if (!strcmp(param, "decrypt") || !strcmp(param, "dec"))
                        state->enc = 0;
                else if (!memcmp(param, "engine=", 7)) {
-                       if (!strcmp(param+7, "aes_c"))
+                       if (!strcasecmp(param+7, "aes_c"))
                                state->engine = AES_C_Methods;
 #ifdef HAVE_AES_ARM64
-                       else if (!strcmp(param+7, "aesarm64"))
+                       else if (!strcasecmp(param+7, "aesarm64"))
                                state->engine = AES_ARM8_Methods;
 #endif
 #ifdef HAVE_AESNI
-                       else if (!strcmp(param+7, "aesni"))
+                       else if (!strcasecmp(param+7, "aesni"))
                                state->engine = AESNI_Methods;
 #endif
 #ifdef HAVE_LIBCRYPTO
-                       else if (!strcmp(param+7, "openssl"))
+                       else if (!strcasecmp(param+7, "openssl"))
                                state->engine = AES_OSSL_Methods;
 #endif
                        else {
@@ -257,11 +257,11 @@ int crypt_plug_init(void **stat, char* param, int seq, 
const opt_t *opt)
                else if (!memcmp(param, "alg=", 4))
                        err += set_alg(state, param+4);
                else if (!memcmp(param, "pad=", 4)) {
-                       if (!strcmp(param+4, "zero"))
+                       if (!strcasecmp(param+4, "zero"))
                                state->pad = PAD_ZERO;
-                       else if (!strcmp(param+4, "always"))
+                       else if (!strcasecmp(param+4, "always"))
                                state->pad = PAD_ALWAYS;
-                       else if (!strcmp(param+4, "asneeded"))
+                       else if (!strcasecmp(param+4, "asneeded"))
                                state->pad = PAD_ASNEEDED;
                        else {
                                FPLOG(FATAL, "Illegal padding %s: Specify 
zero/always/asneeded!\n",
@@ -401,8 +401,10 @@ int crypt_plug_init(void **stat, char* param, int seq, 
const opt_t *opt)
        }
        /* 1st: Set engine: Default: aesni/aes_c: Done */
        /* 2nd: Set alg: Already done if set explicitly */
-       if (!err && !state->alg)
+       if (!err && !state->alg) {
                state->alg = findalg(state->engine, "AES192-CTR", 0);
+               FPLOG(INFO, "Using default algorithm AES192-CTR\n", NULL);
+       }
        if (!state->alg)
                return -1;
 
diff --git a/libddr_hash.c b/libddr_hash.c
index 7c8cdf8..b6634ff 100644
--- a/libddr_hash.c
+++ b/libddr_hash.c
@@ -120,7 +120,7 @@ static loff_t readint(const char* const ptr)
 hashalg_t *get_hashalg(hash_state *state, const char* nm)
 {
        unsigned int i;
-       const char help = !strcmp(nm, "help");
+       const char help = !strcasecmp(nm, "help");
        if (help)
                FPLOG(INFO, "Supported algorithms:");
        for (i = 0; i < sizeof(hashes)/sizeof(hashalg_t); ++i) {
@@ -154,10 +154,10 @@ int hash_plug_init(void **stat, char* param, int seq, 
const opt_t *opt)
                char* next = strchr(param, ':');
                if (next)
                        *next++ = 0;
-               if (!strcmp(param, "help"))
+               if (!strcasecmp(param, "help"))
                        FPLOG(INFO, "%s", hash_help);
                
-               else if (!strcmp(param, "debug"))
+               else if (!strcasecmp(param, "debug"))
                        state->debug = 1;
                else if (!strcmp(param, "output"))
                        state->outfd = 1;
++++++ ddr_1998-check-nofail-noxattr.diff ++++++
commit 7944395ea224067e54f1a094ee91b20b93f5ef65
Author: Kurt Garloff <k...@garloff.de>
Date:   Sun Apr 15 11:58:59 2018 +0200

    Avoid check fail if dd_rescue was built w/o xattr support.

diff --git a/Makefile b/Makefile
index 6c9f958..5d81353 100644
--- a/Makefile
+++ b/Makefile
@@ -63,6 +63,12 @@ else
   HAVE_OPENSSL=0
 endif
 
+ifeq ($(shell grep 'HAVE_ATTR_XATTR_H 1' config.h >/dev/null 2>&1 && echo 1), 
1)
+  HAVE_XATTR=1
+else
+  HAVE_XATTR=0
+endif
+
 ifeq ($(CC),wcl386)
   CFLAGS = "-ox -wx $(EXTRA_CFLAGS)"
   DEFINES = -dMISS_STRSIGNAL -dMISS_PREAD -dVERSION=\"$(VERSION)\" 
-d__COMPILER__="\"$(COMPILER)\""
@@ -493,15 +499,9 @@ check: $(TARGETS) find_nonzero md5 sha1 sha256 sha512 
fmt_no
        #if test $(HAVE_LZO) = 1; then $(MAKE) check_lzo_test; fi
        if test $(HAVE_LZO) = 1; then $(MAKE) check_lzo_fuzz; fi
        # Tests for libddr_null
-       $(VG) ./dd_rescue -L ./libddr_null.so=debug dd_rescue /dev/null
-       # Tests with hash set_xattr and chk_xattr (with fallback as not all 
filesystems support xattrs ...)
-       $(VG) ./dd_rescue -tL ./libddr_hash.so=sha256:set_xattr:fallback 
dd_rescue /tmp/dd_rescue
-       $(VG) ./dd_rescue -L ./libddr_hash.so=sha256:chk_xattr:fallback 
/tmp/dd_rescue /dev/null
-       rm -f /tmp/dd_rescue CHECKSUMS.sha256
-       # Tests with prepend and append
-       $(VG) ./dd_rescue -tL 
./libddr_hash.so=sha512:set_xattr:fallback:prepend=abc:append=xyz dd_rescue 
/tmp/dd_rescue
-       $(VG) ./dd_rescue  -L ./libddr_hash.so=sha512:chk_xattr:fallback 
/tmp/dd_rescue /dev/null && false || true
-       $(VG) ./dd_rescue  -L 
./libddr_hash.so=sha512:chk_xattr:fallback:prepend=abc:append=xyz 
/tmp/dd_rescue /dev/null
+       $(VG) ./dd_rescue  -L ./libddr_null.so=debug dd_rescue /dev/null
+       # Hash tests with set_xattr and chk_xattr
+       if test $(HAVE_XATTR) = 1; then $(MAKE) check_xattr_storehash; fi
        # Extra xattrs (should be preserved)
        #make check_xattr_copy
        # Tests with HMAC
@@ -514,6 +514,15 @@ check: $(TARGETS) find_nonzero md5 sha1 sha256 sha512 
fmt_no
        #$(MAKE) check_aes
        $(MAKE) check_crypt
 
+check_xattr_storehash: $(TARGETS)
+       # Tests with hash set_xattr and chk_xattr (with fallback as not all 
filesystems support xattrs ...)
+       $(VG) ./dd_rescue -tL ./libddr_hash.so=sha256:set_xattr:fallback 
dd_rescue /tmp/dd_rescue
+       $(VG) ./dd_rescue  -L ./libddr_hash.so=sha256:chk_xattr:fallback 
/tmp/dd_rescue /dev/null
+       rm -f /tmp/dd_rescue CHECKSUMS.sha256
+       # Tests with prepend and append
+       $(VG) ./dd_rescue -tL 
./libddr_hash.so=sha512:set_xattr:fallback:prepend=abc:append=xyz dd_rescue 
/tmp/dd_rescue
+       $(VG) ./dd_rescue  -L ./libddr_hash.so=sha512:chk_xattr:fallback 
/tmp/dd_rescue /dev/null && false || true
+       $(VG) ./dd_rescue  -L 
./libddr_hash.so=sha512:chk_xattr:fallback:prepend=abc:append=xyz 
/tmp/dd_rescue /dev/null
 
 # FIXME: This fails on filesystems without xattr support - disabled until we 
know how to handle this
 check_xattr_copy: $(TARGETS)
commit 919323921daed3afc339079378d1af58f0252840
Author: Kurt Garloff <k...@garloff.de>
Date:   Sun Apr 15 17:04:03 2018 +0200

    Also avoid xattr usage in test_crypt.sh if not supported.

diff --git a/test_crypt.sh b/test_crypt.sh
index 0aef640..47f1fc9 100755
--- a/test_crypt.sh
+++ b/test_crypt.sh
@@ -170,10 +170,12 @@ done
 echo "*** Salt and XAttrs ***"
 # Use random numbers and write to binary file
 enc_dec_compare dd_rescue AES192-CTR saltgen pass=PWD_:pbkdf2:saltfile=SALT
-# Use random numbers and write to xattr, fall back to saltsfile
-enc_dec_compare dd_rescue AES192-CTR saltgen 
pass=PSWD:pbkdf2:saltxattr:sxfallback
-# Save key and IV to xattrs
-enc_dec_compare dd_rescue AES192-CTR keygen:ivgen 
keyxattr:kxfallb:ivxattr:ixfallb
+if grep 'define HAVE_ATTR_XATTR_H 1' config.h >/dev/null 2>&1 ; then
+  # Use random numbers and write to xattr, fall back to saltsfile
+  enc_dec_compare dd_rescue AES192-CTR saltgen 
pass=PSWD:pbkdf2:saltxattr:sxfallback
+  # Save key and IV to xattrs
+  enc_dec_compare dd_rescue AES192-CTR keygen:ivgen 
keyxattr:kxfallb:ivxattr:ixfallb
+fi
 
 HAVE_AESNI=`grep " sse4" /proc/cpuinfo 2>/dev/null | grep " aes " 2>/dev/null`
 HAVE_AESARM=`grep " pmull " /proc/cpuinfo 2>/dev/null`

Reply via email to