mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-22 01:59:26 +00:00
Avoid libuv 1.35 and 1.36 that have broken recvmmsg implementation
The implementation of UDP recvmmsg in libuv 1.35 and 1.36 is incomplete and could cause assertion failure under certain circumstances. Modify the configure and runtime checks to report a fatal error when trying to compile or run with the affected versions.
This commit is contained in:
parent
e239e97a0d
commit
251f411fc3
@ -586,9 +586,9 @@ AC_CHECK_FUNCS([pthread_setname_np pthread_set_name_np])
|
||||
AC_CHECK_HEADERS([pthread_np.h], [], [], [#include <pthread.h>])
|
||||
|
||||
# libuv
|
||||
AC_MSG_CHECKING([for libuv])
|
||||
PKG_CHECK_MODULES([LIBUV], [libuv >= 1.34.0], [],
|
||||
[AC_MSG_ERROR([libuv >= 1.34.0 not found])])
|
||||
PKG_CHECK_MODULES([LIBUV], [libuv >= 1.37.0], [],
|
||||
[PKG_CHECK_MODULES([LIBUV], [libuv >= 1.34.0 libuv < 1.35.0], [],
|
||||
[AC_MSG_ERROR([libuv >= 1.34.0 (except 1.35.0 and 1.36.0) not found])])])
|
||||
|
||||
AX_SAVE_FLAGS([libuv])
|
||||
CFLAGS="$CFLAGS $LIBUV_CFLAGS"
|
||||
|
@ -60,10 +60,12 @@ To build BIND 9, the following packages must be installed:
|
||||
- ``perl``
|
||||
- ``pkg-config`` / ``pkgconfig`` / ``pkgconf``
|
||||
|
||||
BIND 9.19 requires ``libuv`` 1.34.0 or higher. On older systems, an updated
|
||||
``libuv`` package needs to be installed from sources such as EPEL, PPA,
|
||||
or other native sources. The other option is to build and install
|
||||
``libuv`` from source.
|
||||
BIND 9.19 requires ``libuv`` 1.34.0 or higher, using ``libuv`` >= 1.40.0
|
||||
is recommended. Compiling or running with ``libuv`` 1.35.0 or 1.36.0 is
|
||||
not supported, as this could lead to an assertion failure in the UDP
|
||||
receive code. On older systems, an updated ``libuv`` package needs to be
|
||||
installed from sources such as EPEL, PPA, or other native sources. The
|
||||
other option is to build and install ``libuv`` from source.
|
||||
|
||||
OpenSSL 1.0.2e or newer is required. If the OpenSSL library is installed
|
||||
in a nonstandard location, specify the prefix using
|
||||
|
@ -178,8 +178,6 @@ netmgr_teardown(void *arg) {
|
||||
#define MINIMAL_UV_VERSION UV_VERSION(1, 40, 0)
|
||||
#elif HAVE_DECL_UV_UDP_RECVMMSG
|
||||
#define MINIMAL_UV_VERSION UV_VERSION(1, 37, 0)
|
||||
#elif HAVE_DECL_UV_UDP_MMSG_CHUNK
|
||||
#define MINIMAL_UV_VERSION UV_VERSION(1, 35, 0)
|
||||
#else
|
||||
#define MINIMAL_UV_VERSION UV_VERSION(1, 0, 0)
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user