[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#441469: [methods/ftp] attempts to download known-nonexistent files?



Package: apt
Version: 0.7.6
Severity: minor

While debugging a problem with my ftp server not correctly handling
successive EPSV commands without a succesful intervening RETR, I've noticed
that apt's ftp method attempts to download files even if the server has
already indicated that the file doesn't exist (in this case, triggering a bug
in proftpd).

>From apt-get update -o Debug::Acquire::Ftp=true:

<- 'ProFTPD%201.3.0%20Server%20(Debian)%20[2001:4830:1244:0:209:5bff:feb6:9284]%0d%0a'
-> 'USER%20anonymous%0d%0a'
<- 'Anonymous%20login%20ok,%20send%20your%20complete%20email%20address%20as%20your%20password.%0d%0a'
-> 'PASS%20apt_get_ftp_2.1@debian.linux.user%0d%0a'
<- 'Anonymous%20access%20granted,%20restrictions%20apply.%0d%0a'
-> 'TYPE%20I%0d%0a'
<- 'Type%20set%20to%20I%0d%0a'
-> 'SIZE%20/debian/dists/unstable/Release.gpg%0d%0a'
<- '189%0d%0a'
-> 'MDTM%20/debian/dists/unstable/Release.gpg%0d%0a'
<- '20021023211358%0d%0a'
-> 'EPSV%0d%0a'
<- 'Entering%20Extended%20Passive%20Mode%20(|||2856|)%0d%0a'
-> 'RETR%20/debian/dists/unstable/Release.gpg%0d%0a'
<- 'Opening%20BINARY%20mode%20data%20connection%20for%20/debian/dists/unstable/Release.gpg%20(189%20bytes)%0d%0a'
<- 'Transfer%20complete.%0d%0a'
-> 'SIZE%20/debian/dists/unstable/local/i18n/Translation-en_US.bz2%0d%0a'
<- '/debian/dists/unstable/local/i18n/Translation-en_US.bz2:%20No%20such%20file%20or%20directory%0d%0a'
-> 'MDTM%20/debian/dists/unstable/local/i18n/Translation-en_US.bz2%0d%0a'
<- '/debian/dists/unstable/local/i18n/Translation-en_US.bz2:%20No%20such%20file%20or%20directory%0d%0a'
-> 'EPSV%0d%0a'
<- 'Entering%20Extended%20Passive%20Mode%20(|||2461|)%0d%0a'
-> 'RETR%20/debian/dists/unstable/local/i18n/Translation-en_US.bz2%0d%0a'
<- '/debian/dists/unstable/local/i18n/Translation-en_US.bz2:%20No%20such%20file%20or%20directory%0d%0a'
-> 'SIZE%20/debian/dists/unstable/Release%0d%0a'
<- '1863%0d%0a'
-> 'MDTM%20/debian/dists/unstable/Release%0d%0a'
<- '20021023211334%0d%0a'
-> 'SIZE%20/debian/dists/unstable/Release%0d%0a'
<- '1863%0d%0a'
-> 'MDTM%20/debian/dists/unstable/Release%0d%0a'
<- '20021023211334%0d%0a'
-> 'EPSV%0d%0a'
<- 'Entering%20Extended%20Passive%20Mode%20(|||2461|)%0d%0a'
-> 'RETR%20/debian/dists/unstable/Release%0d%0a'
<- 'Opening%20BINARY%20mode%20data%20connection%20for%20/debian/dists/unstable/Release%20(1863%20bytes)%0d%0a'
<- 'Transfer%20complete.%0d%0a'
-> 'SIZE%20/debian/dists/unstable/local/binary-i386/Packages.bz2%0d%0a'
<- '/debian/dists/unstable/local/binary-i386/Packages.bz2:%20No%20such%20file%20or%20directory%0d%0a'
-> 'MDTM%20/debian/dists/unstable/local/binary-i386/Packages.bz2%0d%0a'
<- '/debian/dists/unstable/local/binary-i386/Packages.bz2:%20No%20such%20file%20or%20directory%0d%0a'
-> 'EPSV%0d%0a'
<- 'Entering%20Extended%20Passive%20Mode%20(|||1950|)%0d%0a'
-> 'RETR%20/debian/dists/unstable/local/binary-i386/Packages.bz2%0d%0a'
<- '/debian/dists/unstable/local/binary-i386/Packages.bz2:%20No%20such%20file%20or%20directory%0d%0a'
-> 'SIZE%20/debian/dists/unstable/local/binary-i386/Packages.gz%0d%0a'
<- '5450%0d%0a'
-> 'MDTM%20/debian/dists/unstable/local/binary-i386/Packages.gz%0d%0a'
<- '20021023211331%0d%0a'
-> 'EPSV%0d%0a'
<- 'Entering%20Extended%20Passive%20Mode%20(|||1950|)%0d%0a'
-> 'RETR%20/debian/dists/unstable/local/binary-i386/Packages.gz%0d%0a'
<- 'Opening%20BINARY%20mode%20data%20connection%20for%20/debian/dists/unstable/local/binary-i386/Packages.gz%20(5450%20bytes)%0d%0a'
<- 'Transfer%20complete.%0d%0a'

Perhaps the ftp method could be smartened up a bit to not attempt further
operations on a remote file if it gets a 550 response code?

Cheers,
-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
vorlon@debian.org                                   http://www.debian.org/




Reply to: