summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorPaul Nasrat <pnasrat@redhat.com>2007-04-16 13:23:58 +0100
committerPaul Nasrat <pnasrat@redhat.com>2007-04-16 13:23:58 +0100
commita6368d35530243b8d6bb0ca302a16c903f967921 (patch)
tree76aea366941cf26114caf0f47c7a152044ab0eb6 /lib
parenta435fe4baec1f3217bc437996bcea75493186d1e (diff)
downloadrpm-a6368d35530243b8d6bb0ca302a16c903f967921.tar.gz
rpm-a6368d35530243b8d6bb0ca302a16c903f967921.tar.bz2
rpm-a6368d35530243b8d6bb0ca302a16c903f967921.zip
Also decode early for PGP sigtags, which are actually header+payload
RSA signatures. Without this patch, verification of a package that has just a header+payload RSA signature but no header-only RSA signature fails. Patch from OpenSuSE
Diffstat (limited to 'lib')
-rw-r--r--lib/rpmchecksig.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/rpmchecksig.c b/lib/rpmchecksig.c
index 59d73b5bd..bb0975e8e 100644
--- a/lib/rpmchecksig.c
+++ b/lib/rpmchecksig.c
@@ -801,7 +801,7 @@ int rpmVerifySignatures(QVA_t qva, rpmts ts, FD_t fd,
sigp = rpmtsSignature(ts);
/* XXX RSA needs the hash_algo, so decode early. */
- if (sigtag == RPMSIGTAG_RSA) {
+ if (sigtag == RPMSIGTAG_RSA || sigtag == RPMSIGTAG_PGP) {
xx = headerGetEntry(sigh, sigtag, &sigtype, &sig, &siglen);
xx = pgpPrtPkts(sig, siglen, dig, 0);
sig = headerFreeData(sig, sigtype);