From 138860576fe7d1fd6aa2829d745292f83dd3b475 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Fri, 17 Mar 2023 17:28:49 +0100 Subject: [PATCH] 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 --- lib/cf-socket.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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; -- 2.47.3