QSpecF_t qva_specQuery; /*!< Function to query spec file. */
char * qva_queryFormat; /*!< Format for headerFormat(). */
int sign; /*!< Is a passphrase needed? */
- const char * passPhrase; /*!< Pass phrase. */
char qva_mode;
/*!<
- 'q' from --query, -q
extern struct poptOption rpmSignPoptTable[];
/** \ingroup rpmcli
- * Create/Modify/Check elements from signature header.
- * @param ts transaction set
- * @param qva mode flags and parameters
- * @param argv array of arguments (NULL terminated)
+ * Create/delete package signatures.
+ * @param argv array of package path arguments (NULL terminated)
+ * @param deleting adding or deleting signature(s)
+ * @param passPhrase passphrase (or NULL when deleting)
* @return 0 on success
*/
-int rpmcliSign(rpmts ts, QVA_t qva, ARGV_const_t argv);
+int rpmcliSign(ARGV_const_t argv, int deleting, const char *passPhrase);
/** Import public key(s) to rpm keyring
* @param ts transaction set
return res;
}
-static int rpmReSign(QVA_t qva, ARGV_const_t argv)
+int rpmcliSign(ARGV_const_t argv, int deleting, const char *passPhrase)
{
int res = 0;
- int deleting = (qva->qva_mode == RPMSIGN_DEL_SIGNATURE);
for (ARGV_const_t arg = argv; arg && *arg; arg++) {
- res += rpmSign(*arg, deleting, qva->passPhrase);
+ res += rpmSign(*arg, deleting, passPhrase);
}
return res;
}
-
-int rpmcliSign(rpmts ts, QVA_t qva, ARGV_const_t argv)
-{
- if (argv == NULL) return -1;
-
- switch (qva->qva_mode) {
- case RPMSIGN_CHK_SIGNATURE:
- return rpmcliVerifySignatures(ts, qva, argv);
- break;
- case RPMSIGN_IMPORT_PUBKEY:
- return rpmcliImportPubkeys(ts, argv);
- break;
- case RPMSIGN_NEW_SIGNATURE:
- case RPMSIGN_ADD_SIGNATURE:
- case RPMSIGN_DEL_SIGNATURE:
- return rpmReSign(qva, argv);
- break;
- default:
- break;
- }
-
- return -1;
-}
case MODE_RESIGN:
if (!poptPeekArg(optCon))
argerror(_("no arguments given"));
- ka->passPhrase = passPhrase;
- ec = rpmcliSign(ts, ka, (ARGV_const_t) poptGetArgs(optCon));
+ ec = rpmcliSign((ARGV_const_t) poptGetArgs(optCon),
+ (qva->qva_mode == RPMSIGN_DEL_SIGNATURE), passPhrase);
break;
#endif /* IAM_RPMK */