From: Daniel Stenberg Date: Fri, 17 Mar 2023 16:28:49 +0000 (+0100) Subject: cf-socket: use port 80 when resolving name for local bind X-Git-Tag: curl-8_0_0~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=138860576fe7d1fd6aa2829d745292f83dd3b475;p=thirdparty%2Fcurl.git cf-socket: use port 80 when resolving name for local bind It turns out c-ares returns an error when asked to resolve a host name with ares_getaddrinfo using port number 0. Reported as a c-ares bug here: https://github.com/c-ares/c-ares/issues/517 The work-around is to simply use port 80 instead, as the number typically does not make a difference and a non-zero number works for c-ares. Fixes #10759 Reported-by: Matt Jolly Closes #10789 --- diff --git a/lib/cf-socket.c b/lib/cf-socket.c index 86b024ac0d..6d9ace4261 100644 --- a/lib/cf-socket.c +++ b/lib/cf-socket.c @@ -495,7 +495,7 @@ static CURLcode bindlocal(struct Curl_easy *data, struct connectdata *conn, conn->ip_version = CURL_IPRESOLVE_V6; #endif - rc = Curl_resolv(data, dev, 0, FALSE, &h); + rc = Curl_resolv(data, dev, 80, FALSE, &h); if(rc == CURLRESOLV_PENDING) (void)Curl_resolver_wait_resolv(data, &h); conn->ip_version = ipver;