Small FTP Daemon (sftpd) is a basic multithreaded win32 ftp server implementation written in a combination of C and C++ - using non blocking sockets. You can either use it as a dll or build it directly into your programs. It uses 64bit values where necessary, so that files larger 32bit are handled.
At the moment I consider it as a proof of concept and have decided to release this software under the terms of the GPL. Hope, it's useful to someone :).
I did my best to make it as much compliant to RFC #959 as possible, but I noticed that there are some clients around which misinterprete status commands and/or connect much too pushing. It still lacks many features, but I consider most of them as rather useless - but write access e.g. is completely missing, too.
The following commands are implemented:
USER, PASS, QUIT, SYST, PWD, XPWD, CWD, CDUP, PASV, TYPE, STRU, MODE, LIST, REST, RETR, NOOP
The supported modes are enough for "modern" win / *nix systems to talk to each other.
They are limited in the following way:
TYPE: I, A only
STRU: F only
MODE: S only
Still missing commands are:
ACCT, SMNT, REIN, PORT, STOR, STOU, APPE, ALLO, RNFR, RNTO, ABOR, DELE, RMD, MKD, NLST, SITE, STAT, HELP
Feedback is welcome! Jan Murawski, firstname.lastname@example.org