mirror of
https://github.com/curl/curl.git
synced 2024-11-21 01:16:58 +08:00
asyn-ares.c: move all version number checks to the top
... and use #ifdef [feature] in the code as per our guidelines.
This commit is contained in:
parent
ba904db070
commit
c3fa8c6e76
@ -80,6 +80,26 @@
|
|||||||
#define HAVE_CARES_CALLBACK_TIMEOUTS 1
|
#define HAVE_CARES_CALLBACK_TIMEOUTS 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if ARES_VERSION >= 0x010601
|
||||||
|
/* IPv6 supported since 1.6.1 */
|
||||||
|
#define HAVE_CARES_IPV6 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if ARES_VERSION >= 0x010704
|
||||||
|
#define HAVE_CARES_SERVERS_CSV 1
|
||||||
|
#define HAVE_CARES_LOCAL_DEV 1
|
||||||
|
#define HAVE_CARES_SET_LOCAL 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if ARES_VERSION >= 0x010b00
|
||||||
|
#define HAVE_CARES_PORTS_CSV 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if ARES_VERSION >= 0x011000
|
||||||
|
/* 1.16.0 or later has ares_getaddrinfo */
|
||||||
|
#define HAVE_CARES_GETADDRINFO 1
|
||||||
|
#endif
|
||||||
|
|
||||||
/* The last 3 #include files should be in this order */
|
/* The last 3 #include files should be in this order */
|
||||||
#include "curl_printf.h"
|
#include "curl_printf.h"
|
||||||
#include "curl_memory.h"
|
#include "curl_memory.h"
|
||||||
@ -490,7 +510,7 @@ CURLcode Curl_resolver_wait_resolv(struct Curl_easy *data,
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if ARES_VERSION < 0x011000 /* before 1.16.0 */
|
#ifndef HAVE_CARES_GETADDRINFO
|
||||||
|
|
||||||
/* Connects results to the list */
|
/* Connects results to the list */
|
||||||
static void compound_results(struct thread_data *res,
|
static void compound_results(struct thread_data *res,
|
||||||
@ -750,7 +770,7 @@ struct Curl_addrinfo *Curl_resolver_getaddrinfo(struct Curl_easy *data,
|
|||||||
/* initial status - failed */
|
/* initial status - failed */
|
||||||
res->last_status = ARES_ENOTFOUND;
|
res->last_status = ARES_ENOTFOUND;
|
||||||
|
|
||||||
#if ARES_VERSION >= 0x010601
|
#ifdef HAVE_CARES_GETADDRINFO
|
||||||
{
|
{
|
||||||
struct ares_addrinfo_hints hints;
|
struct ares_addrinfo_hints hints;
|
||||||
char service[12];
|
char service[12];
|
||||||
@ -771,8 +791,7 @@ struct Curl_addrinfo *Curl_resolver_getaddrinfo(struct Curl_easy *data,
|
|||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#if ARES_VERSION >= 0x010601
|
#ifdef HAVE_CARES_IPV6
|
||||||
/* IPv6 supported by c-ares since 1.6.1 */
|
|
||||||
if(Curl_ipv6works(data)) {
|
if(Curl_ipv6works(data)) {
|
||||||
/* The stack seems to be IPv6-enabled */
|
/* The stack seems to be IPv6-enabled */
|
||||||
res->num_pending = 2;
|
res->num_pending = 2;
|
||||||
@ -784,7 +803,7 @@ struct Curl_addrinfo *Curl_resolver_getaddrinfo(struct Curl_easy *data,
|
|||||||
PF_INET6, query_completed_cb, data);
|
PF_INET6, query_completed_cb, data);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
#endif /* ARES_VERSION >= 0x010601 */
|
#endif
|
||||||
{
|
{
|
||||||
res->num_pending = 1;
|
res->num_pending = 1;
|
||||||
|
|
||||||
@ -814,8 +833,8 @@ CURLcode Curl_set_dns_servers(struct Curl_easy *data,
|
|||||||
if(!(servers && servers[0]))
|
if(!(servers && servers[0]))
|
||||||
return CURLE_OK;
|
return CURLE_OK;
|
||||||
|
|
||||||
#if (ARES_VERSION >= 0x010704)
|
#ifdef HAVE_CARES_SERVERS_CSV
|
||||||
#if (ARES_VERSION >= 0x010b00)
|
#ifdef HAVE_CARES_PORTS_CSV
|
||||||
ares_result = ares_set_servers_ports_csv(data->state.async.resolver,
|
ares_result = ares_set_servers_ports_csv(data->state.async.resolver,
|
||||||
servers);
|
servers);
|
||||||
#else
|
#else
|
||||||
@ -845,7 +864,7 @@ CURLcode Curl_set_dns_servers(struct Curl_easy *data,
|
|||||||
CURLcode Curl_set_dns_interface(struct Curl_easy *data,
|
CURLcode Curl_set_dns_interface(struct Curl_easy *data,
|
||||||
const char *interf)
|
const char *interf)
|
||||||
{
|
{
|
||||||
#if (ARES_VERSION >= 0x010704)
|
#ifdef HAVE_CARES_LOCAL_DEV
|
||||||
if(!interf)
|
if(!interf)
|
||||||
interf = "";
|
interf = "";
|
||||||
|
|
||||||
@ -862,7 +881,7 @@ CURLcode Curl_set_dns_interface(struct Curl_easy *data,
|
|||||||
CURLcode Curl_set_dns_local_ip4(struct Curl_easy *data,
|
CURLcode Curl_set_dns_local_ip4(struct Curl_easy *data,
|
||||||
const char *local_ip4)
|
const char *local_ip4)
|
||||||
{
|
{
|
||||||
#if (ARES_VERSION >= 0x010704)
|
#ifdef HAVE_CARES_SET_LOCAL
|
||||||
struct in_addr a4;
|
struct in_addr a4;
|
||||||
|
|
||||||
if((!local_ip4) || (local_ip4[0] == 0)) {
|
if((!local_ip4) || (local_ip4[0] == 0)) {
|
||||||
@ -888,7 +907,7 @@ CURLcode Curl_set_dns_local_ip4(struct Curl_easy *data,
|
|||||||
CURLcode Curl_set_dns_local_ip6(struct Curl_easy *data,
|
CURLcode Curl_set_dns_local_ip6(struct Curl_easy *data,
|
||||||
const char *local_ip6)
|
const char *local_ip6)
|
||||||
{
|
{
|
||||||
#if (ARES_VERSION >= 0x010704) && defined(ENABLE_IPV6)
|
#if defined(HAVE_CARES_SET_LOCAL) && defined(ENABLE_IPV6)
|
||||||
unsigned char a6[INET6_ADDRSTRLEN];
|
unsigned char a6[INET6_ADDRSTRLEN];
|
||||||
|
|
||||||
if((!local_ip6) || (local_ip6[0] == 0)) {
|
if((!local_ip6) || (local_ip6[0] == 0)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user