Opened 5 months ago
Closed 5 months ago
#70226 closed defect (fixed)
curl @8.8.0+http3: fails when using the write out option
Reported by: | ehjmx | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.9.3 |
Keywords: | Cc: | ||
Port: | curl |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
affected port: curl @8.80 +http3 +gnutls
macOS 14.5
Apple M3 Pro Chip
macports: 2.9.3
Description:
For a current project I wanted to test my curl scripts against http3. As the curl shipping with macOS 14.5. doesn't support http3 I installed curl @8.80 with the +http3 variant which changed the secure socket layer from ssl to gnutls.
Basic commands like
curl --http3 https://blog.cloudflare.com -I
work.
Using the -w or --write-out option like
curl -Is -w '%header{location}' -o /dev/null https://github.com/SAP/macOS-icon-generator/releases/latest
I get an empty output and an exit code 43.
Using the build in macos curl @8.60 and default macports curl @8.80 +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
On github there is this static curl https://github.com/stunnel/static-curl for macOS which uses openssl, supports http3 and works as expected.
During the build phase for the curl +http3 variant I noticed 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
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.
Change History (3)
comment:1 Changed 5 months ago by ehjmx
Description: | modified (diff) |
---|
comment:2 Changed 5 months ago by ryandesign (Ryan Carsten Schmidt)
Description: | modified (diff) |
---|---|
Status: | assigned → accepted |
Summary: | curl port variant +http3 fails when using the write out option → curl @8.8.0+http3: fails when using the write out option |
comment:3 Changed 5 months ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
I can confirm the issue on my system and I have reported the issue to the developer: https://github.com/curl/curl/issues/13958