Bug 1002815 - curl ftp download error 425
Summary: curl ftp download error 425
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: curl
Version: 19
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Kamil Dudka
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-08-30 05:03 UTC by Ralf Corsepius
Modified: 2013-09-02 23:29 UTC (History)
3 users (show)

Fixed In Version: curl-7.29.0-9.fc19
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-09-02 23:29:48 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Ralf Corsepius 2013-08-30 05:03:28 UTC
Description of problem:

F19's curl fails to ftp-download files, which older curls download successfully:

On F19:
# curl  -o foo.txt ftp://somewhere.com/pub/repodata/repomd.xml
...
curl: (19) RETR response: 425

On CentOS6 and other Linuxes the identical command succeeds. I currently don't have access to an F18 system, but I don't recall having had this issue with F18.


Version-Release number of selected component (if applicable):
curl-7.29.0-7.fc19.x86_64

How reproducible:
I am able to deterministically reproduce this issue with one particular ftp-site.

Steps to Reproduce:
See above.


Actual results:
Download fails after a timeout of 1 minute.


Expected results:
Download succeeds.


Additional info:
* F19/curl -v shows this:
...
> 250 Directory successfully changed.
> EPSV
* Connect data stream passively
< 229 Entering Extended Passive Mode (|||40007|).
*   Trying XX.XX.XX.XX...
* Connecting to XX.XX.XX.XX (XX.XX.XX.XX) port 40007
> TYPE I
< 200 Switching to Binary mode.
> SIZE repomd.xml
< 213 2985
> RETR repomd.xml
  0  2985    0     0    0     0      0      0 --:--:--  0:01:02 --:--:--     0< 425 Failed to establish connection.
* RETR response: 425
...
curl: (19) RETR response: 425
...

* CentOS6/curl -v shows this:
...
< 250 Directory successfully changed.
> EPSV
* Connect data stream passively
< 229 Entering Extended Passive Mode (|||40055|).
*   Trying XX.XX.XX.XX... Connection refused
* couldn't connect to host
* got positive EPSV response, but can't connect. Disabling EPSV
> PASV
< 227 Entering Passive Mode (XX,XX,XX,XX,156,132)
*   Trying XX.XX.XX.XX... connected
* Connecting to XX.XX.XX.XX (XX.XX.XX.XX) port 40068
> TYPE I
< 200 Switching to Binary mode.
> SIZE repomd.xml
< 213 2985
> RETR repomd.xml
< 150 Opening BINARY mode data connection for repomd.xml (2985 bytes).
...
< 226 Transfer complete.

=> This lets me believe this could be related to active/passive mode related issue in this ftp-server's interaction with F19's curl.

Comment 1 Kamil Dudka 2013-08-30 13:02:14 UTC
(In reply to Ralf Corsepius from comment #0)
> I am able to deterministically reproduce this issue with one particular
> ftp-site.

Which one?

> Steps to Reproduce:
> See above.

The above command fails to connect at all.

> => This lets me believe this could be related to active/passive mode related
> issue in this ftp-server's interaction with F19's curl.

Please retry with --disable-epsv.

Comment 2 Ralf Corsepius 2013-08-30 14:19:16 UTC
(In reply to Kamil Dudka from comment #1)
> (In reply to Ralf Corsepius from comment #0)
> > I am able to deterministically reproduce this issue with one particular
> > ftp-site.
> 
> Which one?
I did not want to disclose the site suffering from this issue to the public in bugzilla for reasons of privacy. Anyway, I just sent you the real URL on PM.

> > => This lets me believe this could be related to active/passive mode related
> > issue in this ftp-server's interaction with F19's curl.
> 
> Please retry with --disable-epsv.

This works with the affected URL!

However, this doesn't help me much, because the actual breakdown, I am experiencing is with mock and yum, which, AFAIK, uses curl underneath?

# yum update
Loaded plugins: auto-update-debuginfo, langpacks, refresh-packagekit
...
Could not retrieve mirrorlist ftp://ftp.xxxx.org/..../mirrorlist error was
14: FTP Error 425 - RETR response: 425
... 

Am I right in assuming this server is having a problem?

Comment 3 Kamil Dudka 2013-08-30 19:42:19 UTC
Thank you for providing the details, Ralf!

This will fix the issue:

https://github.com/bagder/curl/commit/7cc00d9a

Comment 4 Fedora Update System 2013-08-30 20:30:21 UTC
curl-7.29.0-9.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/curl-7.29.0-9.fc19

Comment 5 Ralf Corsepius 2013-08-31 05:24:26 UTC
(In reply to Fedora Update System from comment #4)
> curl-7.29.0-9.fc19 has been submitted as an update for Fedora 19.
> https://admin.fedoraproject.org/updates/curl-7.29.0-9.fc19

Thanks, works for me ;)

Different question: Any ideas on why the server is behaving this way?
As nobody seems to have encountered this issue before, I'd assume this server to be mal-configured or at least to be "configured weirdly". I'd guess on firewall issues.

Comment 6 Kamil Dudka 2013-08-31 06:51:33 UTC
(In reply to Ralf Corsepius from comment #5)
> Different question: Any ideas on why the server is behaving this way?
> As nobody seems to have encountered this issue before, I'd assume this
> server to be mal-configured or at least to be "configured weirdly". I'd
> guess on firewall issues.

Unless we have a local testing setup, it is hard to guess the exact cause.  It can be problem either with the server, or any network element between the client and the server (firewall, transparent proxy, etc.).

Comment 7 Fedora Update System 2013-08-31 23:58:30 UTC
Package curl-7.29.0-9.fc19:
* should fix your issue,
* was pushed to the Fedora 19 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing curl-7.29.0-9.fc19'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-15595/curl-7.29.0-9.fc19
then log in and leave karma (feedback).

Comment 9 Fedora Update System 2013-09-02 23:29:48 UTC
curl-7.29.0-9.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.