#25450: Ports fail to fetch from Japanese ftp mirror ----------------------------------+----------------------------------------- Reporter: a.lathrop@… | Owner: macports-dev@… Type: defect | Status: reopened Priority: Normal | Milestone: Component: base | Version: 1.9.1 Resolution: | Keywords: fetch Port: gsl, gettext | ----------------------------------+----------------------------------------- Changes (by florian@…): * status: closed => reopened * resolution: worksforme => Comment: I can confirm and reproduce the ftp hang by setting up a local squid proxy (port install squid): 1) run tcpdump: {{{ tcpdump -n -i lo0 host 127.0.0.1 and port 3128 }}} 2) in a 2nd terminal do this and observe tcpdump: {{{ http_proxy=0.0.0.0:0 FTP_PROXY=127.0.0.1:3128 port fetch openconnect # this should hang }}} 3) for comparison use curl: {{{ FTP_PROXY=127.0.0.1:3128 curl -O ftp://ftp.infradead.org/pub/openconnect/openconnect-3.14.tar.gz # this works }}} This is the output of tcpdump: A) port (2): {{{ 15:33:51.913101 IP 127.0.0.1.65288 > 127.0.0.1.3128: Flags [S], seq 3179921709, win 65535, options [mss 16344,nop,wscale 3,nop,nop,TS val 114862465 ecr 0,sackOK,eol], length 0 15:33:51.913163 IP 127.0.0.1.3128 > 127.0.0.1.65288: Flags [S.], seq 1404851936, ack 3179921710, win 65535, options [mss 16344,nop,wscale 3,nop,nop,TS val 114862465 ecr 114862465,sackOK,eol], length 0 15:33:51.913177 IP 127.0.0.1.65288 > 127.0.0.1.3128: Flags [.], ack 1, win 56888, options [nop,nop,TS val 114862465 ecr 114862465], length 0 15:33:51.913190 IP 127.0.0.1.3128 > 127.0.0.1.65288: Flags [.], ack 1, win 56888, options [nop,nop,TS val 114862465 ecr 114862465], length 0 # hangs here }}} B) curl (3): {{{ 15:33:12.245787 IP 127.0.0.1.65286 > 127.0.0.1.3128: Flags [S], seq 3483046350, win 65535, options [mss 16344,nop,wscale 3,nop,nop,TS val 114862069 ecr 0,sackOK,eol], length 0 15:33:12.245872 IP 127.0.0.1.3128 > 127.0.0.1.65286: Flags [S.], seq 35148451, ack 3483046351, win 65535, options [mss 16344,nop,wscale 3,nop,nop,TS val 114862069 ecr 114862069,sackOK,eol], length 0 15:33:12.245888 IP 127.0.0.1.65286 > 127.0.0.1.3128: Flags [.], ack 1, win 56888, options [nop,nop,TS val 114862069 ecr 114862069], length 0 15:33:12.245902 IP 127.0.0.1.3128 > 127.0.0.1.65286: Flags [.], ack 1, win 56888, options [nop,nop,TS val 114862069 ecr 114862069], length 0 # until now same as above but continues: 15:33:12.246458 IP 127.0.0.1.65286 > 127.0.0.1.3128: Flags [P.], seq 1:271, ack 1, win 56888, options [nop,nop,TS val 114862069 ecr 114862069], length 270 15:33:12.246494 IP 127.0.0.1.3128 > 127.0.0.1.65286: Flags [.], ack 271, win 56855, options [nop,nop,TS val 114862069 ecr 114862069], length 0 15:33:12.246794 IP 127.0.0.1.3128 > 127.0.0.1.65286: Flags [P.], seq 1:340, ack 271, win 56888, options [nop,nop,TS val 114862069 ecr 114862069], length 339 15:33:12.246837 IP 127.0.0.1.3128 > 127.0.0.1.65286: Flags [P.], seq 340:4436, ack 271, win 56888, options [nop,nop,TS val 114862069 ecr 114862069], length 4096 15:33:12.246863 IP 127.0.0.1.3128 > 127.0.0.1.65286: Flags [P.], seq 4436:8532, ack 271, win 56888, options [nop,nop,TS val 114862069 ecr 114862069], length 4096 [...] }}} Could this be a libcurl bug? ---- It is impossible to explicitly disable/set a proxy in macports.conf if proxies are set in sys preferences. Can this option be added? E.g.: {{{ proxy_ftp no }}} or {{{ proxy_ftp disable }}} Instead of proxy_override_env these methods would be much better: {{{ proxy_ftp env # use environment proxy_ftp sys # use sys preferences proxy_ftp host:port # set proxy here }}} Then we have better control of how a proxy is set. Thanks! -- Ticket URL: <https://trac.macports.org/ticket/25450#comment:6> MacPorts <http://www.macports.org/> Ports system for Mac OS