diff options
-rw-r--r-- | src/external/libcares.m4 | 3 | ||||
-rw-r--r-- | src/resolv/async_resolv.c | 8 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/external/libcares.m4 b/src/external/libcares.m4 index 657deac5..5b8a3587 100644 --- a/src/external/libcares.m4 +++ b/src/external/libcares.m4 @@ -18,3 +18,6 @@ AC_CHECK_LIB([cares], ) AM_CONDITIONAL(BUILD_ARES_DATA, test x$ares_data = x1) + +dnl Check if this particular version of c-ares support the new TTL structures +AC_CHECK_TYPES([struct ares_addrttl, struct ares_addr6ttl], [], [], [#include <ares.h>]) diff --git a/src/resolv/async_resolv.c b/src/resolv/async_resolv.c index c05628a3..1f805672 100644 --- a/src/resolv/async_resolv.c +++ b/src/resolv/async_resolv.c @@ -53,6 +53,14 @@ _ares_malloc_data(data) #endif /* HAVE_ARES_DATA */ +#ifndef HAVE_STRUCT_ARES_ADDRTTL +#define ares_addrttl addrttl +#endif + +#ifndef HAVE_STRUCT_ARES_ADDR6TTL +#define ares_addr6ttl addr6ttl +#endif + #define DNS__16BIT(p) (((p)[0] << 8) | (p)[1]) #define DNS_HEADER_ANCOUNT(h) DNS__16BIT((h) + 6) |