t[cleanup] _load_key - tomb - the crypto undertaker HTML git clone git://parazyd.org/tomb.git DIR Log DIR Files DIR Refs DIR README DIR LICENSE --- DIR commit b857122d7d204f4f6e47d2dd46e23cd2cd6530e2 DIR parent 27ec914870cd4ddca9c6599e47b651535eb701ef HTML Author: hellekin <hellekin@cepheide.org> Date: Tue, 4 Nov 2014 01:04:18 -0300 t[cleanup] _load_key Diffstat: M tomb | 47 ++++++++++--------------------- 1 file changed, 15 insertions(+), 32 deletions(-) --- DIR diff --git a/tomb b/tomb t@@ -802,8 +802,8 @@ _tomb_key_recover recover_key() { # or from stdin if -k - was selected. Run validity checks on the # file. On success, return 0 and print out the full path of the key. # Set global variables TOMBKEY and TOMBKEYFILE. -_load_key load_key() { - local keyfile="$1" # Unique argument is a keyfile +_load_key() { + local keyfile="$1" # Unique argument is an optional keyfile [[ -z $keyfile ]] && keyfile=$(option_value -k) [[ -z $keyfile ]] && { t@@ -917,7 +917,7 @@ get_lukskey() { # the password in the global variable $TOMBPASSWORD ask_key_password() { [[ -z $TOMBKEYFILE ]] && { - _failure "Internal error: ask_key_password() called before load_key()." } + _failure "Internal error: ask_key_password() called before _load_key()." } _message "A password is required to use key ::1 key::" $TOMBKEYFILE passok=0 t@@ -966,8 +966,8 @@ ask_key_password() { change_passwd() { local tmpnewkey lukskey c tombpass tombpasstmp - _check_swap - load_key + _check_swap # Ensure swap is secure, if any + _load_key # Try loading key from option -k and set TOMBKEYFILE _message "Commanded to change password for tomb key ::1 key::" $TOMBKEYFILE t@@ -1109,9 +1109,8 @@ BEGIN { ciphers=0 } # Steganographic function to bury a key inside an image. # Requires steghide(1) to be installed bury_key() { - load_key - [[ $? = 0 ]] || { - _failure "Bury failed for invalid key: ::1 key::" $TOMBKEYFILE } + + _load_key # Try loading key from option -k and set TOMBKEY imagefile=$PARAM t@@ -1238,8 +1237,8 @@ exhume_key() { # Produces a printable image of the key contents so that it can be # backuped on paper and hidden in books etc. engrave_key() { - # load key from options - load_key || _failure "No key specified." + + _load_key # Try loading key from option -k and set TOMBKEYFILE local keyname=$(basename $TOMBKEYFILE) local pngname="$keyname.qr.png" t@@ -1456,12 +1455,7 @@ lock_tomb_with_key() { _message "Fine, this tomb seems empty." fi - # load key from options or file - load_key - - { test $? = 0 } || { - _failure "Aborting operations: error loading key." } - # make sure to call drop_key later + _load_key # Try loading key from option -k and set TOMBKEYFILE # the encryption cipher for a tomb can be set when locking using -o if option_is_set -o; then t@@ -1545,10 +1539,8 @@ change_tomb_key() { { test $? = 0 } || { _failure "Not a valid LUKS encrypted volume: ::1 volume::" $TOMBPATH } - - load_key $tombkey - { test $? = 0 } || { - _failure "Aborting operations: error loading old key from arguments" } + _load_key $tombkey # Try loading given key and set TOMBKEY and + # TOMBKEYFILE local oldkey=$TOMBKEY local oldkeyfile=$TOMBKEYFILE t@@ -1579,9 +1571,7 @@ change_tomb_key() { { test $? = 0 } || { _failure "Unexpected error in luksOpen." } - load_key - { test $? = 0 } || { - _failure "Aborting operations: error loading new key from -k" } + _load_key # Try loading new key from option -k and set TOMBKEYFILE _message "New key: ::1 key file::" $TOMBKEYFILE t@@ -1666,12 +1656,7 @@ mount_tomb() { _verbose "Tomb found: ::1 tomb path::" $TOMBPATH - # load_key called here - load_key - ######## - - { test $? = 0 } || { - _failure "Aborting operations: error loading key ::1 key::" $tombkey } + _load_key # Try loading new key from option -k and set TOMBKEYFILE if [ "$2" = "" ]; then tombmount=/media/$TOMBFILE t@@ -2236,9 +2221,7 @@ resize_tomb() { _plot $tombpath # Set TOMB{PATH,DIR,FILE,NAME} - # load key from options or file - load_key - ######## + _load_key # Try loading new key from option -k and set TOMBKEYFILE local oldtombsize=$(( `stat -c %s "$TOMBPATH" 2>/dev/null` / 1048576 )) local mounted_tomb=`mount -l |