[MacPorts] #70226: curl @8.8.0+http3: fails when using the write out option (was: curl port variant +http3 fails when using the write out option)
MacPorts
noreply at macports.org
Sun Jun 16 07:59:41 UTC 2024
#70226: curl @8.8.0+http3: fails when using the write out option
---------------------+------------------------
Reporter: ehjmx | Owner: ryandesign
Type: defect | Status: accepted
Priority: Normal | Milestone:
Component: ports | Version: 2.9.3
Resolution: | Keywords:
Port: curl |
---------------------+------------------------
Changes (by ryandesign):
* status: assigned => accepted
Old description:
> 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.
New description:
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.
--
Comment:
I can confirm the issue on my system and I have reported the issue to the
developer: https://github.com/curl/curl/issues/13958
--
Ticket URL: <https://trac.macports.org/ticket/70226#comment:2>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list