README for ftpd 0.20 -------------------- Be sure to copy default-conf.h to conf.h and look through it before making; some settings may need to be changed to work on your system. Remember that changing some settings can cause DoS and security problems on some systems. If you have any questions or feedback, please email me: Michael Thorpe Version History --------------- 0.20 (2004-06-25): Made default-conf.h more conservative, renamed USE_PORT20, moved USE_PORT20_FOR_PASV into default-conf.h. 0.19 (2004-06-23): Removed derror() and fixed its callers, added abort argument to callback functions. 0.18 (2004-06-19): Completely reworked dstate handling. 0.17 (2004-05-14): Minor fixes to cio.c. 0.16 (2003-12-18): Added YYYYMMDDHHMMSS timestamp to logfile lines. 0.15 (2003-08-02): Fixed signed size_t comparison in writeall(), closed data connection on QUIT, various minor FIXMEs. 0.14 (2002-12-27): Removed extraneous #include of ctype.h in cmd.h. 0.13 (2002-12-12): Fixed small bug in cwrite where an unexpected return value would cause a message to be dropped without being sent. 0.12 (2002-10-20): Minor changes so it compiles on Mac OS X, and added a workaround for systems without a sane timeout. 0.11 (2002-05-02): Fixed status code argument to dclose in file.c. 0.10 (2002-04-02): Escaped non-printable and end-of-line characters from showing up in the logfile. 0.9 (2002-03-31): Cleaned up some compiler warnings on other boxes. 0.8 (2002-03-07): Fixed stupid I-won't-reopen-the-logfile-unless-it-wasn't- open-before bug, put in a "Reopening logfile" message, and made a cosmetic fix to main.c. ABOR and other simultaneous commands still aren't done, even though I said they'd be done by 0.6. 0.7 (2002-02-10): Sending ftpd SIGINT or SIGTERM closes all listeners, which allows for clean shutdowns in the child-per-client case. 0.6 (2002-01-06): Added signal(3) call in reopenlog() for systems that have one-shot signal semantics by default. 0.5 (2001-05-10): Changed LIST to show year instead of time for dates more than 180 days ago. Also changed getspent to setspent, which should not have ever led to incorrect behavior. 0.4 (2001-04-10): Preliminary support for ABOR and other simultaneous commands, but that won't be done until 0.6. This version is designed to better comply with RFC 1123, which also states that it is no longer REQUIRED for non-record-based hosts to implement record structure. 0.3 (2001-03-09): Sending a HUP signal causes the server to reopen the logfile if necessary. Record-structure support still missing. 0.2 (2000-12-23): Implemented single-threaded mode, and fixed a serious bug in the newconn and log* functions. Note that this version still doesn't have record-structure support. 0.1 (2000-12-14): This is now ready for general use; only simple and non-anonymous operation is supported right now. There's no ABOR or other "nice to have" functions, but it should do the most common things. Note that without record-structure support it's not strictly RFC959-compliant. Notice ------ Since most people have lost all touch with reality when it comes to software, I thought I'd make the following point clear: All of this software is in the public domain. In other words, there is no license or copyright on any of this software, so you can do whatever you want with it.