diff options
| author | Federico Angelilli <code@fedang.net> | 2024-01-13 21:58:04 +0100 |
|---|---|---|
| committer | Federico Angelilli <code@fedang.net> | 2024-01-13 21:58:04 +0100 |
| commit | d161b7cd50d34f589b5ae063518c6ee2849b56f8 (patch) | |
| tree | 0757cb1d5134529c7469c6553f2137439073c2cf /crypt.sh | |
| parent | a11c0d98cb475b7c48f8673bdf48ccadecde40cd (diff) | |
Fix cmd_sign
Diffstat (limited to 'crypt.sh')
| -rwxr-xr-x | crypt.sh | 13 |
1 files changed, 8 insertions, 5 deletions
@@ -717,7 +717,7 @@ cmd_sign() { local loaded=0 files=() if [[ $# -eq 0 ]]; then - [[ $verify -eq 1 ]] || error "Expected file argument" + [[ $verify -eq 1 ]] || error "$PROGRAM $COMMAND [--verify|--remove] [files]" Usage readarray -t files < <(find "$CRYPT_PATH/" -path '*/.git' -prune -o -path "$CRYPT_PATH/*.sig" -print) else for path in "$@"; do @@ -743,28 +743,31 @@ cmd_sign() { fi if [[ $verify -eq 1 ]]; then - printf "Verifying signatures for the keys:\n$(_color white,bold)%s$(_color reset)\n\n" "$CRYPT_SIGNING_KEY" + printf "Verifying signature(s) for the keys:\n$(_color white,bold)%s$(_color reset)\n\n" "$CRYPT_SIGNING_KEY" for f in "${files[@]}"; do - gpg_verify "${f%.sig}" && echo "$f: $(_color green)Valid$(_color reset)" + gpg_verify "${f%.sig}" && echo "${f#$CRYPT_PATH/}: $(_color green)Valid ✔️$(_color reset)" done elif [[ $remove -eq 1 ]]; then for f in "${files[@]}"; do - local file="$CRYPT_PATH/${f%.sig}.sig" + local file="${f%.sig}.sig" [[ ! -f "$file" ]] && echo "${f%.sig} is not signed!" && continue rm -f -v "$file" git_prep "$file" + if [[ ! -e $file ]]; then git -C "$INNER_GIT_DIR" rm -qr "$file" git_prep "$file" git_commit "Remove $f signature from crypt." fi - rmdir -p "${file%/*}" 2>/dev/null done else printf "Signing with the keys:\n$(_color white,bold)%s$(_color reset)\n\n" "$CRYPT_SIGNING_KEY" for f in "${files[@]}"; do + git_prep "$f.sig" gpg_sign "$f" && echo "$(_color green)$f signed successfully$(_color reset)" + git -C "$INNER_GIT_DIR" add "$f" # update file + git_track "$f.sig" "Signing \`$f\` with $CRYPT_SIGNING_KEY." done fi } |
