Bug in curl Variant +http3?

Eric Hoch eric.hoch2 at gmail.com
Wed Jun 12 18:49:43 UTC 2024


Hey all,

for a current project I wanted to test my scripts with curl using http3. 
The curl that ships with macOS 14.5 doesn't support http3, I installed 
curl with the variant +htttp3.

The most basic command being something like

curl --http3 https://blog.cloudflare.com -I

works.

Other commands like

curl -Is -w '%header{location}' -o /dev/null 
https://github.com/SAP/macOS-icon-generator/releases/latest

don't work. I get an empty output and an exit code 43.

During the build phase for the curl +http3 variant I get this warning:
Warning: Configuration logfiles contain indications of 
-Wimplicit-function-declaration; check that features were not 
accidentally disabled:
   getpass_r: found in curl-8.8.0/config.log
   _fseeki64: found in curl-8.8.0/config.log
   IoctlSocket: found in curl-8.8.0/config.log
   ioctlsocket: found in curl-8.8.0/config.log
   memrchr: found in curl-8.8.0/config.log
   CloseSocket: found in curl-8.8.0/config.log
   closesocket: found in curl-8.8.0/config.log

Using the default macports curl +ssl variant the above command

curl -Is -w '%header{location}' -o /dev/null 
https://github.com/SAP/macOS-icon-generator/releases/latest

gives me the expected output of 
https://github.com/SAP/macOS-icon-generator/releases/tag/2.0.0

The difference for the two variants is the TLS library which is gnutls 
for http3 and OpenSSL for the default curl.

On github there is this static curl 
https://github.com/stunnel/static-curl for macOS which uses openssl, 
supports http3 and works as expected.

I found this blog entry 
https://daniel.haxx.se/blog/2024/06/10/http-3-in-curl-mid-2024/ which 
explains to me that using openssl for http3 isn't easy and the best 
choice for http3. Therefore I understand using gnutls for http3 what I 
don't understand is that curl commands using the -w option break with 
gnutls and http3. Shall I file a bug report for this?

As macOS curl doesn't support http3 I won't use http3 in my script as 
this script needs to run on macs that don't have macports or brew 
installed or download curl from the above github.

Eric



More information about the macports-users mailing list