- still not 100% identical to pre-keyring behavior but enough for the
common case
- only add keys we don't already have (rhbz#68290)
Header h = headerNew();
rpmRC rc = RPMRC_FAIL; /* assume failure */
rpmPubkey pubkey = NULL;
+ rpmKeyring keyring = rpmtsGetKeyring(ts, 1);
if ((pubkey = rpmPubkeyNew(pkt, pktlen)) == NULL)
goto exit;
+ if (rpmKeyringAddKey(keyring, pubkey) != 0)
+ goto exit;
if (makePubkeyHeader(ts, pubkey, h) != 0)
goto exit;
/* Clean up. */
headerFree(h);
rpmPubkeyFree(pubkey);
+ rpmKeyringFree(keyring);
return rc;
}