Err, looks like that project never was implemented. But maybe that approach could be followed?
On 6/21/10, Alexander T <[email protected]> wrote: > And perhaps the commons vfs-database binding at > http://sourceforge.net/projects/commons-vfsjdbc/ could be interesting? > > On 6/21/10, David Latorre <[email protected]> wrote: >> 2010/6/14 Chuck Johnstone <[email protected]>: >>> That sounds quite reasonable. I'll take a look at using FtpFile. >> >> Other projects you might find worth looking at are Apache Commons VFS >> and COTTA file system. These two have a File API which seems >> nicer/more extensible than java.io.File >> >> >> >>> On 10-06-14 03:36 AM, Guillaume Nodet wrote: >>>> >>>> Thinking a bit more about this, I think the following would make sense: >>>> * copy FtpFile and NativeFtpFile from FtpServer into the sshd >>>> subsystem >>>> package >>>> * copy the SftpSubsystem to AbstractSftpSubsystem and rework it to >>>> use >>>> a >>>> FtpFile root >>>> * rework SftpSubsystem to inherit AbstractSftpSubsystem and just >>>> provide >>>> a >>>> NativeFtpFile file system root >>>> >>>> For the long term solution, I think it would make more sense to do the >>>> work >>>> in FtpServer and use SSH as an addition transport layer, thus reusing >>>> user >>>> management, file system users configuration and all ... It should be >>>> then >>>> really simple to implement an org.apache.sshd.server.sftp.FtpFile on >>>> top >>>> of >>>> the existing ftpserver FtpFile and provide a user authentication >>>> mechanism >>>> delegating to the ftpserver auth mechanism. >>>> >>>> On Mon, Jun 14, 2010 at 11:27, Guillaume Nodet<[email protected]> >>>> wrote: >>>> >>>> >>>>> >>>>> On Thu, Jun 10, 2010 at 20:19, Chuck Johnstone< >>>>> [email protected]> wrote: >>>>> >>>>> >>>>>> >>>>>> Hi, >>>>>> >>>>>> As per the previous email I'm going to experimentally rework >>>>>> SftpSubsystem >>>>>> to use a db backend. >>>>>> >>>>>> My current approach is to copy SftpSubsystem and abstract out the >>>>>> file >>>>>> access. The new class is called AbstractSftpSubsystem. >>>>>> >>>>>> Right now I've created an interface that mimics all the pertinent >>>>>> bits >>>>>> of >>>>>> java.io.File as used in SftpSubsystem. >>>>>> >>>>>> The interface currently looks like this: >>>>>> >>>>>> public static interface SftpFile { // from java.io.File >>>>>> boolean exists(); >>>>>> boolean createNewFile(); >>>>>> SftpFile getParentFile(); // based on File.getParentFile() >>>>>> String getPath(); >>>>>> long length(); >>>>>> boolean canRead(); >>>>>> boolean canWrite(); >>>>>> boolean isFile(); >>>>>> boolean isDirectory(); >>>>>> long lastModified(); >>>>>> SftpFile[] listFiles(); >>>>>> String getName(); >>>>>> boolean delete(); >>>>>> boolean mkdir(); >>>>>> boolean renameTo(SftpFile dest); >>>>>> SftpFile getAbsoluteFile(); >>>>>> } >>>>>> >>>>>> >>>>> >>>>> Yeah, looks good. Though, we'd need to be able to read / write to >>>>> those >>>>> files, which isn't possible in this interface. >>>>> I really wonder if a simplier approach would be to just copy the >>>>> FtpFile >>>>> interface [1] into the subsystem package. At least, we'd know that >>>>> we'll >>>>> be >>>>> able to bridge with FtpServer quite easily. >>>>> >>>>> [1] >>>>> >>>>> http://svn.apache.org/viewvc/mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpFile.java?view=markup >>>>> >>>>> >>>>>> >>>>>> I believe this is in line with the discussion so far. If there is a >>>>>> better way let me know. I'll submit patches if you think this >>>>>> approach >>>>>> is >>>>>> useful. >>>>>> >>>>>> Cool ! Patches is the way to go ... >>>>>> >>>>> >>>>> >>>>>> >>>>>> The good news is that my company is funding the development time. >>>>>> The >>>>>> above approach is our short term solution to this problem but we're >>>>>> also >>>>>> interested in a longer term solution. Mention was made of moving >>>>>> this >>>>>> into >>>>>> apache ftpServer. We intend to help with that too. I've used >>>>>> ftpServer >>>>>> to >>>>>> implement a backend FTPS solution so I'm a bit familiar with the >>>>>> system >>>>>> but >>>>>> I'm not familiar with the details of SFTP. I'm assuming that SFTP >>>>>> code >>>>>> from >>>>>> SftpSubsystem could be ported into Mina ftpServer structures. >>>>>> >>>>>> >>>>> >>>>> Well, I'm not very familiar with the FtpServer project. I wonder if >>>>> it >>>>> would be easier / cleaner to integrate SSHD into FtpServer project as >>>>> an >>>>> additional transport, or integrate FtpServer into SSHD as a new >>>>> backend >>>>> for >>>>> SFTP subsystem. Maybe other FtpServer people can jump in and throw >>>>> some >>>>> ideas here. >>>>> >>>>> >>>>> >>>>>> >>>>>> I'll be focused on the short term solution over the next few weeks >>>>>> but >>>>>> after that I can move onto the longer term solution. >>>>>> Discussion/guidance in >>>>>> this task will be greatly appreciated. >>>>>> >>>>>> Chuck Johnstone >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Cheers, >>>>> Guillaume Nodet >>>>> ------------------------ >>>>> Blog: http://gnodet.blogspot.com/ >>>>> ------------------------ >>>>> Open Source SOA >>>>> http://fusesource.com >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>> >>> >> >
