#curl dns part III, the improvements in asynchronous DNS resolution.

https://eissing.org/icing/posts/curl-dns-async/

curl dns 2026, part III, async

In part I and part II I talked about the changes to DNS resolution in curl and why we do them. In this post I cover the difference and changes in synchronous vs asynchronous resolution. Which matter for Happy Eyeballs v3 (HEv3) and Encrypted Client Hellos (ECH). Sync/Async, Old and New Out of all the DNS options I described in part II, the most compatible and most deployed one is getaddrinfo(). Sync, no threads or c-ares

icing's blog

@icing very nice! If I find time I will repeat our measurements for curl from our paper. Does this also mean you implement the resolution delay as defined by Happy Eyeballs v2/v3?

https://dlnext.acm.org/doi/10.1145/3730567.3732925

@Patl2ick Thanks, we are in the process of implementing HEv3 step by step. I am not sure we‘ll go to full compliance in all its glory.
@icing My question was more limited to the resolution and thus resolution delay. That would mean you wait for 50ms after the A record arrived for a AAAA record (50ms is currently the recommended value). Currently, you seem not to block on breaking A resolution which is already nice as that is what we saw as one of the major factors impacting browsers and curl in our measurments. (You basically depend on what your resolver does/how it is configured)
@icing I am also asking as it is usually way easier to test our test cases using curl than using a browser.
Our tool also provides its configuration containing domain names which behave according to configred parameters. If you are looking into these test cases feel free to extract domain names for your test.
https://www.happy-eyeballs.net/tests/resolution-delay/
HE RD Test | Happy Eyeballs Webtester

@Patl2ick Oh, I have used that site and the URLs from the test config several times the last weeks.

Thanks for the site! Has been very helpful!

@icing Great to hear that its useful for you! If you have any suggestions/feature requests, let us know and we will see what we can do