diff options
author | Werner Koch <[email protected]> | 2002-08-16 13:55:03 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2002-08-16 13:55:03 +0000 |
commit | a8e9b350c037a717cfa1754da24e7188960034c9 (patch) | |
tree | a0ad9dd8337de4edc3938b46f5fd549335cb3f46 /sm/call-agent.c | |
parent | * card-common.h (struct p15_private_s): Forward declaration. Add (diff) | |
download | gnupg-a8e9b350c037a717cfa1754da24e7188960034c9.tar.gz gnupg-a8e9b350c037a717cfa1754da24e7188960034c9.zip |
* call-agent.c (learn_cb): Special treatment when the issuer
certificate is missing.
Diffstat (limited to 'sm/call-agent.c')
-rw-r--r-- | sm/call-agent.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sm/call-agent.c b/sm/call-agent.c index 3a0d0763e..6cb2fb505 100644 --- a/sm/call-agent.c +++ b/sm/call-agent.c @@ -698,7 +698,12 @@ learn_cb (void *opaque, const void *buffer, size_t length) } rc = gpgsm_basic_cert_check (cert); - if (rc) + if (rc == GNUPG_Missing_Certificate) + { /* For later use we store it in the ephemeral database. */ + log_info ("issuer certificate missing - storing as ephemeral\n"); + keydb_store_cert (cert, 1, NULL); + } + else if (rc) log_error ("invalid certificate: %s\n", gnupg_strerror (rc)); else { |