Skip to content

Latest commit

 

History

History

FTPServLib

NOTE: This version of ios-ftpserver (aka DiddyFtpServer), based on svn revision 8, has been 
slightly modified to work with Frotz.  Frotz's original FTP server was implemented using
NSFileHandle-based APIs, and is afflicted with an OS bug introduced in iOS 4/MacOS 10.6
(when everything was refactored to use GCD) which causes FTP clients which open multiple
simultaneous connections to hang.  Apple doesn't appear to be interested in actually 
fixing this bug, and I didn't want to completely rewrite my FTP implementation since there
is no easy workaround, so I found an open source implemetation based on CFSteam APIs
and had my way with it.

For the original source, see http://code.google.com/p/ios-ftp-server/.
This folder contains all readme/license files from the project, as well as the .m files from 
the original Classes folder implementing the library, but does not include the files used to 
make a standalone app.

Also, because Frotz is GPL and full source is available, I did not bother to build the FTP server
into a library. Doing so would have been troublesome since Frotz already used the ASyncSocket
support for its HTTP server, which was duplicated in ios-ftpserver's static library build.

Original README contents follows:
---

DiddyFtpServer is a very simple Ftp server library written in Cocoa/Objective C that you can include into your 
projects to add file access.


I have only added a subset of Ftp Commands.

Currently the major issue is...

Windows Explorer : hangs when asked to transfer a file
Long file transfers sometimes hang.  

I'm still working on this, but someone else might spot a bug faster.

Known clients I have got this working with are   Transmit from Panic and FileZilla.

I'm releasing this as I want to concentrate on other parts of my app and hope that other people can get involved and 
make this into a really useful library for cocoa programmers.

My thanks to Dustin Voss for the AsyncSocket routines which I have used.
AsyncSocket can be found at http://code.google.com/p/cocoaasyncsocket/
and that part is covered by his own copyright that is included in the headers.


This library is covered by the terms of LGPL which is included.  share code, make life easier.