curl / Mailing Lists / curl-library / Single Mail
Buy commercial curl support. We help you work out your issues, debug your libcurl applications, use the API, port to new platforms, add new features and more. With a team lead by the curl founder Daniel himself.

Re: Network.framework and libcurl

From: Daniel Stenberg via curl-library <curl-library_at_lists.haxx.se>
Date: Wed, 27 Aug 2025 23:24:42 +0200 (CEST)

On Wed, 27 Aug 2025, Demi Marie Obenour wrote:

> I'm not surprised. Unless some of those callbacks need synchronous
> processing, this could be handled by using AF_UNIX sockets to notify the
> main thread. That said, I expect this behavior is for performance reasons,
> as that is the documented reason for MsQuic to use callbacks on a thread
> pool MsQuic owns.

I think they chose that solution because it is easier. For them. msh3 turned
out to be complicated to support partly because of its threads use.

>> We can't use name based API that does all this magic under the hood. Magic
>> that curl needs to own and control itself.
>
> Unfortunately, any program that doesn’t do this will break if VPN On Demand
> is in use. VPN On Demand startup is based on target domain name, not just
> on IP address. This means that for a program to work correctly if VPN On
> Demand is in use, using such an API is required.

Given that not a single user has ever asked for that, it does not seem like a
big problem for us.

> My recommendation would be to consider this a necessary workaround for a
> platform quirk, and accept that this will result in differing behavior.

As no user has asked for it and no developer has offered an implementation, I
think we can simply defer the entire discussion.

> I do question if requiring identical behavior on all platforms is worth
> being broken (in a user-visible way) on Apple devices that have VPN On
> Demand configured.

We never actually achieve 100% "identical behavior" so that's not really what
we require. You're still advocating for us to give up core principles "in
theory" for a feature no one has asked for and no one has implemented.

I prefer we have that discussion once we have both as then we have actual real
code and real facts on the table. Then we know exactly what we talk about and
what the decision is about.

-- 
  / daniel.haxx.se || https://rock-solid.curl.dev


-- 
Unsubscribe: https://lists.haxx.se/mailman/listinfo/curl-library
Etiquette:   https://curl.se/mail/etiquette.html
Received on 2025-08-27