[MacPorts] #54069: Fetch of IDEA code fails via FTP
MacPorts
noreply at macports.org
Mon May 1 02:22:26 UTC 2017
#54069: Fetch of IDEA code fails via FTP
-------------------------------+-----------------
Reporter: michael-j-oconnor | Owner:
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version:
Keywords: | Port:
-------------------------------+-----------------
The change resulting from #53710 needs to be backed out or rethought.
{{{
sudo port -N install gnupg +idea
}}}
fails, since the file idea.c.gz cannot be fetched via FTP. This can be
readily seen with curl -v:
{{{
$ curl -v ftp://ftp.gnupg.dk/pub/contrib-dk/idea.c.gz
* Trying 82.180.28.130...
* TCP_NODELAY set
* Connected to ftp.gnupg.dk (82.180.28.130) port 21 (#0)
< 220 pi FTP server (Version wu-2.6.2(1) Mon Apr 30 20:10:54 UTC 2012)
ready.
> USER anonymous
< 331 Guest login ok, send your complete e-mail address as password.
> PASS ftp at example.com
< 230-The response 'ftp at example.com' is not valid
< 230-Next time please use your e-mail address as your password
< 230- for example: joe at macportzzz.org
< 230-Welcome, archive user anonymous at macportzzz.org !
< 230-
< 230-The local time is: Mon May 1 01:29:15 2017
< 230-
< 230-This is an experimental FTP server. If have any unusual problems,
< 230-please report them via e-mail to <root at pi>.
< 230-
< 230-If you do have problems, please try using a dash (-) as the first
< 230-character of your password -- this will turn off the continuation
< 230-messages that may be confusing your FTP client.
< 230-
< 230 Guest login ok, access restrictions apply.
> PWD
< 257 "/" is current directory.
* Entry path is '/'
> CWD pub
* ftp_perform ends with SECONDARY: 0
< 250-Please read the file README
< 250- it was last modified on Sun Apr 30 04:25:12 2017 - 1 day ago
< 250-Please read the file README~
< 250- it was last modified on Sun Apr 30 04:25:12 2017 - 1 day ago
< 250 CWD command successful.
> CWD contrib-dk
< 250 CWD command successful.
> EPSV
* Connect data stream passively
< 500 'EPSV': command not understood.
* Failed EPSV attempt. Disabling EPSV
> PASV
< 227 Entering Passive Mode (192,168,0,3,87,244)
* Trying 192.168.0.3...
* TCP_NODELAY set
* Connecting to 192.168.0.3 (192.168.0.3) port 22516
* Connection failed
* connect to 192.168.0.3 port 21 failed: Operation timed out
* Failed to connect to ftp.gnupg.dk port 21: Operation timed out
* Closing connection 0
curl: (7) Failed to connect to ftp.gnupg.dk port 21: Operation timed out
}}}
MacPorts FTP fetch operation uses PASV ftp, and ftp.gnupg.dk returns a
bogus/private IP address in its PASV response. This is not uncommon, and
command-line curl even has an option to deal with it:
{{{
--ftp-skip-pasv-ip
(FTP) Tell curl to not use the IP address the server
suggests in
its response to curl's PASV command when curl connects the
data
connection. Instead curl will re-use the same IP address
it
already uses for the control connection.
}}}
Many browser implementations may do the same thing, if not fall back to
PORT FTP (which works with this site). However, neither seems to be
readily configurable with MacPorts FTP fetch implementation. I'm writing
this to show that this is NOT a "firewall issue" (at least at the
downloading end), since there were concerns in #53710 about that.
Based on the HTTP redirect, the file can be downloaded from:
https://gnupg.dk/pub/contrib-dk/idea.c.gz
I'd suggest that as an alternative. Either that, or ship the file so the
gnupg.dk site is not a single point of failure.
--
Ticket URL: <https://trac.macports.org/ticket/54069>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list