From 852e3836e181288baaff9563a31d46b661e2b31a Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Sun, 20 Apr 2014 23:23:08 +0200 Subject: import-keys: initial work --- src/password-store.sh | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/password-store.sh b/src/password-store.sh index bf76708..ab8036c 100755 --- a/src/password-store.sh +++ b/src/password-store.sh @@ -610,6 +610,20 @@ cmd_copy_move() { fi } +cmd_import_keys() { + local keyserver=( ) + local opts + opts="$($GETOPT -o k: -l keyserver: -n "$PROGRAM" -- "$@")" + local err=$? + eval set -- "$opts" + while true; do case $1 in + -k|--keyserver) keyserver=( "--keyserver" "$2" ); shift 2 ;; + --) shift; break ;; + esac done + + $GPG "${keyserver[@]}" --recv-keys $(find "$PREFIX" -name .gpg-id -exec grep -E --color=never -h "^(0x)?[0-9A-Fa-f]{8,}$" {} +) +} + cmd_git() { if [[ $1 == "init" ]]; then git "$@" || exit 1 @@ -642,6 +656,7 @@ case "$1" in delete|rm|remove) shift; cmd_delete "$@" ;; rename|mv) shift; cmd_copy_move "move" "$@" ;; copy|cp) shift; cmd_copy_move "copy" "$@" ;; + import-keys) shift; cmd_import_keys "$@" ;; git) shift; cmd_git "$@" ;; *) COMMAND="show"; cmd_show "$@" ;; esac -- cgit v1.2.3-59-g8ed1b