diff options
author | David Kalnischkies <david@kalnischkies.de> | 2015-04-07 22:34:34 +0200 |
---|---|---|
committer | David Kalnischkies <david@kalnischkies.de> | 2015-04-07 22:34:34 +0200 |
commit | d5cf8851753dde4f45bfd3b48fcdf34247a8752a (patch) | |
tree | 5fc7a2c731dcd1999e1cac623d8c193bab279b9e | |
parent | 7e9b7ea8236a79580c4ca47712558096d66bad53 (diff) | |
download | apt-d5cf8851753dde4f45bfd3b48fcdf34247a8752a.tar.gz |
keyids in "apt-key del" should be case-insensitive
gnupg is case-insensitive about keyids, so back then apt-key called it
directly any keyid was accepted, but now that we work more with the
keyid ourself we regressed to require uppercase keyids by accident.
This is also inconsistent with other apt-key commands which still use
gnupg directly. A single case-insensitive grep and we are fine again.
Closes: 781696
-rw-r--r-- | cmdline/apt-key.in | 2 | ||||
-rwxr-xr-x | test/integration/test-apt-key | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/cmdline/apt-key.in b/cmdline/apt-key.in index b4e071000..1da311d35 100644 --- a/cmdline/apt-key.in +++ b/cmdline/apt-key.in @@ -180,7 +180,7 @@ update() { remove_key_from_keyring() { local GPG="$GPG_CMD --keyring $1" # check if the key is in this keyring: the key id is in the 5 column at the end - if ! $GPG --with-colons --list-keys 2>&1 | grep -q "^pub:[^:]*:[^:]*:[^:]*:[0-9A-F]*$2:"; then + if ! $GPG --with-colons --list-keys 2>&1 | grep -iq "^pub:[^:]*:[^:]*:[^:]*:[0-9A-F]*$2:"; then return fi if [ ! -w "$1" ]; then diff --git a/test/integration/test-apt-key b/test/integration/test-apt-key index 47230cb55..b4f823ef1 100755 --- a/test/integration/test-apt-key +++ b/test/integration/test-apt-key @@ -111,3 +111,9 @@ cleanplate cp -a keys/joesixpack.pub rootdir/etc/apt/trusted.gpg.d/joesixpack.gpg testsuccess --nomsg aptkey --fakeroot del 5A90D141DBAC8DAE testempty aptkey list + +msgtest 'Test key removal with' 'lowercase key ID' #keylength somewher between 8byte and short +cleanplate +cp -a keys/joesixpack.pub rootdir/etc/apt/trusted.gpg.d/joesixpack.gpg +testsuccess --nomsg aptkey --fakeroot del d141dbac8dae +testempty aptkey list |