dup: now possible to use different keys to sign and encrypt
authorintrigeri <intrigeri@758a04ac-41e6-0310-8a23-8373a73cc35d>
Tue, 27 Dec 2005 19:38:15 +0000 (19:38 +0000)
committerintrigeri <intrigeri@758a04ac-41e6-0310-8a23-8373a73cc35d>
Tue, 27 Dec 2005 19:38:15 +0000 (19:38 +0000)
git-svn-id: http://code.autistici.org/svn/backupninja/trunk@284 758a04ac-41e6-0310-8a23-8373a73cc35d

ChangeLog
examples/example.dup
handlers/dup

index be7fb0fa1d60a3d1dd7860820de872e7ae196e98..2c75eca67cdcec92759b1b2d81eed41f9413fece 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -20,6 +20,8 @@ version 0.9.2 -- unreleased
                a nice menu to choose the Vservers to backup (thanks to
                lib/vserver)
        added man/ninjahelper.1 man page
+       duplicity handler: now possible to use different keys to encrypt and
+               sign
        
 version 0.9.1 -- November 05 2005
        rearranged source so that it is relocatable with autotools
index 7db77710c755167cb68634c69604d2ef05a99a68..88ac28c2287d93fcf56d75b02f21950da6653ac2 100644 (file)
@@ -19,13 +19,17 @@ nicelevel = 19
 password = a_very_complicated_passphrase
 
 # default is no, for backward compatibility with backupninja <= 0.5.
-# when set to yes, encryptkey option must be set below.
+# when set to yes, either signkey or encryptkey option must be set below.
 sign = yes
 
-# key ID used for data encryption and, optionnally, signing.
-# if not set, local root's default gpg key is used.
+# key ID used for data encryption.
+# if not set, local root's default GnuPG key is used.
 encryptkey = 04D9EA79
 
+# key ID used for data signing.
+# if not set, encryptkey will be used.
+#signkey = 04D9EA79
+
 ######################################################
 ## source section
 ## (where the files to be backed up are coming from)
index 79be2fc61fd5f13c078c746fbdd3b63ef43fb4cb..c28619d08ccb9ec5d5a8a30af3a10a8b81475346 100644 (file)
@@ -11,6 +11,7 @@ setsection gpg
 getconf password
 getconf sign no
 getconf encryptkey
+getconf signkey
 
 setsection source
 getconf include
@@ -79,11 +80,17 @@ scpoptions="$sshoptions"
 
 execstr="$options --no-print-statistics --scp-command 'scp $scpoptions' --ssh-command 'ssh $sshoptions' "
 
-if [ "$encryptkey" == "" ]; then
-    [ "$sign" != "yes" ] || fatal "encryptkey option must be set when signing."
-else
-    execstr="${execstr}--encrypt-key $encryptkey "
-    [ "$sign" != "yes" ] || execstr="${execstr}--sign-key $encryptkey "
+# if encryptkey is set, add --encrypt-key to the command-line
+[ -z "$encryptkey" ] || execstr="${execstr}--encrypt-key $encryptkey "
+# if signkey is not set, set it to encryptkey
+[ -n "$signkey" ] || signkey="$encryptkey"
+# if needed, add --sign-key to command-line
+if [ "$sign" == "yes" ]; then
+    if [ -n "$signkey" ]; then
+       execstr="${execstr}--sign-key $signkey "
+    else
+       fatal "Either encryptkey or signkey option must be set when signing."
+    fi
 fi
 
 if [ "$keep" != "yes" ]; then