From e29313061313a9e29d38a005f1b5f5bdc47ccd84 Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Tue, 28 Sep 2010 14:55:29 +0300 Subject: [PATCH] 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. --- lib/signature.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/signature.c b/lib/signature.c index e025dcf..dd7b508 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: -- 2.7.4