[pacman-dev] [PATCH 1/3] Revert "makepkg: allow less than the full fingerprint in validpgpkeys"
Dave Reisner
dreisner at archlinux.org
Sun Oct 12 15:38:35 UTC 2014
This reverts commit 50296576d006d433fbfd4a6c57d5f95a942f7833.
---
doc/PKGBUILD.5.txt | 4 +---
scripts/makepkg.sh.in | 21 +--------------------
2 files changed, 2 insertions(+), 23 deletions(-)
diff --git a/doc/PKGBUILD.5.txt b/doc/PKGBUILD.5.txt
index 8a43bae..74aea32 100644
--- a/doc/PKGBUILD.5.txt
+++ b/doc/PKGBUILD.5.txt
@@ -138,9 +138,7 @@ the integrity of the corresponding source file.
trust values from the keyring. If the source file was signed with a
subkey, makepkg will still use the primary key for comparison.
+
-Fingerprints must be uppercase and must not contain whitespace characters. They
-must be either the full fingerprint or match at least 16 characters of the full
-fingerprint, starting from the end of the fingerprint.
+Fingerprints must be uppercase and must not contain whitespace characters.
*noextract (array)*::
An array of file names corresponding to those from the source array. Files
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 9d3ba2c..f949403 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -1410,25 +1410,6 @@ parse_gpg_statusfile() {
done < "$1"
}
-is_known_valid_pgp_key() {
- local fprint subject=$1 validfprints=("${@:2}")
-
- for fprint in "${validfprints[@]}"; do
- # we always honor full fingerprint matches
- if [[ "$subject" = "$fprint" ]]; then
- return 0
- fi
-
- # we'll also honor a suffix match, assuming that the fprint is long enough
- # to be worthy.
- if (( ${#fprint} >= 16 )) && [[ $subject = *"$fprint" ]]; then
- return 0
- fi
- done
-
- return 1
-}
-
check_pgpsigs() {
(( SKIPPGPCHECK )) && return 0
! source_has_signatures && return 0
@@ -1515,7 +1496,7 @@ check_pgpsigs() {
if (( ${#validpgpkeys[@]} == 0 && ! $trusted )); then
printf "%s ($(gettext "the public key %s is not trusted"))" $(gettext "FAILED") "$pubkey" >&2
errors=1
- elif ! is_known_valid_pgp_key "$fingerprint" "${validpgpkeys[@]}"; then
+ elif (( ${#validpgpkeys[@]} > 0 )) && ! in_array "$fingerprint" "${validpgpkeys[@]}"; then
printf "%s (%s $pubkey)" "$(gettext "FAILED")" "$(gettext "invalid public key")"
errors=1
else
--
2.1.2
More information about the pacman-dev
mailing list