Skip to content
Snippets Groups Projects
Verified Commit 29d9caa9 authored by Sam B's avatar Sam B Committed by David Runge
Browse files

Collect failed keys and print them at the end

Since !180, all keys are tried. This can indeed be useful but buries
the offending key in a long output log.

This stores a message containing the key and UID during processing and
prints them all at the end.
parent a7877fc1
No related branches found
No related tags found
No related merge requests found
......@@ -42,7 +42,6 @@ gpg_locate_external=(
fingerprint_mboxes="$(
gpg --homedir "$homedir" --no-permission-warning --list-keys --list-options show-only-fpr-mbox
)"
error=0
# a list of <fingerprints> of all revoked keys and keys that have no valid main
# key signatures
......@@ -56,16 +55,20 @@ if (( EUID != 0 )); then
exit 1
fi
errors=()
# first update the main signing keys, then the packager keys
for domain_match in "$main_key_domain_match" "$packager_domain_match"; do
while read -ra fpr_email; do
if [[ ${fpr_email[1]} =~ $domain_match && ! "$old_fingerprints" =~ ${fpr_email[0]} && ! "${invalid_fingerprints[*]}" =~ ${fpr_email[0]} ]]; then
printf "Refreshing key %s with UID %s...\n" "${fpr_email[0]}" "${fpr_email[1]}"
"${gpg_locate_external[@]}" "${fpr_email[1]}" || let ++error
if ! "${gpg_locate_external[@]}" "${fpr_email[1]}"; then
errors+=("Error refreshing key ${fpr_email[0]} with UID ${fpr_email[1]}.")
fi
else
printf "Skipping key %s with UID %s...\n" "${fpr_email[0]}" "${fpr_email[1]}"
fi
done <<< "$fingerprint_mboxes"
done
exit ${error}
>&2 printf "%s\n" "${errors[@]}"
exit ${#errors[@]}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment