Opened 3 years ago

Last modified 3 years ago

#64744 assigned defect

curl: libcurl is built without the HTTPS-proxy support

Reported by: mouse07410 (Mouse) Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: curl

Description

Switching Macports to sync using git rather than rsync, having this problem:

$ sudo port -v sync
--->  Updating the ports tree
Synchronizing local ports tree from file:///opt/local/var/macports/sources/github.com/macports/macports-ports/
fatal: unable to access 'https://github.com/macports/macports-ports.git/': Unsupported proxy <host>:<port>', libcurl is built without the HTTPS-proxy support.
Command failed: /opt/local/bin/git pull --rebase --autostash
Exit code: 1
Syncing local Git ports tree failed
port sync failed: Synchronization of 1 source failed

Request enabling support for proxy. Thanks!

Change History (4)

comment:1 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign removed
Owner: set to ryandesign
Status: newassigned
Summary: libcurl does not support proxycurl: libcurl is built without the HTTPS-proxy support

curl does support proxies that use the http protocol, but apparently not proxies that use the https protocol. I will see what can be done to enable https proxy support.

Double-check whether you need to talk to your proxy with the https protocol. If you can talk to it with the http protocol instead, do that.

comment:2 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Actually when I configured curl with default variants (+ssl) I got:

  Features:         AsynchDNS HSTS HTTPS-proxy IDN IPv6 Largefile NTLM NTLM_WB PSL SSL TLS-SRP UnixSockets alt-svc libz zstd

So HTTPS-proxy should be supported. With what variants do you have the curl port installed?

comment:3 Changed 3 years ago by mouse07410 (Mouse)

It is weird. Internally (client <-> proxy) it is HTTP... I'm trying +darwinssl and +gnutls, because +ssl does not seem to work.

I'm not having a lot of luck. Worse - I don't know what's the root cause of the problem.

comment:4 in reply to:  3 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to mouse07410:

It is weird. Internally (client <-> proxy) it is HTTP...

I think you replaced the actual proxy URL in the error message with <host>:<port> in this ticket's description. Did the value you replaced start with http:// or https://? Because my understanding was that you would only see this error message if your proxy URL starts with https://. But I've never tried it. If you want me to try it, let me know how to tell curl what proxy URL to use; I've never had occasion to do so.

I'm trying +darwinssl and +gnutls, because +ssl does not seem to work.

When using +gnutls I still see:

  Features:         AsynchDNS HSTS HTTPS-proxy IDN IPv6 Largefile NTLM NTLM_WB PSL SSL TLS-SRP UnixSockets alt-svc libz zstd

So HTTPS-proxy is still there.

When I use +darwinssl I get:

  Features:         AsynchDNS HSTS IDN IPv6 Largefile NTLM NTLM_WB PSL SSL UnixSockets alt-svc libz zstd

So HTTPS-proxy is not present. I guess Darwin SSL mode does not support HTTPS-proxy and if you want it to then you would have to get the developer of curl to implement that.

In what way does curl with +ssl not work for you? That's the default variant so surely it works for most everybody else or we'd have gotten a zillion bug reports about it.

Note: See TracTickets for help on using tickets.