diff options
author | bsergean <bsergean@gmail.com> | 2022-10-10 16:24:43 -0700 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2022-10-11 08:23:33 +0200 |
commit | e71a9b488fc17a7b659ef6c2ed347e3d18881dd4 (patch) | |
tree | 0461769074bf5ed0f3abfae7814c799474e2c8fa | |
parent | 66313cf4b3a52245d676f4c61d27c5363a5ed680 (diff) | |
download | curl-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-- | .mailmap | 3 | ||||
-rw-r--r-- | lib/asyn-ares.c | 4 |
2 files changed, 6 insertions, 1 deletions
@@ -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, |