[pacman-dev] [PATCH 6/8] pacman-key: allow verification of multiple sig files
Dave Reisner
dreisner at archlinux.org
Thu Apr 12 10:54:36 EDT 2012
Loop through arguments passed to verify_sig and treat each as a
signature to be verified against a source file. Output each file as its
checked to avoid ambiguity.
Signed-off-by: Dave Reisner <dreisner at archlinux.org>
---
doc/pacman-key.8.txt | 2 +-
scripts/pacman-key.sh.in | 15 ++++++++++-----
2 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/doc/pacman-key.8.txt b/doc/pacman-key.8.txt
index 96ac31c..4a2122f 100644
--- a/doc/pacman-key.8.txt
+++ b/doc/pacman-key.8.txt
@@ -96,7 +96,7 @@ Operations
Displays the program version.
*-v, \--verify*::
- Verify the given signature file.
+ Verify the given targets as signature files.
Options
-------
diff --git a/scripts/pacman-key.sh.in b/scripts/pacman-key.sh.in
index b2c3da9..2083a60 100644
--- a/scripts/pacman-key.sh.in
+++ b/scripts/pacman-key.sh.in
@@ -66,7 +66,7 @@ usage() {
printf -- "$(gettext " -l, --list-keys List the specified or all keys")\n"
printf -- "$(gettext " -r, --recv-keys Fetch the specified keyids")\n"
printf -- "$(gettext " -u, --updatedb Update the trustdb of pacman")\n"
- printf -- "$(gettext " -v, --verify Verify the file specified by the signature")\n"
+ printf -- "$(gettext " -v, --verify Verify the file(s) specified by the signature(s)")\n"
printf -- "$(gettext " --edit-key Present a menu for key management task on keyids")\n"
printf -- "$(gettext " --import Imports pubring.gpg from dir(s)")\n"
printf -- "$(gettext " --import-trustdb Imports ownertrust values from trustdb.gpg in dir(s)")\n"
@@ -455,10 +455,15 @@ refresh_keys() {
}
verify_sig() {
- if ! "${GPG_PACMAN[@]}" --status-fd 1 --verify "$1" | grep -qE 'TRUST_(FULLY|ULTIMATE)'; then
- error "$(gettext "The signature identified by %s could not be verified.")" "$1"
- exit 1
- fi
+ local ret=0
+ for sig; do
+ msg "Checking %s ..." "$sig"
+ if ! "${GPG_PACMAN[@]}" --status-fd 1 --verify "$sig" | grep -qE 'TRUST_(FULLY|ULTIMATE)'; then
+ error "$(gettext "The signature identified by %s could not be verified.")" "$sig"
+ ret=1
+ fi
+ done
+ exit $ret
}
updatedb() {
--
1.7.10
More information about the pacman-dev
mailing list