From owner-freebsd-current@FreeBSD.ORG Sat Apr 21 00:06:55 2007 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A505216A402; Sat, 21 Apr 2007 00:06:55 +0000 (UTC) (envelope-from yar@comp.chem.msu.su) Received: from comp.chem.msu.su (comp.chem.msu.su [158.250.32.97]) by mx1.freebsd.org (Postfix) with ESMTP id E22B613C455; Sat, 21 Apr 2007 00:06:54 +0000 (UTC) (envelope-from yar@comp.chem.msu.su) Received: from comp.chem.msu.su (localhost [127.0.0.1]) by comp.chem.msu.su (8.13.4/8.13.4) with ESMTP id l3L06o2m053546; Sat, 21 Apr 2007 04:06:50 +0400 (MSD) (envelope-from yar@comp.chem.msu.su) Received: (from yar@localhost) by comp.chem.msu.su (8.13.4/8.13.4/Submit) id l3L06nOL053545; Sat, 21 Apr 2007 04:06:49 +0400 (MSD) (envelope-from yar) Date: Sat, 21 Apr 2007 04:06:49 +0400 From: Yar Tikhiy To: Nate Lawson Message-ID: <20070421000649.GD52136@comp.chem.msu.su> References: <460AE39B.4070706@root.org> <86ps6g5759.fsf@dwp.des.no> <4617F563.40502@root.org> <200704181648.46348.jhb@freebsd.org> <20070420074423.GA22594@comp.chem.msu.su> <4628F76F.80608@root.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4628F76F.80608@root.org> User-Agent: Mutt/1.5.9i Cc: Dag-Erling Sm?rgrav , freebsd-current@freebsd.org Subject: Re: libfetch ftp patch for less latency X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Apr 2007 00:06:55 -0000 On Fri, Apr 20, 2007 at 10:25:03AM -0700, Nate Lawson wrote: > Yar Tikhiy wrote: > > On Wed, Apr 18, 2007 at 04:48:45PM -0400, John Baldwin wrote: > >> On Saturday 07 April 2007 15:47, Nate Lawson wrote: > >>> Dag-Erling Sm?rgrav wrote: > >>>> Nate Lawson writes: > >>>>> 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. > >>>> No. > >>>> > >>>> Thanks, > >>>> > >>>> DES > >>> I forgot: > >>> > >>> 3. #ifdef (on or off by default) > >>> > >>> Also, can I hear from anyone else besides Mr. No? > >> I'm hestitant to make fetch explicitly not follow the RFC. At the least it > >> should follow the RFC by default. Having it not follow the RFC actually > >> broke stuff at work until I fixed it. > > > > I believe that the proposed feature should be conditional on the > > TVFS extension in the server (RFC 3659) as it indeed violates the > > basic FTP protocol. OTOH, TVFS seems to provide guarantees that > > a single CWD will work as expected. > > > > I'll do the work if this is acceptable. I'm afraid you'll have to get an approval from Mr. No anyway to commit that. :-) I also wonder if there are enough TVFS conformant FTP servers out there to justify the work and the risk. But there's good news, too: yar@jujik:~$ftp -d -a ftp.freebsd.org Trying 2001:6c8:6:4::7... Trying 2001:4f8:0:2::e... Trying 204.152.184.73... Connected to ftp.freebsd.org. [...] ---> FEAT 211-Features: EPRT EPSV MDTM PASV REST STREAM SIZE TVFS 211 End features[FEAT_FEAT] = 1 features[FEAT_MDTM] = 1 features[FEAT_MLST] = 0 features[FEAT_REST_STREAM] = 1 features[FEAT_SIZE] = 1 features[FEAT_TVFS] = 1 62.243.72.50 tells it supports TVFS, too. Our stock ftpd(8) has just started to announce TVFS support, too, but only when in UTF-8 mode because RFC 3659 says that TVFS implies UTF-8 file names. -- Yar