Opened 7 years ago

#5265 enhancement new

Add an adapter from IFTPShell to ISFTPServer, allowing FTP backends to be re-used by the Conch SFTP server

Reported by: Jean-Paul Calderone Owned by:
Priority: normal Milestone:
Component: conch Keywords:
Cc: z3p Branch:


For custom SFTP servers, developers implement twisted.conch.interfaces.ISFTPServer.

For custom FTP servers, developers implement twisted.protocols.ftp.IFTPShell.

These interfaces have some overlap, but they're certainly not interchangeable. Therefore when one has implemented one, one does not automatically get the ability to use it over both protocols. This is unfortunate, since the protocols basically do the same thing.

It would be better if a single filesystem-like interface could be implemented and used for both FTP and SFTP.

There should be a way to use either protocol, having written only one backend. I suggest an adapter from IFTPShell to ISFTPServer, allowing Conch to use any FTP backend, because Twisted includes two FTP backends and only one SFTP backend, and the SFTP backend is harder to use.

One outcome of this ticket should be that we can resolved #5237 in a way that doesn't grant unlimited remote access to any system the example is run on.

Change History (1)

comment:1 Changed 7 years ago by DefaultCC Plugin

Cc: z3p added
Note: See TracTickets for help on using tickets.