summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Andres Klode <julian.klode@canonical.com>2024-06-13 12:43:05 +0200
committerJulian Andres Klode <julian.klode@canonical.com>2024-06-13 12:47:49 +0200
commit53597500089549f412eeef11e0e262a4810deda4 (patch)
tree055acbe9bb19c3b2a21392b65e6018d7a477639c
parentd7ace9e28be6c65cd0e0b9b01b892ca0493db48d (diff)
Check gpgv --dump-options for --assert-pubkey-algo support
This avoids the fragile --help check. This option is not documented in the manual page but seems to be there. Thanks: Justus Winter for the idea
-rw-r--r--cmdline/apt-key.in14
1 files changed, 2 insertions, 12 deletions
diff --git a/cmdline/apt-key.in b/cmdline/apt-key.in
index 07522723b..8738094b5 100644
--- a/cmdline/apt-key.in
+++ b/cmdline/apt-key.in
@@ -811,18 +811,8 @@ case "$command" in
exit 29
fi
GPGV_ARGS=""
- if [ "$ASSERT_PUBKEY_ALGO" ]; then
- test="$(LC_ALL=C.UTF-8 "$GPGV" --assert-pubkey-algo 2>&1 || :)"
- case "$test" in
- *"missing argument"*)
- GPGV_ARGS="--assert-pubkey-algo=$ASSERT_PUBKEY_ALGO"
- ;;
- *[Ii]"nvalid option"*"assert-pubkey-algo"*)
- ;;
- *)
- apt_warn "Unknown response from gpgv to --assert-pubkey-algo check: $test"
- ;;
- esac
+ if [ "$ASSERT_PUBKEY_ALGO" ] && $GPGV --dump-options | grep -q -- --assert-pubkey-algo; then
+ GPGV_ARGS="--assert-pubkey-algo=$ASSERT_PUBKEY_ALGO"
fi
# for a forced keyid we need gpg --export, so full wrapping required
if [ -n "$FORCED_KEYID" ]; then