RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: j...@rpm5.org Module: rpm Date: 04-Apr-2016 06:24:23 Branch: rpm-5_4 Handle: 2016040404242200 Modified files: (Branch: rpm-5_4) rpm/rpmdb signature.c Log: - rewrite last usage of pgpPritPkts() in main rpm code. Summary: Revision Changes Path 1.68.2.15 +23 -1 rpm/rpmdb/signature.c ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/rpmdb/signature.c ============================================================================ $ cvs diff -u -r1.68.2.14 -r1.68.2.15 signature.c --- rpm/rpmdb/signature.c 2 Apr 2016 23:01:12 -0000 1.68.2.14 +++ rpm/rpmdb/signature.c 4 Apr 2016 04:24:22 -0000 1.68.2.15 @@ -257,9 +257,31 @@ /* Parse the signature, change signature tag as appropriate. */ dig = pgpDigNew(RPMVSF_DEFAULT, (pgpPubkeyAlgo)0); + sigp = pgpGetSignature(dig); +#ifdef DYING (void) pgpPrtPkts(*pktp, *pktlenp, dig, 0); - sigp = pgpGetSignature(dig); +#else + { void * sig = *pktp; + size_t siglen = *pktlenp; + size_t pleft = siglen; + pgpPkt pp = (pgpPkt) alloca(sizeof(*pp)); + + if (pgpPktLen((const rpmuint8_t *)sig, pleft, pp) < 0) { + *pktp = _free(*pktp); + rpmlog(RPMLOG_ERR, _("malformed signature packet\n")); + return 1; + } + if (rpmhkpLoadSignature(NULL, dig, pp) < 0 + || (sigp->version != 3 && sigp->version != 4)) + { + *pktp = _free(*pktp); + rpmlog(RPMLOG_ERR, _("cannot load V%u signature\n"), + (unsigned) sigp->version); + return 1; + } + } +#endif /* Identify the type of signature being returned. */ /* XXX FIXME: RPMSIGTAG{DSA,RSA,ECDSA} are interchangeable. */ @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org