Diffusion GnuPG d2e8d7125181

dirmngr: Avoid endless loop in case of HTTP error 503.

Authored by werner on Jul 3 2019, 5:39 PM.

Description

dirmngr: Avoid endless loop in case of HTTP error 503.

* dirmngr/ks-engine-hkp.c (SEND_REQUEST_EXTRA_RETRIES): New.
(handle_send_request_error): Use it for 503 and 504.
(ks_hkp_search, ks_hkp_get, ks_hkp_put): Pass a new var for
extra_tries.

This is a pretty stupid fix but one which works without much risk of
regressions. We could have used the existing TRIES but in that case
the fallback to other host would have been too limited. With the used
value we can have several fallbacks to other hosts. Note that the
TRIES is still cumulative and not per host.

(cherry picked from commit 8b113bb148f273524682252233b3c65954e1419e)

  • GnuPG-bug-id: T4600
  • Signed-off-by: Werner Koch <wk@gnupg.org>