commit d8c5cd24d14b561742f614c43eed77269a2ab635
parent dd91e124b41ef4d139f2b28d7b993529377d5ca5
Author: Jaromil <jaromil@dyne.org>
Date: Sun, 4 Jan 2015 21:02:27 +0100
better checks on file creation, both on dig and forge
Diffstat:
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/tomb b/tomb
@@ -1358,6 +1358,10 @@ dig_tomb() {
# Ensure that file permissions are safe even if interrupted
touch $TOMBPATH
+ [[ $? = 0 ]] || {
+ _warning "Error creating the tomb ::1 tomb path::" $TOMBPATH
+ _failure "Operation aborted."
+ }
chmod 0600 $TOMBPATH
_verbose "Data dump using ::1:: from /dev/urandom" ${DD[1]}
@@ -1410,6 +1414,12 @@ forge_key() {
ls -lh $destkey
_failure "Forging this key would overwrite an existing file. Operation aborted." }
+ touch $destkey
+ [[ $? == 0 ]] || {
+ _warning "Cannot generate encryption key."
+ _failure "Operation aborted." }
+ chmod 0600 $destkey
+
# Update algorithm if it was passed on the command line with -o
{ option_is_set -o } && algopt="$(option_value -o)"
[[ -n "$algopt" ]] && algo=$algopt
@@ -1439,8 +1449,6 @@ forge_key() {
_success "Choose the password of your key: ::1 tomb key::" $TOMBKEYFILE
_message "(You can also change it later using 'tomb passwd'.)"
# _user_file $TOMBKEYFILE
- touch $TOMBKEYFILE
- chmod 0600 $TOMBKEYFILE
tombname="$TOMBKEYFILE" # XXX ???
# the gen_key() function takes care of the new key's encryption