aboutsummaryrefslogtreecommitdiffstats
path: root/dirmngr/ks-engine-hkp.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2017-01-11 16:09:16 +0000
committerWerner Koch <[email protected]>2017-01-11 16:09:16 +0000
commit20dfcfe08c618d23134d5d6efef7676b090f30d3 (patch)
tree1a0a0d813f0d28db6cbeea51662bf22abeca6437 /dirmngr/ks-engine-hkp.c
parentdirmngr: Mark hosts dead on ENETDOWN. (diff)
downloadgnupg-20dfcfe08c618d23134d5d6efef7676b090f30d3.tar.gz
gnupg-20dfcfe08c618d23134d5d6efef7676b090f30d3.zip
dirmngr: After a connection failure log a hint if Tor is not running.
* dirmngr/ks-engine-hkp.c (handle_send_request_error): Check whether Tor is running. Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'dirmngr/ks-engine-hkp.c')
-rw-r--r--dirmngr/ks-engine-hkp.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/dirmngr/ks-engine-hkp.c b/dirmngr/ks-engine-hkp.c
index ddeba45ae..5febb13ed 100644
--- a/dirmngr/ks-engine-hkp.c
+++ b/dirmngr/ks-engine-hkp.c
@@ -1138,6 +1138,17 @@ handle_send_request_error (gpg_error_t err, const char *request,
switch (gpg_err_code (err))
{
case GPG_ERR_ECONNREFUSED:
+ if (opt.use_tor)
+ {
+ assuan_fd_t sock;
+
+ sock = assuan_sock_connect_byname (NULL, 0, 0, NULL, ASSUAN_SOCK_TOR);
+ if (sock == ASSUAN_INVALID_FD)
+ log_info ("(it seems Tor is not running)\n");
+ else
+ assuan_sock_close (sock);
+ }
+ /*FALLTHRU*/
case GPG_ERR_ENETUNREACH:
case GPG_ERR_ENETDOWN:
case GPG_ERR_UNKNOWN_HOST: