[MacPorts] #70226: curl port variant +http3 fails when using the write out option

MacPorts noreply at macports.org
Sat Jun 15 08:02:21 UTC 2024


#70226: curl port variant +http3 fails when using the write out option
---------------------+------------------------
  Reporter:  ehjmx   |      Owner:  ryandesign
      Type:  defect  |     Status:  assigned
  Priority:  Normal  |  Milestone:
 Component:  ports   |    Version:  2.9.3
Resolution:          |   Keywords:
      Port:  curl    |
---------------------+------------------------
Description changed by ehjmx:

Old description:

> affected port: curl @8.80 +http3 +gnutls
>
> 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.

--

-- 
Ticket URL: <https://trac.macports.org/ticket/70226#comment:1>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list