summaryrefslogtreecommitdiffstats
path: root/agent
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2009-06-09 21:11:28 +0200
committerWerner Koch <wk@gnupg.org>2009-06-09 21:11:28 +0200
commitbdbeb0ac2bdd3e24f97efb67a3c33e8e08523c46 (patch)
tree750ebce47c26e8093274084bbe30f1dc070130bb /agent
parentTypo fix. Updated German translation. (diff)
downloadgnupg2-bdbeb0ac2bdd3e24f97efb67a3c33e8e08523c46.tar.xz
gnupg2-bdbeb0ac2bdd3e24f97efb67a3c33e8e08523c46.zip
app-openpgp changes
Diffstat (limited to 'agent')
-rw-r--r--agent/ChangeLog4
-rw-r--r--agent/learncard.c21
2 files changed, 22 insertions, 3 deletions
diff --git a/agent/ChangeLog b/agent/ChangeLog
index 8596a2bec..497083c54 100644
--- a/agent/ChangeLog
+++ b/agent/ChangeLog
@@ -1,3 +1,7 @@
+2009-06-09 Werner Koch <wk@g10code.com>
+
+ * learncard.c (send_cert_back): Ignore certain error codes.
+
2009-06-05 Werner Koch <wk@g10code.com>
* protect-tool.c (store_private_key): Fix last change by appending
diff --git a/agent/learncard.c b/agent/learncard.c
index b5b5bd77d..77f2bb09d 100644
--- a/agent/learncard.c
+++ b/agent/learncard.c
@@ -262,9 +262,23 @@ send_cert_back (ctrl_t ctrl, const char *id, void *assuan_context)
rc = agent_card_readcert (ctrl, id, &derbuf, &derbuflen);
if (rc)
{
- log_error ("error reading certificate: %s\n",
- gpg_strerror (rc));
- return rc;
+ const char *action;
+
+ switch (gpg_err_code (rc))
+ {
+ case GPG_ERR_INV_ID:
+ case GPG_ERR_NOT_FOUND:
+ action = " - ignored";
+ break;
+ default:
+ action = "";
+ break;
+ }
+ if (opt.verbose || !*action)
+ log_info ("error reading certificate `%s': %s%s\n",
+ id? id:"?", gpg_strerror (rc), action);
+
+ return *action? 0 : rc;
}
rc = assuan_send_data (assuan_context, derbuf, derbuflen);
@@ -288,6 +302,7 @@ int
agent_handle_learn (ctrl_t ctrl, void *assuan_context)
{
int rc;
+
struct kpinfo_cb_parm_s parm;
struct certinfo_cb_parm_s cparm;
struct sinfo_cb_parm_s sparm;