OpenSSH GSoC Project
Ben Lindstrom
mouring at eviladmin.org
Wed Mar 25 02:08:10 EST 2009
On Mar 24, 2009, at 6:13 AM, Salvador Fandino wrote:
> Jim Knoble wrote:
>> On 2009-03-23 16:05, Pavel Labath wrote:
[..]
> - even if there is no RFC for SCP, there is a reference implementation
> (rcp), and the protocol is so simple that it can be inferred just
> inspecting a couple of sessions.
- It is known to break very easily due to scp not being found in the
user's path correctly (thus the reason "subsystems" came into being)
- It is known to require double-escaping of arguments sometimes due to
the interaction with shells on both sides. Which causes new users to
complain that it is broken.
For us to improve scp and make it a real program instead of a "tar |
ssh tar"ish hack that it is right now. It would no longer be
compatible with the existing scp. At that point, one may as well
improve sftp since there is still time to nudge the draft into better
shape.
[..]
>> That said, i often use either rsync(1) or combinations of ssh(1) and
>> tar(1) to do transfers from a shell command-line.
>
> Something I would find very useful would be some SFTP extension to
> allow
> implementation of some kind of rsync over SFTP.
<shrug> I have a half-written rsync spec and proof of concept
somewhere around my home directory. The problem with creating an
rsync-like concept over sftp is the work needed to teach the sftp
protocol how to correctly handle rolling checksums. No matter how I
write the specs and how I implemented it the cost always felt too
high, and in benchmarks against rsync it always lost out.
sftp protocol doesn't lend itself well to it at this time.
[..]
>> Again, look at LFTP for ideas.
>
> as LFTP already seems to do everything we need (and much more) and
> it is
> freely available, does really makes sense to reimplement its
> functionality inside sftp? why not just recommend it on the docs?
Frankly, I don't want to install another 3rd party program and manage
it along side OpenSSH. I'd rather have a reasonable sftp
implementation so my users don't complain.
> I think that there are other more interesting areas to work on related
> to SFTP, for instance:
>
> - remove the max packet size limitation for read and write operations
> that forces SFTP clients to send/get data in chunks. File data could
> be
> moved directly between the network (actually from the slave SSH
> process
> pipes) and the on disk file without going to a memory buffer first.
I suspect that would break the current RFC draft. Thus would either
an official way to detecting, or an unofficial hack, your talking to
an older server.
> - implement an extension to allow rsync over SFTP (ssync :-)
>
> - implement fine grained access control for the SFTP server, limiting
> which SFTP operations are available (for instance, forbidding
> directory
> reading).
The file permissions should be access control. Having yet another
layer on top of it is silly. The only valid argument ftp has for
doing such garbage is they support an "anonymous" mode where it isn't
a real user.
> - implement file locking
>
> - implement an extension to tell the client the encoding used on the
> server file system.
>
> - implement an extensible SFTP server in a high level language as Perl
> or Python.
Ugh. No thank you. After dealing with broken scripts at least once
a month I have no interest in seeing sftp-server become a script.
Unless you don't use any CPAN modules there is no way to assure that
your new sftp-server will be compatible with the perl version
installed on the machine (nor is it installed on every class of
machine). <shrug> As for python it isn't installed by default under
every OS.
OpenSSH project already gets people whining that we have too many
dependancies.
- Ben
More information about the openssh-unix-dev
mailing list