YAFS By Martin Hansson

Follow the instructions in this document carefully! Further help and instructions can be found in docs/help.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.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.