diff options
author | Zac Medico <zmedico@gentoo.org> | 2012-10-17 18:43:27 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2012-10-17 18:43:27 -0700 |
commit | 4ec3c49862c9b3cf0ccd7bd2d8112faf36bb04f0 (patch) | |
tree | c48abe1eb3838d146ee0edbb5b0ea5333a3fc709 | |
parent | 4bd612e8521983f5b8ad939ba3ccf27fccb0d874 (diff) | |
download | portage-4ec3c49862c9b3cf0ccd7bd2d8112faf36bb04f0.tar.gz portage-4ec3c49862c9b3cf0ccd7bd2d8112faf36bb04f0.tar.bz2 portage-4ec3c49862c9b3cf0ccd7bd2d8112faf36bb04f0.zip |
ManifestTask: stricter gpg key comparison
Use normalization and == comparison instead of the "in" operator.
-rw-r--r-- | pym/portage/package/ebuild/_parallel_manifest/ManifestTask.py | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/pym/portage/package/ebuild/_parallel_manifest/ManifestTask.py b/pym/portage/package/ebuild/_parallel_manifest/ManifestTask.py index e155bc94b..d923088f5 100644 --- a/pym/portage/package/ebuild/_parallel_manifest/ManifestTask.py +++ b/pym/portage/package/ebuild/_parallel_manifest/ManifestTask.py @@ -82,13 +82,26 @@ class ManifestTask(CompositeTask): return m.group(0) return None + @staticmethod + def _normalize_gpg_key(key_str): + """ + Strips leading "0x" and trailing "!", and converts to uppercase + (intended to be the same format as that in gpg --verify output). + """ + key_str = key_str.upper() + if key_str.startswith("0X"): + key_str = key_str[2:] + key_str = key_str.rstrip("!") + return key_str + def _check_sig_key_exit(self, proc): self._assert_current(proc) parsed_key = self._parse_gpg_key( proc.pipe_reader.getvalue().decode('utf_8', 'replace')) if parsed_key is not None and \ - parsed_key.lower() in self.force_sign_key.lower(): + self._normalize_gpg_key(parsed_key) == \ + self._normalize_gpg_key(self.force_sign_key): self.returncode = os.EX_OK self._current_task = None self.wait() |