[MacPorts] #45655: FTP hosting source code for wcslib not reachable from NATed VirtualBox machines.

MacPorts noreply at macports.org
Wed Nov 5 07:10:44 PST 2014


#45655: FTP hosting source code for wcslib not reachable from NATed VirtualBox
machines.
-------------------------+--------------------
  Reporter:  aszostak@…  |      Owner:  john@…
      Type:  defect      |     Status:  new
  Priority:  Normal      |  Milestone:
 Component:  ports       |    Version:  2.3.1
Resolution:              |   Keywords:
      Port:  wcslib      |
-------------------------+--------------------

Comment (by john@…):

 I'm actually confused as to what the problem is here. I'm no FTP guru, but
 my understanding is that when the client sends `EPSV` the server should
 respond with a port number, and then the client connects back to that
 port. That seems to be what's happening according to aszostak's log:

 {{{
 > EPSV
 * Connect data stream passively
   0     0    0     0    0     0      0      0 --:--:--  0:00:04 --:--:--
 0< 229 Extended Passive mode OK (|||15593|)
 *   Trying 150.229.106.20...
 * Connecting to 150.229.106.20 (150.229.106.20) port 15593
 }}}

 But for some reason that connection doesn't seem to be transferring any
 data.

 As far as I can see, this shouldn't be a problem with the NAT/firewall on
 the client side (since it's initiating the connection, and we already know
 that it can initiate connections to the server -- it did so to begin the
 session) or on the server side (it clearly has no problems handling
 passive connections when VirtualBox isn't in the equation).

 Interestingly, when I try this on my own (non-VirtualBox) system, I see:

 {{{
 $ curl -v ftp://ftp.atnf.csiro.au/pub/software/wcslib/wcslib-4.23.tar.bz2
 -o /tmp/wcslib-4.23.tar
 [...]
 > EPSV
 * Connect data stream passively
   0     0    0     0    0     0      0      0 --:--:--  0:00:07 --:--:--
 0< 227 Entering Passive Mode (150,229,106,20,237,219)
 * Failed EPSV attempt. Disabling EPSV
 [...]
 }}}

 I wonder if the VirtualBox NAT is somehow rewriting the server's response
 so it incorrectly appears that the server supports `EPSV` when it doesn't.
 aszostak, could you try running `curl` outside VirtualBox and capturing a
 log for comparison?

 I continue to be quite reluctant to completely disable `EPSV` in the
 Portfile without really understanding what's happening, as it seems like
 that's just storing up trouble for the future.

-- 
Ticket URL: <https://trac.macports.org/ticket/45655#comment:7>
MacPorts <https://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list