summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2016-02-05 21:28:26 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2016-02-05 21:28:26 +0100
commit9715ddcd2b2a3f3ed0f27398048191ac2de60c8b (patch)
tree2aa298e3d099e434d4a87ee6cd47bd50533ef463 /src
parent3220fd7dec896a6ccdc16e857c102237209107ea (diff)
downloadpass-9715ddcd2b2a3f3ed0f27398048191ac2de60c8b.tar.gz
pass-9715ddcd2b2a3f3ed0f27398048191ac2de60c8b.tar.bz2
pass-9715ddcd2b2a3f3ed0f27398048191ac2de60c8b.zip
generate: have a default length of 25
Folks are lazy and don't want to type very much, so they'd like to have a default password length to generate that can be configured via environment variables per usual. I'm making the default 25. If the user forbids the use of symbols, pwgen will use a-zA-Z0-9, ensuring that at least one A-Z and at least one 0-9 is used. We want to have a password of at least 128-bits, so factoring in the issue with "at least one of this character type", 25 gets us there squarely. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to '')
-rwxr-xr-xsrc/password-store.sh9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/password-store.sh b/src/password-store.sh
index 6f85d3b..1425a59 100755
--- a/src/password-store.sh
+++ b/src/password-store.sh
@@ -15,6 +15,7 @@ which gpg2 &>/dev/null && GPG="gpg2"
PREFIX="${PASSWORD_STORE_DIR:-$HOME/.password-store}"
X_SELECTION="${PASSWORD_STORE_X_SELECTION:-clipboard}"
CLIP_TIME="${PASSWORD_STORE_CLIP_TIME:-45}"
+GENERATED_LENGTH="${PASSWORD_STORE_GENERATED_LENGTH:-25}"
export GIT_DIR="${PASSWORD_STORE_GIT:-$PREFIX}/.git"
export GIT_WORK_TREE="${PASSWORD_STORE_GIT:-$PREFIX}"
@@ -234,8 +235,8 @@ cmd_usage() {
overwriting existing password unless forced.
$PROGRAM edit pass-name
Insert a new password or edit an existing password using ${EDITOR:-vi}.
- $PROGRAM generate [--no-symbols,-n] [--clip,-c] [--in-place,-i | --force,-f] pass-name pass-length
- Generate a new password of pass-length with optionally no symbols.
+ $PROGRAM generate [--no-symbols,-n] [--clip,-c] [--in-place,-i | --force,-f] pass-name [pass-length]
+ Generate a new password of pass-length (or $GENERATED_LENGTH if unspecified) with optionally no symbols.
Optionally put it on the clipboard and clear board after $CLIP_TIME seconds.
Prompt before overwriting existing password unless forced.
Optionally replace only the first line of an existing file with a new password.
@@ -441,9 +442,9 @@ cmd_generate() {
--) shift; break ;;
esac done
- [[ $err -ne 0 || $# -ne 2 || ( $force -eq 1 && $inplace -eq 1 ) ]] && die "Usage: $PROGRAM $COMMAND [--no-symbols,-n] [--clip,-c] [--in-place,-i | --force,-f] pass-name pass-length"
+ [[ $err -ne 0 || ( $# -ne 2 && $# -ne 1 ) || ( $force -eq 1 && $inplace -eq 1 ) ]] && die "Usage: $PROGRAM $COMMAND [--no-symbols,-n] [--clip,-c] [--in-place,-i | --force,-f] pass-name [pass-length]"
local path="$1"
- local length="$2"
+ local length="${2:-$GENERATED_LENGTH}"
check_sneaky_paths "$path"
[[ ! $length =~ ^[0-9]+$ ]] && die "Error: pass-length \"$length\" must be a number."
mkdir -p -v "$PREFIX/$(dirname "$path")"