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