diff --git a/src/archive.sh b/src/archive.sh index 1170258..265974c 100644 --- a/src/archive.sh +++ b/src/archive.sh @@ -43,20 +43,20 @@ archive_exec() { err=0 # tmp files - tmpdir="$TMPDIR/zpass_$(randalnum 20)" - keyfile="$tmpdir/$(randalnum 20).key" + archive_tmpdir="$TMPDIR/zpass_$(randalnum 20)" + keyfile="$archive_tmpdir/$(randalnum 20).key" # operation ( # unpack - unpack "$tmpdir/archive" "$keyfile" || exit $? + unpack "$archive_tmpdir/archive" "$keyfile" || exit $? # execute - (cd "$tmpdir/archive" && "$@") || exit $? + (cd "$archive_tmpdir/archive" && "$@") || exit $? # repack - [ -z "$__NOPACK" ] && { pack "$tmpdir/archive" "$keyfile" || exit $?; } + [ -z "$__NOPACK" ] && { pack "$archive_tmpdir/archive" "$keyfile" || exit $?; } exit 0 ) || err=$? # cleanup - rm -rf "$tmpdir" + rm -rf "$archive_tmpdir" return $err } @@ -64,11 +64,11 @@ archive_exec() create_file() { if [ -f "$file" ] then - tmpdir="$TMPDIR/zpass_$(randalnum 20)" + archive_tmpdir="$TMPDIR/zpass_$(randalnum 20)" # pack n repack with no tmp key: create new - unpack "$tmpdir" || return $? - pack "$tmpdir" || { echo "Encryption error" >&2 && return 1 ; } - rm -rf "$tmpdir" + unpack "$archive_tmpdir" || return $? + pack "$archive_tmpdir" || { echo "Encryption error" >&2 && return 1 ; } + rm -rf "$archive_tmpdir" else # if remote: file tmp and try to get file [ -n "$remote_host" ] && { diff --git a/src/cache.sh b/src/cache.sh index 9178c0f..6fdeff1 100644 --- a/src/cache.sh +++ b/src/cache.sh @@ -12,7 +12,6 @@ write_cache() { } get_key_cached() { - [ ! -f "$file" ] && return 0 cat "$cachepath/$(keyfile)" 2>/dev/null } diff --git a/src/main.sh b/src/main.sh index 33319b6..ebfd4ae 100644 --- a/src/main.sh +++ b/src/main.sh @@ -1,5 +1,10 @@ #!/bin/lxsh +_stop() { + stty echo + rm -rf "$archive_tmpdir" +} + [ "$DEBUG" = true ] && set -x %include util.sh config.sh *.sh @@ -7,7 +12,7 @@ ## pre exec clean_cache 2>/dev/null -[ $# -lt 1 ] && usage && return 1 +[ $# -lt 1 ] && usage && exit 1 arg=$1 shift 1 diff --git a/src/prompt.sh b/src/prompt.sh index c466af2..4b9a70e 100644 --- a/src/prompt.sh +++ b/src/prompt.sh @@ -4,8 +4,7 @@ console_prompt_hidden() { ( - _tty_on() { stty echo; } - trap _tty_on INT + trap _stop INT local prompt printf "%s" "$1" >&2 stty -echo