From 76fb2febde10da8237bbe7613830b51af2a45139 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Wed, 11 Jan 2017 16:43:30 +0100 Subject: [PATCH] dirmngr: Mark hosts dead on ENETDOWN. * dirmngr/ks-engine-hkp.c (handle_send_request_error): Take care of ENETDOWN. Signed-off-by: Werner Koch --- dirmngr/ks-engine-hkp.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/dirmngr/ks-engine-hkp.c b/dirmngr/ks-engine-hkp.c index 5f6e5f45d..ddeba45ae 100644 --- a/dirmngr/ks-engine-hkp.c +++ b/dirmngr/ks-engine-hkp.c @@ -1132,10 +1132,14 @@ handle_send_request_error (gpg_error_t err, const char *request, { int retry = 0; + /* Fixme: Should we disable all hosts of a protocol family if a + * request for an address of that familiy returned ENETDOWN? */ + switch (gpg_err_code (err)) { case GPG_ERR_ECONNREFUSED: case GPG_ERR_ENETUNREACH: + case GPG_ERR_ENETDOWN: case GPG_ERR_UNKNOWN_HOST: case GPG_ERR_NETWORK: if (mark_host_dead (request) && *tries_left) @@ -1148,6 +1152,7 @@ handle_send_request_error (gpg_error_t err, const char *request, log_info ("selecting a different host due to a timeout\n"); retry = 1; } + break; default: break;