dirmngr: Handle failures related to missing IPv6 gracefully
authorMichał Górny <mgorny@gentoo.org>
Wed, 31 Jan 2018 15:57:19 +0000 (16:57 +0100)
committerWerner Koch <wk@gnupg.org>
Thu, 22 Feb 2018 19:46:51 +0000 (20:46 +0100)
commitecfc4db3a2f8bc2652ba4ac4de5ca1cd13bfcbec
tree57f258f665a96b71961f4bcedaa67e2c0830c2c2
parent641aae783e46af9eb47994dd598df4e51fb8296c
dirmngr: Handle failures related to missing IPv6 gracefully

* dirmngr/ks-engine-hkp.c (handle_send_request_error): Handle two more
error codes.

--
Handle the two possible connect failures related to missing IPv6 support
gracefully by marking the host dead and retrying with another one.
If IPv6 is disabled via procfs, connect() will return EADDRNOTAVAIL.
If IPv6 is not compiled into the kernel, it will return EAFNOSUPPORT.
This makes it possible to use dual-stack hkp servers on hosts not having
IPv6 without random connection failures.

GnuPG-bug-id: 3331

--

The above description seems to be for Linux, so it is possible that
other systems might behave different.  However, it is worth to try
this patch.

Signed-off-by: Werner Koch <wk@gnupg.org>
dirmngr/ks-engine-hkp.c