aboutsummaryrefslogtreecommitdiffstats
path: root/sm
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2024-09-30 16:47:31 +0000
committerWerner Koch <[email protected]>2024-09-30 16:47:31 +0000
commit0e283a0ebcce17bf13b9d685fa73c75ee50fb16d (patch)
tree5e857cc22e4f3cdca07af1a0275da117ed6eedb9 /sm
parentgpgsm: Silence the fingerprint output in quiet mode. (diff)
downloadgnupg-0e283a0ebcce17bf13b9d685fa73c75ee50fb16d.tar.gz
gnupg-0e283a0ebcce17bf13b9d685fa73c75ee50fb16d.zip
gpgsm: Silence messages about dirmngr cache lookup failed.
* sm/certchain.c (find_up_dirmngr): Skip if we know that there is no dirmngr.
Diffstat (limited to 'sm')
-rw-r--r--sm/certchain.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/sm/certchain.c b/sm/certchain.c
index a6dd9c3f8..16449fb02 100644
--- a/sm/certchain.c
+++ b/sm/certchain.c
@@ -795,6 +795,7 @@ static int
find_up_dirmngr (ctrl_t ctrl, KEYDB_HANDLE kh,
ksba_sexp_t serialno, const char *issuer, int subject_mode)
{
+ static int no_dirmngr;
int rc;
strlist_t names = NULL;
struct find_up_store_certs_s find_up_store_certs_parm;
@@ -805,6 +806,12 @@ find_up_dirmngr (ctrl_t ctrl, KEYDB_HANDLE kh,
find_up_store_certs_parm.ctrl = ctrl;
find_up_store_certs_parm.count = 0;
+ if (no_dirmngr)
+ {
+ rc = GPG_ERR_NO_DIRMNGR;
+ goto leave;
+ }
+
if (opt.verbose)
log_info (_("looking up issuer from the Dirmngr cache\n"));
if (subject_mode)
@@ -834,8 +841,13 @@ find_up_dirmngr (ctrl_t ctrl, KEYDB_HANDLE kh,
log_info (_("number of matching certificates: %d\n"),
find_up_store_certs_parm.count);
if (rc && opt.verbose)
- log_info (_("dirmngr cache-only key lookup failed: %s\n"),
- gpg_strerror (rc));
+ {
+ log_info (_("dirmngr cache-only key lookup failed: %s\n"),
+ gpg_strerror (rc));
+ }
+ if (gpg_err_code (rc) == GPG_ERR_NO_DIRMNGR)
+ no_dirmngr = 1;
+ leave:
return ((!rc && find_up_store_certs_parm.count)
? 0 : gpg_error (GPG_ERR_NOT_FOUND));
}