1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-03 22:56:33 +02:00

* call-agent.c (gpgsm_agent_pksign, gpgsm_agent_pkdecrypt)

(gpgsm_agent_genkey, gpgsm_agent_istrusted)
(gpgsm_agent_marktrusted, gpgsm_agent_havekey)
(gpgsm_agent_passwd): Add new arg CTRL and changed all callers.
(start_agent): New arg CTRL.  Send progress item when starting a
new agent.
* sign.c (gpgsm_get_default_cert, get_default_signer): New arg
CTRL to be passed down to the agent function.
* decrypt.c (prepare_decryption): Ditto.
* certreqgen.c (proc_parameters, read_parameters): Ditto.
* certcheck.c (gpgsm_create_cms_signature): Ditto.
This commit is contained in:
Werner Koch 2004-04-26 13:29:09 +00:00
parent 1101deced5
commit 388218891b
13 changed files with 90 additions and 66 deletions

View file

@ -126,7 +126,7 @@ hash_and_copy_data (int fd, gcry_md_hd_t md, ksba_writer_t writer)
/* Get the default certificate which is defined as the first one our
keyDB returns and has a secret key available. */
int
gpgsm_get_default_cert (ksba_cert_t *r_cert)
gpgsm_get_default_cert (ctrl_t ctrl, ksba_cert_t *r_cert)
{
KEYDB_HANDLE hd;
ksba_cert_t cert = NULL;
@ -156,7 +156,7 @@ gpgsm_get_default_cert (ksba_cert_t *r_cert)
p = gpgsm_get_keygrip_hexstring (cert);
if (p)
{
if (!gpgsm_agent_havekey (p))
if (!gpgsm_agent_havekey (ctrl, p))
{
xfree (p);
keydb_release (hd);
@ -180,7 +180,7 @@ gpgsm_get_default_cert (ksba_cert_t *r_cert)
static ksba_cert_t
get_default_signer (void)
get_default_signer (ctrl_t ctrl)
{
KEYDB_SEARCH_DESC desc;
ksba_cert_t cert = NULL;
@ -189,7 +189,7 @@ get_default_signer (void)
if (!opt.local_user)
{
rc = gpgsm_get_default_cert (&cert);
rc = gpgsm_get_default_cert (ctrl, &cert);
if (rc)
{
if (rc != -1)
@ -365,7 +365,7 @@ gpgsm_sign (CTRL ctrl, CERTLIST signerlist,
/* If no list of signers is given, use a default one. */
if (!signerlist)
{
ksba_cert_t cert = get_default_signer ();
ksba_cert_t cert = get_default_signer (ctrl);
if (!cert)
{
log_error ("no default signer found\n");
@ -589,7 +589,8 @@ gpgsm_sign (CTRL ctrl, CERTLIST signerlist,
goto leave;
}
rc = gpgsm_create_cms_signature (cl->cert, md, algo, &sigval);
rc = gpgsm_create_cms_signature (ctrl, cl->cert,
md, algo, &sigval);
if (rc)
{
gcry_md_close (md);