]> git.ipfire.org Git - thirdparty/curl.git/commit
asyn-thread: use c-ares to resolve HTTPS RR
authorDaniel Stenberg <daniel@haxx.se>
Tue, 21 Jan 2025 10:42:20 +0000 (11:42 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Sat, 25 Jan 2025 22:46:14 +0000 (23:46 +0100)
commit0d4fdbf15d8eec908b3e63b606f112b18a63015e
treeb0bc11828fab116a29032e434c3863e4d4c781dd
parent520e67dd39f964648bfa68ed2401f270193b14cc
asyn-thread: use c-ares to resolve HTTPS RR

Allow building with c-ares and yet use threaded resolver for the main
host A/AAAA resolving:

  `--with-ares` provides the c-ares install path and defaults to use
  c-ares for name resolving

  `--with-threaded-resolver` still uses c-ares in the build (for HTTPS)
  but uses the threaded resolver for "normal" resolves.

It works similarly for cmake: ENABLE_ARES enables ares, and if
ENABLE_THREADED_RESOLVER also is set, c-ares is used for HTTPS RR and
the threaded resolver for "normal" resolves.

HTTPSRR and c-ares-rr are new features return by curl_version_info() and
thus shown by curl -V.

The c-ares-rr feature bit is there to make it possible to distinguish
between builds using c-ares for all name resolves and builds that use
the threaded resolves for the regular name resolves and c-ares for
HTTPSRR only. "c-ares-rr" means it does not use c-ares for "plain" name
resolves.

HTTPSRR support is EXPERIMENTAL only.

Closes #16054
18 files changed:
.github/scripts/spellcheck.words
CMakeLists.txt
configure.ac
docs/libcurl/curl_version_info.md
lib/asyn-ares.c
lib/asyn-thread.c
lib/asyn.h
lib/curl_setup.h
lib/hostip.h
lib/httpsrr.c
lib/httpsrr.h
lib/version.c
m4/curl-confopts.m4
tests/FILEFORMAT.md
tests/data/test1014
tests/libtest/lib1565.c
tests/runtests.pl
tests/server/disabled.c