2009 Google Summer of Code

Damien Miller djm at mindrot.org
Wed Mar 25 23:13:42 EST 2009


On Wed, 25 Mar 2009, Damien Miller wrote:

> 6.1 Renovate sftp
> 
> The motivation for this idea is to make sftp(1) a compelling replacement
> for scp(1). scp(1) has a very easy to use command-line interface,
> supports recursive copies ("scp -r") and is quite fast - it does not
> need a server round-trip for each file that it copies. Unfortunately
> scp(1) is unmaintainable - its protocol practically requires shell
> access and has no backwards compatibility or extensibility support.
> 
> So this project would be adding these missing features to sftp(1) and
> exposing them via a commandline that is as compatible with scp(1)'s as
> possible. Beyond this baseline, there are a number of other things that
> may be done to improve sftp(1):
> 
> - Implement tab-completion in interactive mode. Ben Lindstrom has written
>   a patch to implement this, and it only needs a tiny amount of work to
>   get it committed.
> 
> - Improve the interactive interface. Right now, things like
>   "get file1 file2 file3" don't work, or don't do what one might normally
>   expect.
>   
>   Also, the sftp client currently requires read access to every
>   component of the patch in which it is operating (i.e. traverse-only
>   directories break it) - there is no protocol-level reason why this needs
>   to be the case so this could be fixed fairly easily too.

Implementing an rsync-like protocol would be a great project for sftp
as well. Such an implementation would need to be from scratch, since
rsync's license is incompatible with our preferred license for OpenSSH.

-d


More information about the openssh-unix-dev mailing list