-
-
Notifications
You must be signed in to change notification settings - Fork 6.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
asyn-thread: use c-ares to resolve HTTPS RR #16054
Conversation
57e6156
to
faacaa6
Compare
This mode needs some documentation since it's so unusual, but where? INSTALL.md
is the best place I can think of, but probably in the autoconf summary output
resolver: line, too.
|
Yeah, I'm also working on #16052 |
21614cd
to
8f73088
Compare
3f87202
to
c844334
Compare
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as resolved.
This comment was marked as resolved.
Thanks @vszakats I'll try that! |
d125c4f
to
da34e9a
Compare
This comment was marked as resolved.
This comment was marked as resolved.
@vszakats if you get a few minutes over and want to help out, I could use an extra set of eyes on this to help me nail down this issue. |
Ah I can repro now, it is unity-build related. |
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. Closes #16054
dd977cf
to
93b7c64
Compare
Sorry, got here late and it seems resolved now. If there's something still, I can take a look. |
Thanks. You know, sometimes you just need to vent a little and then suddenly the solution appears! 😁 |
I will merge this in a day or two. |
I'm trying to make a build like this (also for curl-for-win), and It would need both Lines 705 to 710 in 3e552ef
Is it too early to try or am I doing some mistake? |
Oh right, I clearly broke that when I reversed it. Let me give it a poke... |
- replace deprecated `ares_init()` call with `ares_init_options()`. Follow-up to 0d4fdbf #16054 - dedupe `CARES_STATICLIB` initalizations into `curl_setup.h`, to ensure it's defined before the first (and every) `ares.h` include and avoid a potential confusion. - move `CARES_NO_DEPRECATED` from build level to `curl_setup.h`. To work regardless of build system. It is necessary because curl calls `ares_getsock()` from two places, of which one feeds a chain of wrappers: `Curl_ares_getsock()`, `Curl_resolver_getsock()`, `Curl_resolv_getsock()`. Closes #16131
Allow building with c-ares and yet use threaded resolver for the main host A/AAAA resolving.
--with-ares
provide 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".