Amanda-Users

Re: span + amcrypt-ossl-asym == not able to recover data

2007-05-15 19:40:53
Subject: Re: span + amcrypt-ossl-asym == not able to recover data
From: Jean-Louis Martineau <martineau AT zmanda DOT com>
To: Christopher McCrory <chrismcc AT pricegrabber DOT com>
Date: Tue, 15 May 2007 19:27:08 -0400
This bug is already fixed in latest 2.5.1p3 snapshot.

Patch attached.

Jean-Louis

Christopher McCrory wrote:
Hello...

2.5.1p3
RHEL4

amfetchdump -a DailySet1 server /data 20070513

...

amfetchdump: 23: restoring split dumpfile: date 20070513000503 host
server disk /data part 1/24 lev 0 comp .gz program /sbin/dump crypt enc
server_encrypt /usr/sbin/amcrypt-ossl-asym server_decrypt_option -d
amcrypt-ossl-asym: /usr/bin/openssl is version 0.9.7a
amcrypt-ossl-asym: Using pass phrase kluge for OpenSSL version >=0.9.7d
amfetchdump: 24: restoring split dumpfile: date 20070513000503 host
server disk /data part 2/24 lev 0 comp .gz program /sbin/dump crypt enc
server_encrypt /usr/sbin/amcrypt-ossl-asym server_decrypt_option -d
amcrypt-ossl-asym: /usr/bin/openssl is version 0.9.7a
amcrypt-ossl-asym: Using pass phrase kluge for OpenSSL version >=0.9.7d
amcrypt-ossl-asym: bad magic
amcrypt-ossl-asym: decryption failed
amfetchdump: restore: wrote 4110 of 32768 bytes: Broken pipe


The decrypt works on the first chunk, but fails on the second.  I get a
good server._data.$date.0.01 and a zero length
server._data.$date.0.02.tmp


Ouch!

Any ideas?




diff -u -r --show-c-function --new-file 
--exclude-from=/home/martinea/src.orig/amanda.diff 
--ignore-matching-lines='$Id:' restore-src/restore.c.orig restore-src/restore.c
--- restore-src/restore.c.orig  2007-02-22 13:27:28.000000000 -0500
+++ restore-src/restore.c       2007-04-16 08:57:34.000000000 -0400
@@ -902,7 +902,8 @@ restore(
          || file->type != F_SPLIT_DUMPFILE))
        need_uncompress=1;   
 
-    if(!flags->raw && file->encrypted)
+    if(!flags->raw && file->encrypted && !is_continuation
+         && (flags->inline_assemble || file->type != F_SPLIT_DUMPFILE))
        need_decrypt=1;
    
     /* Setup pipes for decryption / compression / uncompression  */
<Prev in Thread] Current Thread [Next in Thread>