Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 07 Apr 2007 10:20:14 -0700
From:      Nate Lawson <nate@root.org>
To:        =?ISO-8859-1?Q?Dag-Erling_Sm=F8rgrav?= <des@des.no>
Cc:        current@freebsd.org
Subject:   Re: libfetch ftp patch for less latency
Message-ID:  <4617D2CE.1050502@root.org>
In-Reply-To: <86fy7nq4q1.fsf@dwp.des.no>
References:  <460AE39B.4070706@root.org> <86odmcqylx.fsf@dwp.des.no>	<200703291905.00192.pieter@degoeje.nl> <86k5wzq4vx.fsf@dwp.des.no> <86fy7nq4q1.fsf@dwp.des.no>

next in thread | previous in thread | raw e-mail | index | archive | help
Dag-Erling Smørgrav wrote:
> Dag-Erling Smørgrav <des@des.no> writes:
>> Pieter de Goeje <pieter@degoeje.nl> writes:
>>> Dag-Erling Smørgrav <des@des.no> writes:
>>>> No.  This is a violation of the FTP protocol.
>>> I'm reading rfc 959 right now, and it include examples of CWD with
>>> full pathname (multiple directories). Actually the rfc is kinda
>>> vague about this.
>> RFC959 does not require or guarantee that the path separator is /, nor
>> that "CD ../foo" does what you expect.  There are also issues when the
>> initial CWD is not / (the document part in an FTP URL is relative to
>> the initial CWD, not absolute)
> 
> I guess I should amend "this is a violation of the FTP protocol" to
> "this relies on assumptions which the FTP RFC does not allow us to
> make, and is a violation of RFC1738"

Obviously, it's easier to do nothing than something.  So here are some
options:

1. Add my patch -- if a server returns an error, I see no way it would
have changed the PWD.  If you say "CD GARBAGE", what reasonable system
would return an error and change to some random dir?

2. Add an env variable (similar to FTP_PASSIVE_MODE, say
"FTP_SINGLE_CWD") which forces the current behavior.  If not set, fetch
tries the multi-method first, falls back to the single-method on error.

-- 
Nate



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4617D2CE.1050502>