Martin's Server Suite
 

Yet Another FTP Server - README


Follow the instructions in this document carefully! Further help and instructions can be found in docs/index.htm (link will be opened in this window, use browser back button to get back to this document).

YAFS in its official release is bundled with Snug HTTP server in a package called Martin's Server Suite. Although YAFS and Snug HTTP server can be used independently, I really recommend reading through the instruction manual for Snug HTTP server. You can try this link to go to the readme-file for Snug HTTP server. Much of the information is intentionally left out because the two servers are very similair. I once again refer to the instruction manual for HTTP server.


YAFS 1.9.1 (Jan 4, 2009)

- The server now works with DHCP on AROS (automatic IP address detection).
- Icon added for AROS version (see YAFSAROS.info).


YAFS 1.9.0 (Sep 8, 2008)

- The program is now compiled with the daemon option. Run the program with parameter ? for more information.


YAFS 1.8.0 (Jul 13, 2008)

- EPRT and EPSV (replacements for FTP commands PORT and PASV, respectively) implemented according to RFC 2428.
- Parameter EnableDebug added to the configuration. See instruction manual for more information.
- Address=AUTO for IP address auto-detection now implemented for AROS, BeOS and so on.


YAFS 1.7.4 (Mar 24, 2008)

- Directory listings was returned empty in AROS version. YAFS binary for AROS recompiled. AROS related stuff updated.


YAFS 1.7.3 (Aug 26, 2007)

- A possible bug where conflicting data ports would block a client from establishing a data connection (not verified).
- It is now possible to add default commands (SYST, QUIT, USER, PASS, ABOR, NOOP, REST, PWD) using AddCommand without getting an error (for example AddCommand=SYST).

- Experimental user account administration tool for Win32. See manager.exe in the Win32 folder for more information.


YAFS 1.7.2 (Apr 21, 2007)

- Alternative behaviour for RNTO (ReName TO). Use RNTO_DELE to first delete the specified file if exist. This is usefull when a client relies on the server to overwrite existing file using RNTO.


YAFS 1.7.1 (Feb 19, 2007)

- YAFS don't crash on AROS when initialization failed.
- Fixed a bug that block files with '/' in its name. Bug introduced with the AROS port.
- Fixed a bug that closed stdout when terminating the server if LogDir=CONSOLE was specified.
- CTRL-C now terminates YAFS in AROS.
- IP address auto detection supported with Address=AUTO in AROS.


YAFS 1.7.0 (Feb 11, 2007)

- File log implemented (parameter -puke removed).
- CTRL-C now terminates YAFS.
- IP address auto detection supported with Address=AUTO.


YAFS 1.6.3 (Jan 26, 2007)

- A directory traversal bug was found in the Amiga Research Operating System version.


YAFS 1.6.2 (Jan 14, 2007)

- YAFS ported to Amiga Research Operating System.
- Minor changes, no fixes.


YAFS 1.6.1 (Jan 7, 2007)

- Binaries and configuration files including the accounts directory are now located in sub-directories to bin.
- Fixed malloc(strlen(tmpBuf+1)) to malloc(strlen(tmpBuf)+1) for RNFR and RNTO.


YAFS 1.6.0 (Aug 8, 2006)

- MDTM, SITE and SIZE commands implemented.
- Default configuration in yafs.ini changed to Address=127.0.0.1 instead of Address=AUTO.
- MDTM, SITE and SIZE are added to the Anonymous default command set.
- LIST added to the Anonymous users command set.
- YAFS ported to BeOS!


YAFS 1.5.3 (Aug 1, 2006)

- .. (by calling CDUP) and . (by setting CWD to /) supported as argument to CWD.
- SYST response changed to UNIX for all targets. UNIX (OS/2), UNIX (DOS) and so on.


YAFS 1.5.2 (Jul 29, 2006)

- All access calls replaced with stat_chk (defined in _stat.c) calls to fix some problems under OS/2.
- All stat calls replaced with stat_chk calls.
- Bad version number in version number in previous version fixed.
- Optional recursive removal of files and directories with RMD.
- Documentation updated.
- Deamon feature removed.


YAFS 1.5.1 (May 28, 2006)

- YAFS runs on OS/2 Warp 3 connect!
- Fixed a buffer overflow bug in ini.c.
- RNTO failed with '550 Server out of memory or file already exists.' when renameing a file to something and then renaming it back to the original name. This could also cause YAFS to crash. 'if( pReq->pRNTO != NULL ) { free(pReq->pRNTO); }' should be 'if( pReq->pRNTO != NULL ) { free(pReq->pRNTO); pReq->pRNTO = NULL; }'. pReq->pRNTO was not marked with NULL which caused a memory access violation.
- Documentation updated.


YAFS 1.5.0

- Bad sequence of commands response for REST removed.
- The server will send a fake (empty) directory listing in response to LIST if LIST is not supported (required for some unmentionable clients).
- If no argument is supplied with REST the server will assume REST 0.
- RNFR and RNTO commands supported (both absolute and relative paths accepted).
- Stub function added where stat() failed with trailing slash or backslash.
- Date/time added to the log.
- Much more checking for bad configuration added.
- YAFS ported to Windows for Workgroups 3.11.
- Optional bandwidth limit for the entire FTP server (see MaximumBandwidth and AllowFullBandwidth in docs/help.htm for more information).
- Check added if DataPort + MaxUsers > 65535.
- Timeout with value 0 can be used which will disable the timeout feature (not recommended).
- Check if server listening port conflicting with data ports.


YAFS 1.4.0

- Minor changes to make the server compile under Linux.
- Lot's of changes throughout the code to support active FTP using PORT.
- Password with zero length is accepted (to be used with anonymous logins).
- Default user account changed to anonymous type.
- PORT command supported (see docs/help.htm for more information).
- Parameter IPAddress changed to AllowIPAddress in account file.


YAFS 1.3.0

- YAFS is no longer BETA.
- The README-file goes html!
- Length of RootDirectory buffer increased from 64 to 256 character.
- Length of CurrentDir buffer increased from 256 to 512 character.
- Length of FTPArg buffer increased from 256 to 512 character.
- Command REST with argument 0 caused the server to respond with "550 Can't process REST without argument.". REST 0 is now supported.
- ABOR was added twice in the default set of allowed commands.
- SYST response updated (see docs/help.htm).
- ExternIP=AUTO sets ExternIP=Address (see docs/help.htm).
- Console log added (see docs/help.htm).
- Parameter -daemon supported (see docs/help.htm).


YAFS 1.2.6 BETA

- Valid data port range expanded to 0 to 65534.
- Extended error messages and default values added in case of configuration error.
- Documentation updated.


YAFS 1.2.5 BETA - An incompatibility bug fixed. Fixed value of p1 changed (227 =h1,h2,h3,h4,p1,p2).
- Valid data port range is > 1023 and < 65534.
- Documentation updated.


YAFS 1.2.4 BETA

- Unlimited disk quota (DiskQuota=0) did not work.


YAFS 1.2.3 BETA

- Disk quotas added (see docs/help.htm for more information).
- Bad information string if MaxUsers is invalid corrected.
- Underscore allowed in user names.
- REST and APPE commands implemented (for resuming interrupted transfers).
- Lot's of other things changed and added...


YAFS 1.2.2 BETA

- Fixed some problem with the LIST format (added 0 size for folders).


YAFS 1.2.1 BETA

- Fixed some problem with the LIST format.
- IP address auto detection now works for Microsoft Windows users.


YAFS 1.2.0 BETA

First public YAFS release.