summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2012-10-10 16:05:28 +0200
committerMichael Vogt <michael.vogt@ubuntu.com>2012-10-10 16:05:28 +0200
commit4755c72601c11b800650f942f855cee286c50356 (patch)
tree202558cf7acc16137982a393565a72d8267a3b33
parent1f299c6eef3e5b6e2cd74c27dfd33de41e08f734 (diff)
downloadpython-apt-4755c72601c11b800650f942f855cee286c50356.tar.gz
cherry pick robustness fixes for keyid (allow leading 0x, allow lowercase)
-rw-r--r--apt/auth.py4
-rw-r--r--tests/test_auth.py3
2 files changed, 5 insertions, 2 deletions
diff --git a/apt/auth.py b/apt/auth.py
index 742b5cc2..eff13b1a 100644
--- a/apt/auth.py
+++ b/apt/auth.py
@@ -175,7 +175,9 @@ def _add_key_from_keyserver(keyid, keyserver, tmp_keyring_dir):
got_fingerprint = line.split(":")[9]
# stop after the first to ensure no subkey trickery
break
- signing_key_fingerprint = keyid
+ # strip the leading "0x" is there is one and uppercase (as this is
+ # what gnupg is using)
+ signing_key_fingerprint = keyid.replace("0x", "").upper()
if got_fingerprint != signing_key_fingerprint:
raise AptKeyError(
"Fingerprints do not match, not importing: '%s' != '%s'" % (
diff --git a/tests/test_auth.py b/tests/test_auth.py
index 4e37b3d3..d742a471 100644
--- a/tests/test_auth.py
+++ b/tests/test_auth.py
@@ -207,7 +207,8 @@ class TestAuthKeys(unittest.TestCase):
self.addCleanup(self._stop_keyserver)
apt.auth.add_key_from_keyserver(
- "A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553", "hkp://localhost:19191")
+ "0xa1bD8E9D78F7FE5C3E65D8AF8B48AD6246925553",
+ "hkp://localhost:19191")
ret = apt.auth.list_keys()
self.assertEqual(len(ret), 1)