From e200816529b2fd80c0f1bc9d6badc481382b22c8 Mon Sep 17 00:00:00 2001 From: Tomas Kopecek Date: Aug 25 2020 13:29:52 +0000 Subject: lowercase sigkeys during import/query where needed Fixes: https://pagure.io/koji/issue/2434 --- diff --git a/cli/koji_cli/commands.py b/cli/koji_cli/commands.py index 75632d4..8afd90b 100644 --- a/cli/koji_cli/commands.py +++ b/cli/koji_cli/commands.py @@ -1524,7 +1524,7 @@ def handle_write_signed_rpm(goptions, session, args): parser.error(_("A signature key must be specified")) if len(args) < 2 and not (options.all or options.buildid): parser.error(_("At least one RPM must be specified")) - key = args.pop(0) + key = args.pop(0).lower() activate_session(session, goptions) if options.all: rpms = session.queryRPMSigs(sigkey=key) diff --git a/hub/kojihub.py b/hub/kojihub.py index c2c807e..0052542 100644 --- a/hub/kojihub.py +++ b/hub/kojihub.py @@ -7471,7 +7471,7 @@ def check_rpm_sig(an_rpm, sigkey, sighdr): found_key = None else: found_key = koji.get_sigpacket_key_id(raw_key) - if sigkey != found_key: + if sigkey.lower() != found_key: raise koji.GenericError("Signature key mismatch: got %s, expected %s" % (found_key, sigkey)) os.unlink(temp) @@ -7491,6 +7491,7 @@ def query_rpm_sigs(rpm_id=None, sigkey=None, queryOpts=None): if rpm_id is not None: clauses.append("rpm_id=%(rpm_id)s") if sigkey is not None: + sigkey = sigkey.lower() clauses.append("sigkey=%(sigkey)s") query = QueryProcessor(columns=fields, tables=('rpmsigs',), clauses=clauses, values=locals(), opts=queryOpts) @@ -7499,6 +7500,7 @@ def query_rpm_sigs(rpm_id=None, sigkey=None, queryOpts=None): def write_signed_rpm(an_rpm, sigkey, force=False): """Write a signed copy of the rpm""" + sigkey = sigkey.lower() rinfo = get_rpm(an_rpm, strict=True) if rinfo['external_repo_id']: raise koji.GenericError("Not an internal rpm: %s (from %s)"