summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbsergean <bsergean@gmail.com>2022-10-10 16:24:43 -0700
committerDaniel Stenberg <daniel@haxx.se>2022-10-11 08:23:33 +0200
commite71a9b488fc17a7b659ef6c2ed347e3d18881dd4 (patch)
tree0461769074bf5ed0f3abfae7814c799474e2c8fa
parent66313cf4b3a52245d676f4c61d27c5363a5ed680 (diff)
downloadcurl-e71a9b488fc17a7b659ef6c2ed347e3d18881dd4.tar.gz
asyn-ares: set hint flags when calling ares_getaddrinfo
The hint flag is ARES_AI_NUMERICSERV, and it will save a call to getservbyname or getservbyname_r to set it. Closes #9694
-rw-r--r--.mailmap3
-rw-r--r--lib/asyn-ares.c4
2 files changed, 6 insertions, 1 deletions
diff --git a/.mailmap b/.mailmap
index 639806ca6..5092131dd 100644
--- a/.mailmap
+++ b/.mailmap
@@ -97,4 +97,5 @@ opensignature on github <antonio@piumarossa.it>
Cering on github <gfypm@qq.com>
a1346054 on github <36859588+a1346054@users.noreply.github.com>
zhanghu on xiaomi <zhanghu6@xiaomi.com>
-Philip Heiduck <pheiduck@Philips-MBP.lan> <47042125+pheiduck@users.noreply.github.com> \ No newline at end of file
+Philip Heiduck <pheiduck@Philips-MBP.lan> <47042125+pheiduck@users.noreply.github.com>
+bsergean on github <bsergean@gmail.com>
diff --git a/lib/asyn-ares.c b/lib/asyn-ares.c
index cbc0e2ea7..33edba139 100644
--- a/lib/asyn-ares.c
+++ b/lib/asyn-ares.c
@@ -786,6 +786,10 @@ struct Curl_addrinfo *Curl_resolver_getaddrinfo(struct Curl_easy *data,
hints.ai_family = pf;
hints.ai_socktype = (data->conn->transport == TRNSPRT_TCP)?
SOCK_STREAM : SOCK_DGRAM;
+ /* Since the service is a numerical one, set the hint flags
+ * accordingly to save a call to getservbyname in inside C-Ares
+ */
+ hints.ai_flags = ARES_AI_NUMERICSERV;
msnprintf(service, sizeof(service), "%d", port);
res->num_pending = 1;
ares_getaddrinfo((ares_channel)data->state.async.resolver, hostname,