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

MacPorts noreply at macports.org
Sat Jun 15 08:01:14 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
 Keywords:          |       Port:  curl
--------------------+------------------------
 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.

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


More information about the macports-tickets mailing list