summaryrefslogtreecommitdiff
path: root/lib/signature.c
diff options
context:
space:
mode:
authorPanu Matilainen <pmatilai@redhat.com>2010-09-28 14:55:29 +0300
committerPanu Matilainen <pmatilai@redhat.com>2010-09-28 14:55:29 +0300
commite29313061313a9e29d38a005f1b5f5bdc47ccd84 (patch)
tree033fa5c81656b118ceb37716e5b6156a8d73350f /lib/signature.c
parent131d082aab5bac6ca07fe513df00314261248bae (diff)
downloadrpm-e29313061313a9e29d38a005f1b5f5bdc47ccd84.tar.gz
rpm-e29313061313a9e29d38a005f1b5f5bdc47ccd84.tar.bz2
rpm-e29313061313a9e29d38a005f1b5f5bdc47ccd84.zip
Decide header sigtag based on what was actually written
- makeGPGSignature() figures the signature type by parsing the created signature, use that instead of the rather bogus tag based on %_signature macro value passed from the cli level.
Diffstat (limited to 'lib/signature.c')
-rw-r--r--lib/signature.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/signature.c b/lib/signature.c
index e025dcfa2..dd7b5084a 100644
--- a/lib/signature.c
+++ b/lib/signature.c
@@ -576,12 +576,12 @@ int rpmAddSignature(Header sigh, const char * file, rpmSigTag sigTag,
case RPMSIGTAG_PGP5: /* XXX legacy */
case RPMSIGTAG_PGP:
case RPMSIGTAG_GPG: {
- rpmSigTag hdrtag = (sigTag == RPMSIGTAG_GPG) ?
- RPMSIGTAG_DSA : RPMSIGTAG_RSA;
+ rpmSigTag hdrtag;
if (makeGPGSignature(file, &sigTag, &pkt, &pktlen, passPhrase)
|| !sighdrPut(sigh, sigTag, RPM_BIN_TYPE, pkt, pktlen))
break;
/* XXX Piggyback a header-only DSA/RSA signature as well. */
+ hdrtag = (sigTag == RPMSIGTAG_GPG) ? RPMSIGTAG_DSA : RPMSIGTAG_RSA;
ret = makeHDRSignature(sigh, file, hdrtag, passPhrase);
} break;
case RPMSIGTAG_RSA: