diff --git a/ares/CHANGES b/ares/CHANGES index 678319dad..164224918 100644 --- a/ares/CHANGES +++ b/ares/CHANGES @@ -1,5 +1,9 @@ Changelog for the c-ares project +* June 19 + +- Added some checks for the addrinfo structure. + * June 2 - William Ahern: @@ -20,7 +24,6 @@ value. If q is not greater than *s then it's equal and *s is always allocated with at least one byte. - * May 16 - Added ares_getnameinfo which mimics the getnameinfo API (another feature diff --git a/ares/ares_ipv6.h b/ares/ares_ipv6.h index 79a37c401..a6d980fe7 100644 --- a/ares/ares_ipv6.h +++ b/ares/ares_ipv6.h @@ -39,6 +39,20 @@ struct sockaddr_in6 }; #endif +#ifndef HAVE_STRUCT_ADDRINFO +struct addrinfo +{ + int ai_flags; + int ai_family; + int ai_socktype; + int ai_protocol; + size_t ai_addrlen; + char *ai_cannonname; + struct sockaddr *ai_addr; + struct addrinfo *ai_next; +}; +#endif + #ifndef NS_IN6ADDRSZ #if SIZEOF_STRUCT_IN6_ADDR == 0 /* We cannot have it set to zero, so we pick a fixed value here */ diff --git a/ares/configure.ac b/ares/configure.ac index 6f5100b23..73901394a 100644 --- a/ares/configure.ac +++ b/ares/configure.ac @@ -193,6 +193,23 @@ CARES_CHECK_STRUCT_MEMBER( ) fi +dnl check for the addrinfo structure +CARES_CHECK_STRUCT( + [ +#ifdef HAVE_SYS_TYPES_H +#include +#endif +#ifdef HAVE_WINSOCK_H +#include +#endif +#ifdef HAVE_NETINET_IN_H +#include +#endif + ], [addrinfo], + AC_DEFINE_UNQUOTED(HAVE_STRUCT_ADDRINFO,1, + [Define to 1 if you have struct addrinfo.]) +) + dnl check for inet_pton AC_CHECK_FUNCS(inet_pton) dnl Some systems have it, but not IPv6