[tahoe-dev] An additional bounty for an SFTP interface (Was: barriers to using tahoe)

David-Sarah Hopwood david-sarah at jacaranda.org
Sat Mar 6 20:02:43 PST 2010


Jack Lloyd wrote:
> On Thu, Feb 04, 2010 at 10:43:36PM -0500, EdPimentl wrote:
>> Hello Distinquished members of this list.
>>
>> I have decided to double ($800.00 USD) the bounty for:
>>  - FUSE like layer
>>  - SMB by default for Windows
>>  - SFTP by default (localhost) for *nix
> 
> Because it's something I would like to have, but do not have the time
> to work on:
> 
> I will offer a bounty of 150 USD to whoever gets SFTP-to-Tahoe working
> and added to the base Tahoe install (I add this condition so I don't
> have to specify quality metrics; I'm assuming Zooko, Brian, and others
> wouldn't accept something for inclusion in the default install unless
> it is of reasonably good quality).
> 
> If it works just on Unix that's acceptable to me, but ideally it would
> be available everywhere since there are good SFTP clients for Windows
> (WinSCP, specifically).
> 
> SFTP seems to be available as part of Twisted Conch so I would guess
> this is not even terribly hard. (Ahaha famous last words?)

I'm interested in working on improvements to the SFTP implementation,
and would like some clarification on the total bounty that would be
available for the following.

 - add support for:
   - opening a file in all valid modes, including read/write.
     (This is needed to make FUSE access via sshfs work for more
     applications.)
   - getting file attributes.
   - mutable files (currently, the SFTP implementation can only
     read and write immutable Tahoe files).

 - unit tests for all operations, with all Tahoe file/directory
   types:
   - both no-network (testing direct calls to STFPHandler)
     and loopback (testing Tahoe's SFTP server against
     twisted.conch.ssh.filetransfer.FileTransferClient),
   - adapt contrib/fuse/runtests.py to test filesystem access via
     sshfs, and add tests to it for opening files read/write.

 - latency reduction:
   - return success from an open request as soon as the parent
     directory has been read.
   - streaming reads, i.e. read the file as it is being
     downloaded (unfinished downloads are stopped when the file
     is closed or the SFTP session is logged out).
   - overwrite parts of a file as the original contents are being
     downloaded.

This would be sufficient to support read/write filesystem access on
Unix, but not Windows (the latter would be most easily supported via
WebDAV, I think, which would be a lot more work). The amount of the
bounty would affect how much time I could spend on this and how soon
it would be likely to be done.

-- 
David-Sarah Hopwood  ⚥  http://davidsarah.livejournal.com

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 292 bytes
Desc: OpenPGP digital signature
Url : http://allmydata.org/pipermail/tahoe-dev/attachments/20100307/f338bafe/attachment.pgp 


More information about the tahoe-dev mailing list