Bug in libfetch handling of FTP urls..
des at des.no
Mon Jul 4 02:48:51 GMT 2005
John Baldwin <jhb at FreeBSD.org> writes:
> Ran into this at work. Suppose I am fetching a file over ftp for a user foo
> whose home dir is /home/foo' and I want to retrieve the 'bar/baz' file out of
> his home directory. [...]
This is tricky because libfetch caches FTP connections, so you can't
always assume that CWD is ~ at the beginning of the transfer if you've
already transferred something from the same host/user/password tuple
in the same process. See (ironically) RFC 1738 section 3.2.5.
Connection caching is an essential feature, because it has a huge
impact on the speed of a network install. Although sysinstall still
uses libftpio + cpio, one may hope that it will one day in the not-
too-distant future switch to libfetch + libarchive.
> I verified this by doing 'fetch -vv' and seeing that it does one big CWD
> (instead of the multiple CWD's the RFC says should happen) and that it
> includes the leading '/' when it should not.
I am currently testing a patch for this.
> Also, it seems that fetch ignores the ';type=X' optional part of the url-path
> and always uses TYPE I.
Correct, that was never implemented. At the very least, the typecode
should be stripped from the URL.
Dag-Erling Smørgrav - des at des.no
More information about the freebsd-net