summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/external/libcares.m43
-rw-r--r--src/resolv/async_resolv.c8
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)