diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2011-06-16 17:14:53 +0200 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2011-06-16 18:15:35 -0400 |
commit | fde4194a9bc18932c6cfdc44e69a4376feb26208 (patch) | |
tree | 0e0f2330dbb4c0f8dcabb3969d3bdb28efb244f3 /src | |
parent | a950b3f31ec88e40e40a28e0902baf92a6b57e03 (diff) | |
download | sssd-fde4194a9bc18932c6cfdc44e69a4376feb26208.tar.gz sssd-fde4194a9bc18932c6cfdc44e69a4376feb26208.tar.bz2 sssd-fde4194a9bc18932c6cfdc44e69a4376feb26208.zip |
Provide TTL structure names for c-ares < 1.7
https://fedorahosted.org/sssd/ticket/898
In c-ares 1.7, the upstream renamed the addrttl/addr6ttl structures to
ares_addrttl/ares_addr6ttl so they are in the ares_ namespace.
Because they are committed to stable ABI, the contents are the same, just
the name changed -- so it is safe to just #define the new name for older
c-ares version in case the new one is not detected in configure time.
Diffstat (limited to 'src')
-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) |