From 4153129f3ae06a7dca7085e05e278232bbb81d32 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Tue, 26 Feb 2013 13:01:34 -0300 Subject: Recrypt only when decrypt is successful (#6) --- share/keyringer/decrypt | 3 +++ share/keyringer/recrypt | 10 ++++++++++ 2 files changed, 13 insertions(+) (limited to 'share/keyringer') diff --git a/share/keyringer/decrypt b/share/keyringer/decrypt index adc1134..bab9b34 100755 --- a/share/keyringer/decrypt +++ b/share/keyringer/decrypt @@ -12,3 +12,6 @@ keyringer_get_file "$2" # Decrypt $GPG --quiet --use-agent -d "$KEYDIR/$FILE" + +# Exit +exit "$?" diff --git a/share/keyringer/recrypt b/share/keyringer/recrypt index cbf1af9..fc16603 100755 --- a/share/keyringer/recrypt +++ b/share/keyringer/recrypt @@ -14,6 +14,16 @@ function keyringer_recrypt { # Set recipients file keyringer_set_recipients "$FILE" + # Test decryption + $GPG --use-agent -d "$KEYDIR/$FILE" > /dev/null + + err="$?" + + if [ "$err" != "0" ]; then + echo "$BASENAME: decryption failed. Can't recrypt." + exit "$err" + fi + # Recrypt $GPG --use-agent -d "$KEYDIR/$FILE" | $GPG --use-agent --armor -e -s $(keyringer_recipients "$RECIPIENTS_FILE") > "$KEYDIR/$FILE" -- cgit v1.2.3