aboutsummaryrefslogtreecommitdiff
path: root/handlers
diff options
context:
space:
mode:
authorintrigeri <intrigeri@boum.org>2005-12-27 19:38:15 +0000
committerintrigeri <intrigeri@boum.org>2005-12-27 19:38:15 +0000
commite8c8a32ac25f4346f3fa5e21e24801fcf15d3b54 (patch)
tree95cb3fdd6403df614aed4ef6fc967e807bf8cb3c /handlers
parent0a60cd6e3bed75e6507713beb785846b51866484 (diff)
downloadbackupninja-e8c8a32ac25f4346f3fa5e21e24801fcf15d3b54.tar.gz
backupninja-e8c8a32ac25f4346f3fa5e21e24801fcf15d3b54.tar.bz2
dup: now possible to use different keys to sign and encrypt
Diffstat (limited to 'handlers')
-rw-r--r--handlers/dup17
1 files changed, 12 insertions, 5 deletions
diff --git a/handlers/dup b/handlers/dup
index 79be2fc..c28619d 100644
--- a/handlers/dup
+++ b/handlers/dup
@@ -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