[MacPorts] #25450: Ports fail to fetch from Japanese ftp mirror

MacPorts noreply at macports.org
Thu Nov 10 07:03:58 PST 2011


#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


More information about the macports-tickets mailing list