curl: Fixed usage of DNS options when not using c-ares resolver

Commit 32352ed6adddcb introduced various DNS options, however, these
would cause curl to exit with CURLE_NOT_BUILT_IN when c-ares wasn't
being used as the backend resolver even if the options weren't set
by the user.

Additionally corrected some minor coding style errors from the same
commit.
This commit is contained in:
Steve Holme 2013-09-13 18:50:11 +01:00
parent 8a6dba520b
commit c243d45aad
3 changed files with 14 additions and 8 deletions

View File

@ -66,10 +66,10 @@ struct Configurable {
char *range;
long low_speed_limit;
long low_speed_time;
char* dns_servers; /* dot notation: 1.1.1.1;2.2.2.2 */
char* dns_interface; /* interface name */
char* dns_ipv4_addr; /* dot notation */
char* dns_ipv6_addr; /* dot notation */
char *dns_servers; /* dot notation: 1.1.1.1;2.2.2.2 */
char *dns_interface; /* interface name */
char *dns_ipv4_addr; /* dot notation */
char *dns_ipv6_addr; /* dot notation */
int showerror; /* -1 == unset, default => show errors
0 => -s is used to NOT show errors
1 => -S has been used to show errors */

View File

@ -80,7 +80,7 @@ static const struct LongShort aliases[]= {
{"*B", "bearer", TRUE},
{"*c", "connect-timeout", TRUE},
{"*d", "ciphers", TRUE},
{"*D", "dns-interface", TRUE},
{"*D", "dns-interface", TRUE},
{"*e", "disable-epsv", FALSE},
{"*E", "epsv", FALSE},
/* 'epsv' made like this to make --no-epsv and --epsv to work

View File

@ -1239,10 +1239,16 @@ int operate(struct Configurable *config, int argc, argv_item_t argv[])
my_setopt(curl, CURLOPT_PROGRESSDATA, &progressbar);
}
my_setopt_str(curl, CURLOPT_DNS_SERVERS, config->dns_servers);
/* new in libcurl 7.24.0: */
if(config->dns_servers)
my_setopt_str(curl, CURLOPT_DNS_SERVERS, config->dns_servers);
/* new in libcurl 7.33.0: */
my_setopt_str(curl, CURLOPT_DNS_INTERFACE, config->dns_interface);
my_setopt_str(curl, CURLOPT_DNS_LOCAL_IP4, config->dns_ipv4_addr);
if(config->dns_interface)
my_setopt_str(curl, CURLOPT_DNS_INTERFACE, config->dns_interface);
if(config->dns_ipv4_addr)
my_setopt_str(curl, CURLOPT_DNS_LOCAL_IP4, config->dns_ipv4_addr);
if(config->dns_ipv6_addr)
my_setopt_str(curl, CURLOPT_DNS_LOCAL_IP6, config->dns_ipv6_addr);
/* new in libcurl 7.6.2: */