diff options
author | Werner Koch <wk@gnupg.org> | 2018-09-07 11:48:18 +0200 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2018-09-07 11:48:18 +0200 |
commit | bee65edfbc8cc2c369e5941cc9d1a01a0519b388 (patch) | |
tree | f70ad99000c55a19c1a24427b0ad93f1733b2c76 /dirmngr | |
parent | dirmngr: hkp: Avoid potential race condition when some hosts die. (diff) | |
download | gnupg2-bee65edfbc8cc2c369e5941cc9d1a01a0519b388.tar.xz gnupg2-bee65edfbc8cc2c369e5941cc9d1a01a0519b388.zip |
dirmngr: Emit SOURCE status also on NO_DATA.
* dirmngr/ks-engine-hkp.c (ks_hkp_search): Send SOURCE status also on
NO DATA error.
(ks_hkp_get): Ditto.
* g10/call-dirmngr.c (gpg_dirmngr_ks_search): Print "data source" info
also on error.
(gpg_dirmngr_ks_get): Ditto.
--
If a keyserver does not return any data it can be useful to know which
keyserver out of the pool answered.
Signed-off-by: Werner Koch <wk@gnupg.org>
Diffstat (limited to 'dirmngr')
-rw-r--r-- | dirmngr/ks-engine-hkp.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/dirmngr/ks-engine-hkp.c b/dirmngr/ks-engine-hkp.c index 49a57ebcf..3c7a8a019 100644 --- a/dirmngr/ks-engine-hkp.c +++ b/dirmngr/ks-engine-hkp.c @@ -1491,7 +1491,11 @@ ks_hkp_search (ctrl_t ctrl, parsed_uri_t uri, const char *pattern, goto again; } if (err) - goto leave; + { + if (gpg_err_code (err) == GPG_ERR_NO_DATA) + dirmngr_status (ctrl, "SOURCE", hostport, NULL); + goto leave; + } err = dirmngr_status (ctrl, "SOURCE", hostport, NULL); if (err) @@ -1626,7 +1630,11 @@ ks_hkp_get (ctrl_t ctrl, parsed_uri_t uri, const char *keyspec, estream_t *r_fp) goto again; } if (err) - goto leave; + { + if (gpg_err_code (err) == GPG_ERR_NO_DATA) + dirmngr_status (ctrl, "SOURCE", hostport, NULL); + goto leave; + } err = dirmngr_status (ctrl, "SOURCE", hostport, NULL); if (err) |