Bug in curl makes Fedora ftp:// URL installations fail with some mirrors

Pasi Kärkkäinen pasik at iki.fi
Sat Oct 16 20:49:39 UTC 2010


Hello,

This bug is present in Fedora 13, and probably in Fedora 14 aswell.

Initial report about the issue:
"Fedora 13 installer fails to fetch some files from FTP mirror and installation fails, wget works ok":
https://bugzilla.redhat.com/show_bug.cgi?id=624431

Actual bug:
"curl range support (REST) is broken with some FTP servers: "(28) FTP response timeout":
https://bugzilla.redhat.com/show_bug.cgi?id=643656

Short version: Anaconda installer uses urlgrabber to grab the rpms from the mirror site,
and urlgrabber uses pycurl, which uses curl. When anaconda requests urlgrabber
to skip the rpm headers using byte ranges, it makes curl to issue ftp REST
command to skip specific amount of bytes. Curl doesn't seem to work with
some FTP servers when using the REST command, and the transfer times out, and fails,
which makes the whole Fedora installation fail.

Example of failing Fedora mirror: ftp.funet.fi (which is the original home of Linux kernel,
and it's a very well connected FTP mirror site in Europe).

You can reproduce the bug like this:
curl -o iputils-20071127-10.fc13.x86_64.rpm --range 1384-1400 ftp://ftp.funet.fi/pub/mirrors/fedora.redhat.com/pub/fedora/linux/releases/13/Fedora/x86_64/os/Packages/iputils-20071127-10.fc13.x86_64.rpm

It gives error "(28) FTP response timeout" after around one minute.
(1384 is the size of the header in many rpms).

-- Pasi



More information about the devel mailing list