From: Daniel Stenberg Date: Sun, 4 Oct 2020 21:05:21 +0000 (+0200) Subject: curl: make sure setopt CURLOPT_IPRESOLVE passes on a long X-Git-Tag: curl-7_73_0~14 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ec1cb755bf859fae0ae5cb80a577067b8e76947e;p=thirdparty%2Fcurl.git curl: make sure setopt CURLOPT_IPRESOLVE passes on a long Previously, it would pass on a define (int) which could make libcurl read junk as a value - which prevented the CURLOPT_IPRESOLVE option to "take". This could then make test 2100 do two DoH requests instead of one! Fixes #6042 Closes #6043 --- diff --git a/src/tool_getparam.c b/src/tool_getparam.c index 7977c3dc61..910a5a2f9a 100644 --- a/src/tool_getparam.c +++ b/src/tool_getparam.c @@ -1269,11 +1269,11 @@ ParameterError getparameter(const char *flag, /* f or -long-flag */ break; case '4': /* IPv4 */ - config->ip_version = 4; + config->ip_version = CURL_IPRESOLVE_V4; break; case '6': /* IPv6 */ - config->ip_version = 6; + config->ip_version = CURL_IPRESOLVE_V6; break; case 'a': /* This makes the FTP sessions use APPE instead of STOR */ diff --git a/src/tool_operate.c b/src/tool_operate.c index 54c99e3bcf..e3fec0b4a0 100644 --- a/src/tool_operate.c +++ b/src/tool_operate.c @@ -1855,12 +1855,7 @@ static CURLcode single_transfer(struct GlobalConfig *global, my_setopt(curl, CURLOPT_MAXFILESIZE_LARGE, config->max_filesize); - if(4 == config->ip_version) - my_setopt(curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); - else if(6 == config->ip_version) - my_setopt(curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V6); - else - my_setopt(curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_WHATEVER); + my_setopt(curl, CURLOPT_IPRESOLVE, config->ip_version); /* new in curl 7.15.5 */ if(config->ftp_ssl_reqd)