summaryrefslogtreecommitdiffstats
path: root/key_checker
diff options
context:
space:
mode:
authorjstanley <jstanley@spacewalk.jds2001.org>2009-07-20 14:21:25 -0400
committerjstanley <jstanley@spacewalk.jds2001.org>2009-07-20 14:21:25 -0400
commitfa6c8b292dc2102fb87d0730bf47ff8ad68cbb8a (patch)
treecdfc552a7b102b0a9c006955c53ccee939e35671 /key_checker
parent96a7e78a9bdee5419f827f257a98e740369c7214 (diff)
downloadkeychecker-fa6c8b292dc2102fb87d0730bf47ff8ad68cbb8a.tar.gz
keychecker-fa6c8b292dc2102fb87d0730bf47ff8ad68cbb8a.tar.xz
keychecker-fa6c8b292dc2102fb87d0730bf47ff8ad68cbb8a.zip
Rename to key_checker.py, refactor matching, add -m for machine parseable output
Diffstat (limited to 'key_checker')
-rw-r--r--key_checker61
1 files changed, 0 insertions, 61 deletions
diff --git a/key_checker b/key_checker
deleted file mode 100644
index e7fdfc4..0000000
--- a/key_checker
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/usr/bin/python
-import rpm, rpmUtils.miscutils, sys
-
-ts=rpm.TransactionSet()
-pubkeys={}
-pubkeys['unknown'] = 'Unknown signing key'
-
-def buildKeyList():
- keys = ts.dbMatch(rpm.RPMTAG_NAME, 'gpg-pubkey')
- for hdr in keys:
- pubkeys[hdr[rpm.RPMTAG_VERSION]]=hdr[rpm.RPMTAG_SUMMARY][4:].rsplit('<',1)[0].rstrip()
-def getPkgNevra(hdr):
- if hdr[rpm.RPMTAG_EPOCH]:
- return '%s-%s:%s-%s.%s' % ( hdr[rpm.RPMTAG_NAME], hdr[rpm.RPMTAG_EPOCH],
- hdr[rpm.RPMTAG_VERSION], hdr[rpm.RPMTAG_RELEASE],
- hdr[rpm.RPMTAG_ARCH])
- else:
- return '%s-%s-%s.%s' % ( hdr[rpm.RPMTAG_NAME], hdr[rpm.RPMTAG_VERSION],
- hdr[rpm.RPMTAG_RELEASE], hdr[rpm.RPMTAG_ARCH] )
-def getSig(hdr):
- if hdr[rpm.RPMTAG_DSAHEADER]:
- keyid = rpmUtils.miscutils.getSigInfo(hdr)[1][2][16:]
- try:
- return (getPkgNevra(hdr), pubkeys[keyid])
- except KeyError:
- return (getPkgNevra(hdr), pubkeys['unknown'])
- else:
- return (getPkgNevra(hdr), 'unsigned')
-
-if __name__ == '__main__':
- buildKeyList()
- pkgs = {}
- for keyname in pubkeys.itervalues():
- pkgs[keyname] = []
- pkgs['unsigned'] = []
- try:
- foo = sys.argv[1]
- for pkg in sys.argv[1:]:
- mi=ts.dbMatch(rpm.RPMTAG_NAME, pkg)
- exists = False
- for hdr in mi:
- exists = True
- nevra, key=getSig(hdr)
- pkgs[key].append(nevra)
- if not exists:
- sys.stderr.write('Package %s does not exist\n' % pkg)
- except IndexError:
- mi=ts.dbMatch()
- for hdr in mi:
- if hdr[rpm.RPMTAG_NAME] == 'gpg-pubkey':
- continue
- nevra, key = getSig(hdr)
- pkgs[key].append(nevra)
- for pkg in pkgs.iteritems():
- if pkg[1]:
- print pkg[0]
- print '-' * len(pkg[0])
- for pkginstance in pkg[1]:
- print pkginstance
- print
-