aboutsummaryrefslogtreecommitdiffstats
path: root/sm/call-agent.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2008-02-13 16:47:14 +0000
committerWerner Koch <[email protected]>2008-02-13 16:47:14 +0000
commit0819c1e8ca8b02a1191fc0087a8046bce6770fff (patch)
treefa756b18d2ec580b22b77f0ffec468be76ec79f1 /sm/call-agent.c
parent2008-02-09 Marcus Brinkmann <[email protected]> (diff)
downloadgnupg-0819c1e8ca8b02a1191fc0087a8046bce6770fff.tar.gz
gnupg-0819c1e8ca8b02a1191fc0087a8046bce6770fff.zip
Always search missing certifcates using a running Dirmngr's cache.
Diffstat (limited to '')
-rw-r--r--sm/call-agent.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sm/call-agent.c b/sm/call-agent.c
index af35ac53a..e0461d95f 100644
--- a/sm/call-agent.c
+++ b/sm/call-agent.c
@@ -59,6 +59,7 @@ struct genkey_parm_s
struct learn_parm_s
{
int error;
+ ctrl_t ctrl;
assuan_context_t ctx;
membuf_t *data;
};
@@ -638,7 +639,7 @@ learn_cb (void *opaque, const void *buffer, size_t length)
return 0;
}
- rc = gpgsm_basic_cert_check (cert);
+ rc = gpgsm_basic_cert_check (parm->ctrl, cert);
if (gpg_err_code (rc) == GPG_ERR_MISSING_CERT)
{ /* For later use we store it in the ephemeral database. */
log_info ("issuer certificate missing - storing as ephemeral\n");
@@ -679,6 +680,7 @@ gpgsm_agent_learn (ctrl_t ctrl)
init_membuf (&data, 4096);
learn_parm.error = 0;
+ learn_parm.ctrl = ctrl;
learn_parm.ctx = agent_ctx;
learn_parm.data = &data;
rc = assuan_transact (agent_ctx, "LEARN --send",