haproxy: use getaddrinfo() on Linux (#44489)

As per project's README:

> Recent systems can resolve IPv6 host names using getaddrinfo(). This
> primitive is not present in all libcs and does not work in all of
> them either. Support in glibc was broken before 2.3. Some embedded
> libs may not properly work either, thus, support is disabled by
> default, meaning that some host names which only resolve as IPv6
> addresses will not resolve and configs might emit an error during
> parsing. If you know that your OS libc has reliable support for
> getaddrinfo(), you can add USE_GETADDRINFO=1 on the make command
> line to enable it. This is the recommended option for most Linux
> distro packagers since it's working fine on all recent mainstream
> distros. It is automatically enabled on Solaris 8 and above, as it's
> known to work.

Without this option, it is not possible for HAProxy to solve IPv6-only
names. This option is enabled in Debian builds without any notable
adverse effect.
This commit is contained in:
Vincent Bernat 2018-08-05 18:17:27 +02:00 committed by xeji
parent 653b97689f
commit bf1473f5e0

View file

@ -39,7 +39,8 @@ stdenv.mkDerivation rec {
"USE_LUA=yes"
"LUA_LIB=${lua5_3}/lib"
"LUA_INC=${lua5_3}/include"
] ++ stdenv.lib.optional stdenv.isDarwin "CC=cc";
] ++ stdenv.lib.optional stdenv.isDarwin "CC=cc"
++ stdenv.lib.optional stdenv.isLinux "USE_GETADDRINFO=1";
meta = {
description = "Reliable, high performance TCP/HTTP load balancer";