aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sm/ChangeLog2
-rw-r--r--sm/certchain.c5
-rw-r--r--sm/certpath.c5
3 files changed, 10 insertions, 2 deletions
diff --git a/sm/ChangeLog b/sm/ChangeLog
index c3abb574c..7793006dd 100644
--- a/sm/ChangeLog
+++ b/sm/ChangeLog
@@ -2,6 +2,8 @@
* keylist.c (list_cert_colon): Fixed listing of crt record; the
issuer is not at the right place. Print a chainingID.
+ * certpath.c (gpgsm_walk_cert_chain): Be a bit more silent on
+ common errors.
2002-03-21 Werner Koch <[email protected]>
diff --git a/sm/certchain.c b/sm/certchain.c
index 12f4ba5c0..ad408fd52 100644
--- a/sm/certchain.c
+++ b/sm/certchain.c
@@ -237,7 +237,10 @@ gpgsm_walk_cert_chain (KsbaCert start, KsbaCert *r_next)
rc = keydb_search_subject (kh, issuer);
if (rc)
{
- log_error ("failed to find issuer's certificate: rc=%d\n", rc);
+ /* it is quite common not to have a certificate, so better don't
+ print an error here */
+ if (rc != -1 && opt.verbose > 1)
+ log_error ("failed to find issuer's certificate: rc=%d\n", rc);
rc = GNUPG_Missing_Certificate;
goto leave;
}
diff --git a/sm/certpath.c b/sm/certpath.c
index 12f4ba5c0..ad408fd52 100644
--- a/sm/certpath.c
+++ b/sm/certpath.c
@@ -237,7 +237,10 @@ gpgsm_walk_cert_chain (KsbaCert start, KsbaCert *r_next)
rc = keydb_search_subject (kh, issuer);
if (rc)
{
- log_error ("failed to find issuer's certificate: rc=%d\n", rc);
+ /* it is quite common not to have a certificate, so better don't
+ print an error here */
+ if (rc != -1 && opt.verbose > 1)
+ log_error ("failed to find issuer's certificate: rc=%d\n", rc);
rc = GNUPG_Missing_Certificate;
goto leave;
}