summaryrefslogtreecommitdiff
path: root/src/password-store.sh
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2014-04-15 17:48:19 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2014-04-15 17:48:19 +0200
commit98a9867ff6e202b159861f2cd527395d7d5d6685 (patch)
treef2ba61fa486965e3a8457691e1cc6509bade650d /src/password-store.sh
parentc0df57a3543e79cb9b5effe62054d5415f70e837 (diff)
downloadpass-98a9867ff6e202b159861f2cd527395d7d5d6685.tar.gz
pass-98a9867ff6e202b159861f2cd527395d7d5d6685.tar.bz2
pass-98a9867ff6e202b159861f2cd527395d7d5d6685.zip
Check for agent before batch processes
Diffstat (limited to '')
-rwxr-xr-xsrc/password-store.sh23
1 files changed, 19 insertions, 4 deletions
diff --git a/src/password-store.sh b/src/password-store.sh
index 4daf8fa..ac3e20b 100755
--- a/src/password-store.sh
+++ b/src/password-store.sh
@@ -65,6 +65,16 @@ set_gpg_recipients() {
GPG_RECIPIENT_ARGS+=( "-r" "$gpg_id" )
done < "$current"
}
+agent_check() {
+ [[ -n $GPG_AGENT_INFO ]] || yesno "$(cat <<-_EOF
+ You are not running gpg-agent. This means that you will
+ need to enter your password for each and every gpg file
+ that pass processes. This could be quite tedious.
+
+ Are you sure you would like to continue without gpg-agent?
+ _EOF
+ )"
+}
#
# END helper functions
@@ -105,10 +115,14 @@ tmpdir() {
if [[ -d /dev/shm && -w /dev/shm && -x /dev/shm ]]; then
SECURE_TMPDIR="$(TMPDIR=/dev/shm mktemp -d -t "$template")"
else
- yesno "$(echo "Your system does not have /dev/shm, which means that it may"
- echo "be difficult to entirely erase the temporary non-encrypted"
- echo "password file after editing. Are you sure you would like to"
- echo -n "continue?")"
+ yesno "$(cat <<-_EOF
+ Your system does not have /dev/shm, which means that it may
+ be difficult to entirely erase the temporary non-encrypted
+ password file after editing.
+
+ Are you sure you would like to continue?
+ _EOF
+ )"
SECURE_TMPDIR="$(mktemp -d -t "$template")"
fi
@@ -214,6 +228,7 @@ cmd_init() {
git_add_file "$gpg_id" "Set GPG id to ${id_print%, }."
if [[ $reencrypt -eq 1 ]]; then
+ agent_check
local passfile
find "$PREFIX/$id_path" -iname '*.gpg' | while read -r passfile; do
fake_uniqueness_safety="$RANDOM"